summaryrefslogtreecommitdiffstats
path: root/build/integration/features/transfer-ownership.feature
diff options
context:
space:
mode:
authorDaniel Calviño Sánchez <danxuliu@gmail.com>2020-09-10 04:28:57 +0200
committerJulius Härtl <jus@bitgrid.net>2020-09-17 19:01:49 +0200
commitb6b83d650678644897f8bc769e0d03b928428540 (patch)
tree15916a60efc5655f4bf746c88e776b6eb19e4a28 /build/integration/features/transfer-ownership.feature
parent8d87b99fbad0a360d8dc46efca31e2f3ef6695fe (diff)
downloadnextcloud-server-b6b83d650678644897f8bc769e0d03b928428540.tar.gz
nextcloud-server-b6b83d650678644897f8bc769e0d03b928428540.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/features/transfer-ownership.feature')
-rw-r--r--build/integration/features/transfer-ownership.feature100
1 files changed, 100 insertions, 0 deletions
diff --git a/build/integration/features/transfer-ownership.feature b/build/integration/features/transfer-ownership.feature
index 7a1709c6be3..c6b13fc9dc8 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: transfering 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 transfering 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: transfering 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 transfering 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: transfering 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 transfering 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: transfering 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: transfering 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 transfering 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: transfering ownership does not transfer received shares
Given user "user0" exists
And user "user1" exists