owncloud / ocis

:atom_symbol: ownCloud Infinite Scale Stack
https://doc.owncloud.com/ocis/next/
Apache License 2.0
1.38k stars 181 forks source link

API Test cases for MOVE between `project`/`personal`/`shares` spaces #8121

Open saw-jan opened 9 months ago

saw-jan commented 9 months ago

Continued and extended form of https://github.com/owncloud/ocis/issues/4087

Updated: There will be change in statuscode expectation. See https://github.com/owncloud/ocis/issues/8063#issuecomment-1883281975

We should treat a "Cross-Storage" MOVE in ocis like a cross-server move in the RFC like ...when the destination is on another sub-section of the same server namespace. This has the implication that we need to roll back the changes and respond with a 502 Status code like described in the RFC:

MOVE

1. Using file path (Updated)

Test cases from from (role) to to (role) expected result
project manager/editor project(same) 201 201 :+1:
project viewer project(same) 403 403 :+1:
project manager/editor project manager/editor 502 502 :+1:
project manager/editor project viewer 502 403 :+1: (https://github.com/owncloud/ocis/issues/8315#issuecomment-2265970421)
project viewer project manager/editor/viewer 502 403 :+1: (https://github.com/owncloud/ocis/issues/8315#issuecomment-2265970421)
project manager/editor personal   502 502 :+1:
project viewer personal   502 403 :+1: (https://github.com/owncloud/ocis/issues/8315#issuecomment-2265970421)
project manager/editor/viewer share jail all/editor/viewer 502 502 :+1:
personal   personal(same) 201 201 :+1:
personal   personal(subfolder) 201 201 :+1:
personal   project manager/editor 502 502 :+1:
personal   project viewer 502 403 :+1: (https://github.com/owncloud/ocis/issues/8315#issuecomment-2265970421)
personal   share jail all/editor/viewer 502 502 :+1:
share jail all/editor/viewer personal   502 502 :+1:
share jail all/editor/viewer project manager/editor/viewer 502 502 :+1:
share jail all/editor/viewer share jail all/editor/viewer 502 502 :+1:
share jail all/editor share jail(same) 201 201 :+1:
share jail viewer share jail(same) 403 403 :+1: (https://github.com/owncloud/ocis/issues/8315#issuecomment-2265970421)

Bug Reports

2. Using file id (Updated)

Test Cases from from (role) to to (role) expected result
project manager/editor project(same) 201 201 :+1:
project viewer project(same) 403 403 :+1: (https://github.com/owncloud/ocis/issues/8315#issuecomment-2265970421)
project manager/editor project manager/editor 502 502 :+1:
project manager/editor project viewer 502 403 :+1: (https://github.com/owncloud/ocis/issues/8315#issuecomment-2265970421)
project viewer project manager/editor/viewer 502 403 :+1: (https://github.com/owncloud/ocis/issues/8315#issuecomment-2265970421)
project manager/editor personal   502 502 :+1:
project viewer personal   502 403 :+1: (https://github.com/owncloud/ocis/issues/8315#issuecomment-2265970421)
project manager/editor/viewer share jail all/editor/viewer 502 502 :+1:
personal   personal(same) 201 201 :+1:
personal   personal(subfolder) 201 201 :+1:
personal   project manager/editor 502 502 :+1:
personal   project viewer 502 403 :+1: (https://github.com/owncloud/ocis/issues/8315#issuecomment-2265970421)
personal   share jail all/editor/viewer 502 502 :+1:
share jail all/editor share jail(same) 201 403 :x:
share jail viewer share jail(same) 403 403 :+1:
share jail all/editor personal   502 502 :+1:
share jail viewer personal   502 403 :+1: (https://github.com/owncloud/ocis/issues/8315#issuecomment-2265970421)
share jail all/editor/viewer share jail all/editor/viewer 502 502 :+1:
share jail all/editor project manager/editor 502 502 :+1:
share jail all/editor project viewer 502 403 :+1: (https://github.com/owncloud/ocis/issues/8315#issuecomment-2265970421)
share jail viewer project manager/editor/viewer 502 403 :+1: (https://github.com/owncloud/ocis/issues/8315#issuecomment-2265970421)

Bug Reports

Edge cases:

saw-jan commented 9 months ago

There will be change in statuscode expectation.

See https://github.com/owncloud/ocis/issues/8063#issuecomment-1883281975

We should treat a "Cross-Storage" MOVE in ocis like a cross-server move in the RFC like ...when the destination is on another sub-section of the same server namespace. This has the implication that we need to roll back the changes and respond with a 502 Status code like described in the RFC:

saw-jan commented 8 months ago

Fixes: