diff --git a/.drone.star b/.drone.star index 779746d9f..efd81f54b 100644 --- a/.drone.star +++ b/.drone.star @@ -110,6 +110,7 @@ config = { "apiCors", "apiAsyncUpload", "apiDownloads", + "apiReshare", ], "skip": False, }, diff --git a/tests/acceptance/config/behat.yml b/tests/acceptance/config/behat.yml index c797fd44f..e1557b8f4 100644 --- a/tests/acceptance/config/behat.yml +++ b/tests/acceptance/config/behat.yml @@ -211,6 +211,14 @@ default: - OCSContext: - TrashbinContext: + apiReshare: + paths: + - '%paths.base%/../features/apiReshare' + context: *common_ldap_suite_context + contexts: + - FeatureContext: *common_feature_context_params + - OcisConfigContext: + extensions: rdx\behatvars\BehatVariablesExtension: ~ diff --git a/tests/acceptance/features/apiReshare/disableReshare.feature b/tests/acceptance/features/apiReshare/disableReshare.feature new file mode 100644 index 000000000..c0e35e86f --- /dev/null +++ b/tests/acceptance/features/apiReshare/disableReshare.feature @@ -0,0 +1,58 @@ +@api @env-config +Feature: share by disabling re-share + As a user + I want to share resources + So that other users can have access to them but cannot re-share them + + Background: + Given the config "FRONTEND_ENABLE_RESHARING" has been set to "false" + And these users have been created with default attributes and without skeleton files: + | username | + | Alice | + | Brian | + And user "Alice" has created folder "test" + + + Scenario Outline: share folder with different roles + Given using DAV path + When user "Alice" creates a share inside of space "Personal" with settings: + | path | test | + | shareWith | Brian | + | role | | + Then the HTTP status code should be "200" + And the OCS status code should be "200" + And the fields of the last response to user "Alice" sharing with user "Brian" should include + | permissions | | + Examples: + | dav-path-version | role | expectedPermissions | + | old | editor | 15 | + | old | viewer | 1 | + | new | editor | 15 | + | new | viewer | 1 | + | spaces | editor | 15 | + | spaces | viewer | 1 | + + + Scenario Outline: try to re-share folder + Given using DAV path + And user "Carol" has been created with default attributes and without skeleton files + And user "Alice" has created a share inside of space "Personal" with settings: + | path | test | + | shareWith | Brian | + | role | | + And user "Brian" has accepted share "/test" offered by user "Alice" + When user "Brian" creates a share inside of space "Shares" with settings: + | path | test | + | shareWith | Carol | + | role | | + Then the HTTP status code should be "403" + And the OCS status code should be "403" + And the OCS status message should be "No share permission" + Examples: + | dav-path-version | role | + | old | editor | + | old | viewer | + | new | editor | + | new | viewer | + | spaces | editor | + | spaces | viewer |