]> source.dussan.org Git - nextcloud-server.git/commitdiff
Add integration tests to check that only the given path is transferred 22948/head
authorDaniel Calviño Sánchez <danxuliu@gmail.com>
Fri, 18 Sep 2020 16:35:06 +0000 (18:35 +0200)
committerDaniel Calviño Sánchez <danxuliu@gmail.com>
Fri, 18 Sep 2020 16:35:06 +0000 (18:35 +0200)
Until recently (it was fixed in ac2999a26a) when a path was transferred
other shares with the target user were removed, so a test was added to
ensure that it does not happen again.

Besides that a test to ensure that other files with the target user are
not transferred was added too (it did not fail before, but seemed
convenient to have that covered too :-) ).

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
build/integration/features/transfer-ownership.feature

index 46aeabb3aa7794d5fde95ca12598e75f0c431eac..d8dd4d5c09d47e5d7e70035224be37fdcda863fe 100644 (file)
@@ -351,6 +351,57 @@ Feature: transfer-ownership
                And using received transfer folder of "user1" as dav path
                And as "user1" the folder "/test" exists
 
+       Scenario: transferring ownership of path does not affect other files
+               Given user "user0" exists
+               And user "user1" exists
+               And User "user0" created a folder "/test"
+               And User "user0" uploads file "data/textfile.txt" to "/test/somefile.txt"
+               And User "user0" created a folder "/test2"
+               And User "user0" uploads file "data/textfile.txt" to "/test2/somefile.txt"
+               When transferring ownership of path "test" from "user0" to "user1"
+               And the command was successful
+               And As an "user1"
+               And using received transfer folder of "user1" as dav path
+               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" does not exist
+               And as "user0" the folder "/test2" exists
+               And as "user0" the file "/test2/somefile.txt" exists
+               And using received transfer folder of "user1" as dav path
+               And as "user1" the folder "/test" exists
+               And as "user1" the folder "/test2" does not exist
+
+       Scenario: transferring ownership of path does not affect other shares
+               Given user "user0" exists
+               And user "user1" exists
+               And User "user0" created a folder "/test"
+               And User "user0" uploads file "data/textfile.txt" to "/test/somefile.txt"
+               And User "user0" created a folder "/test2"
+               And User "user0" uploads file "data/textfile.txt" to "/test2/sharedfile.txt"
+               And file "/test2/sharedfile.txt" of user "user0" is shared with user "user1" with permissions 19
+               And user "user1" accepts last share
+               When transferring ownership of path "test" from "user0" to "user1"
+               And the command was successful
+               And As an "user1"
+               And using received transfer folder of "user1" as dav path
+               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" does not exist
+               And as "user0" the folder "/test2" exists
+               And as "user0" the file "/test2/sharedfile.txt" exists
+               And using received transfer folder of "user1" as dav path
+               And as "user1" the folder "/test" exists
+               And as "user1" the folder "/test2" does not exist
+               And using old dav path
+               And as "user1" the file "/sharedfile.txt" exists
+               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 | user0 |
+                       | uid_file_owner | user0 |
+                       | share_with | user1 |
+
        Scenario: transferring ownership of file shares
                Given user "user0" exists
                And user "user1" exists