diff options
author | Daniel Calviño Sánchez <danxuliu@gmail.com> | 2020-09-10 04:28:57 +0200 |
---|---|---|
committer | Daniel Calviño Sánchez <danxuliu@gmail.com> | 2020-09-10 04:34:33 +0200 |
commit | 58d57b35ea5c592b84e6d4f0b6e23d482b5a6579 (patch) | |
tree | 9dfc7e0f2e247bc2b4fbd8c63dc4068c55d3c9f7 /build/integration | |
parent | 0ce8096839d919bdecbcdb09157d5647895fdc05 (diff) | |
download | nextcloud-server-58d57b35ea5c592b84e6d4f0b6e23d482b5a6579.tar.gz nextcloud-server-58d57b35ea5c592b84e6d4f0b6e23d482b5a6579.zip |
Add integration tests for transferring ownership of reshares
Currently only transferring ownership of a reshare with a group to a
user in the group is possible.
When transferring ownership of a reshare with another user or with a
group to a user not in the group restoring the share fails (but the
command succeeds, it only fails for the specific files that are
reshares).
When transferring ownership of a path that is a reshare the command
fails (as when a specific path is provided the path tries to move the
file, it does not take into account reshares).
The added integration tests reflect the above behaviours.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
Diffstat (limited to 'build/integration')
-rw-r--r-- | build/integration/features/transfer-ownership.feature | 100 |
1 files changed, 100 insertions, 0 deletions
diff --git a/build/integration/features/transfer-ownership.feature b/build/integration/features/transfer-ownership.feature index 31f29298a4f..76e55af89a7 100644 --- a/build/integration/features/transfer-ownership.feature +++ b/build/integration/features/transfer-ownership.feature @@ -149,6 +149,91 @@ Feature: transfer-ownership | uid_file_owner | test | | share_with | test | + Scenario: transferring ownership of folder reshared with another user + Given user "user0" exists + And user "user1" exists + And user "user2" exists + And user "user3" exists + And User "user3" created a folder "/test" + And User "user3" uploads file "data/textfile.txt" to "/test/somefile.txt" + And folder "/test" of user "user3" is shared with user "user0" with permissions 31 + And user "user0" accepts last share + And folder "/test" of user "user0" is shared with user "user2" with permissions 31 + And user "user2" accepts last share + When transferring ownership from "user0" to "user1" + And the command was successful + And As an "user2" + Then Downloaded content when downloading file "/test/somefile.txt" with range "bytes=0-6" should be "This is" + And using old dav path + And as "user0" the folder "/test" exists + And using received transfer folder of "user1" as dav path + And as "user1" the folder "/test" does not exist + And As an "user0" + And Getting info of last share + And the OCS status code should be "100" + And Share fields of last share match with + | uid_owner | user0 | + | uid_file_owner | user3 | + | share_with | user2 | + + Scenario: transferring ownership of folder reshared with group to a user in the group + Given user "user0" exists + And user "user1" exists + And user "user2" exists + And user "user3" exists + And group "group1" exists + And user "user1" belongs to group "group1" + And User "user3" created a folder "/test" + And User "user3" uploads file "data/textfile.txt" to "/test/somefile.txt" + And folder "/test" of user "user3" is shared with user "user0" with permissions 31 + And user "user0" accepts last share + And folder "/test" of user "user0" is shared with group "group1" with permissions 31 + And user "user1" accepts last share + When transferring ownership from "user0" to "user1" + And the command was successful + And As an "user1" + Then Downloaded content when downloading file "/test/somefile.txt" with range "bytes=0-6" should be "This is" + And using old dav path + And as "user0" the folder "/test" exists + And using received transfer folder of "user1" as dav path + And as "user1" the folder "/test" does not exist + And As an "user1" + And Getting info of last share + And the OCS status code should be "100" + And Share fields of last share match with + | uid_owner | user1 | + | uid_file_owner | user3 | + | share_with | group1 | + + Scenario: transferring ownership of folder reshared with group to a user not in the group + Given user "user0" exists + And user "user1" exists + And user "user2" exists + And user "user3" exists + And group "group1" exists + And user "user2" belongs to group "group1" + And User "user3" created a folder "/test" + And User "user3" uploads file "data/textfile.txt" to "/test/somefile.txt" + And folder "/test" of user "user3" is shared with user "user0" with permissions 31 + And user "user0" accepts last share + And folder "/test" of user "user0" is shared with group "group1" with permissions 31 + And user "user2" accepts last share + When transferring ownership from "user0" to "user1" + And the command was successful + And As an "user2" + Then Downloaded content when downloading file "/test/somefile.txt" with range "bytes=0-6" should be "This is" + And using old dav path + And as "user0" the folder "/test" exists + And using received transfer folder of "user1" as dav path + And as "user1" the folder "/test" does not exist + And As an "user0" + And Getting info of last share + And the OCS status code should be "100" + And Share fields of last share match with + | uid_owner | user0 | + | uid_file_owner | user3 | + | share_with | group1 | + Scenario: transferring ownership does not transfer received shares Given user "user0" exists And user "user1" exists @@ -316,6 +401,21 @@ Feature: transfer-ownership | uid_file_owner | user1 | | share_with | user2 | + Scenario: transferring ownership of path fails for reshares + Given user "user0" exists + And user "user1" exists + And user "user2" exists + And user "user3" exists + And User "user3" created a folder "/test" + And User "user3" uploads file "data/textfile.txt" to "/test/somefile.txt" + And folder "/test" of user "user3" is shared with user "user0" with permissions 31 + And user "user0" accepts last share + And folder "/test" of user "user0" is shared with user "user2" with permissions 31 + And user "user2" accepts last share + When transferring ownership of path "test" from "user0" to "user1" + Then the command failed with exit code 1 + And the command error output contains the text "Could not transfer files." + Scenario: transferring ownership does not transfer received shares Given user "user0" exists And user "user1" exists |