summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMorris Jobke <hey@morrisjobke.de>2020-09-14 17:50:53 +0200
committerGitHub <noreply@github.com>2020-09-14 17:50:53 +0200
commit1c9a898875ca571d844b46b94237e4ca2e6996d6 (patch)
treed073bc00dc9c23cfe7aea59e568a0ae9f999a338
parentb5289395753cc9324cffa3b3a631a0e64adaeb86 (diff)
parent58d57b35ea5c592b84e6d4f0b6e23d482b5a6579 (diff)
downloadnextcloud-server-1c9a898875ca571d844b46b94237e4ca2e6996d6.tar.gz
nextcloud-server-1c9a898875ca571d844b46b94237e4ca2e6996d6.zip
Merge pull request #22761 from nextcloud/extend-integration-tests-for-files-transfer-ownership-command
Extend integration tests for "files:transfer-ownership" command
-rw-r--r--build/integration/features/transfer-ownership.feature217
1 files changed, 216 insertions, 1 deletions
diff --git a/build/integration/features/transfer-ownership.feature b/build/integration/features/transfer-ownership.feature
index 70022483d48..76e55af89a7 100644
--- a/build/integration/features/transfer-ownership.feature
+++ b/build/integration/features/transfer-ownership.feature
@@ -9,6 +9,10 @@ Feature: transfer-ownership
And As an "user1"
And using received transfer folder of "user1" as dav path
Then Downloaded content when downloading file "/somefile.txt" with range "bytes=0-6" should be "This is"
+ And using old dav path
+ And as "user0" the file "/somefile.txt" does not exist
+ And using received transfer folder of "user1" as dav path
+ And as "user1" the file "/somefile.txt" exists
Scenario: transferring ownership of a folder
Given user "user0" exists
@@ -20,6 +24,10 @@ Feature: transfer-ownership
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 using received transfer folder of "user1" as dav path
+ And as "user1" the folder "/test" exists
Scenario: transferring ownership of file shares
Given user "user0" exists
@@ -32,6 +40,17 @@ Feature: transfer-ownership
And the command was successful
And As an "user2"
Then Downloaded content when downloading file "/somefile.txt" with range "bytes=0-6" should be "This is"
+ And using old dav path
+ And as "user0" the file "/somefile.txt" does not exist
+ And using received transfer folder of "user1" as dav path
+ And as "user1" the file "/somefile.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 | user1 |
+ | uid_file_owner | user1 |
+ | share_with | user2 |
Scenario: transferring ownership of folder shared with third user
Given user "user0" exists
@@ -45,6 +64,17 @@ Feature: transfer-ownership
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" does not exist
+ And using received transfer folder of "user1" as dav path
+ And as "user1" the folder "/test" 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 | user1 |
+ | uid_file_owner | user1 |
+ | share_with | user2 |
Scenario: transferring ownership of folder shared with transfer recipient
Given user "user0" exists
@@ -59,6 +89,12 @@ Feature: transfer-ownership
Then as "user1" the folder "/test" does not exist
And using received transfer folder of "user1" as dav path
And 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 using received transfer folder of "user1" as dav path
+ And as "user1" the folder "/test" exists
+ And Getting info of last share
+ And the OCS status code should be "404"
Scenario: transferring ownership of folder doubly shared with third user
Given group "group1" exists
@@ -76,6 +112,17 @@ Feature: transfer-ownership
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" does not exist
+ And using received transfer folder of "user1" as dav path
+ And as "user1" the folder "/test" 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 | user1 |
+ | uid_file_owner | user1 |
+ | share_with | user2 |
Scenario: transferring ownership of file shares to user with the same id as the group
Given user "user0" exists
@@ -90,6 +137,102 @@ Feature: transfer-ownership
And the command was successful
And As an "user2"
Then Downloaded content when downloading file "/somefile.txt" with range "bytes=0-6" should be "This is"
+ And using old dav path
+ And as "user0" the file "/somefile.txt" does not exist
+ And using received transfer folder of "user1" as dav path
+ And as "test" the file "/somefile.txt" exists
+ And As an "test"
+ And Getting info of last share
+ And the OCS status code should be "100"
+ And Share fields of last share match with
+ | uid_owner | test |
+ | 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
@@ -103,6 +246,15 @@ Feature: transfer-ownership
And As an "user1"
And using received transfer folder of "user1" as dav path
Then as "user1" the folder "/test" does not exist
+ And using old dav path
+ And as "user0" the folder "/test" exists
+ And As an "user2"
+ And Getting info of last share
+ And the OCS status code should be "100"
+ And Share fields of last share match with
+ | uid_owner | user2 |
+ | uid_file_owner | user2 |
+ | share_with | user0 |
@local_storage
Scenario: transferring ownership does not transfer external storage
@@ -148,6 +300,10 @@ Feature: transfer-ownership
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 using received transfer folder of "user1" as dav path
+ And as "user1" the folder "/test" exists
Scenario: transferring ownership of file shares
Given user "user0" exists
@@ -161,6 +317,17 @@ Feature: transfer-ownership
And the command was successful
And As an "user2"
Then Downloaded content when downloading file "/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 using received transfer folder of "user1" as dav path
+ And as "user1" the folder "/test" 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 | user1 |
+ | uid_file_owner | user1 |
+ | share_with | user2 |
Scenario: transferring ownership of folder shared with third user
Given user "user0" exists
@@ -174,6 +341,17 @@ Feature: transfer-ownership
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" does not exist
+ And using received transfer folder of "user1" as dav path
+ And as "user1" the folder "/test" 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 | user1 |
+ | uid_file_owner | user1 |
+ | share_with | user2 |
Scenario: transferring ownership of folder shared with transfer recipient
Given user "user0" exists
@@ -188,6 +366,12 @@ Feature: transfer-ownership
Then as "user1" the folder "/test" does not exist
And using received transfer folder of "user1" as dav path
And 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 using received transfer folder of "user1" as dav path
+ And as "user1" the folder "/test" exists
+ And Getting info of last share
+ And the OCS status code should be "404"
Scenario: transferring ownership of folder doubly shared with third user
Given group "group1" exists
@@ -205,6 +389,32 @@ Feature: transfer-ownership
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" does not exist
+ And using received transfer folder of "user1" as dav path
+ And as "user1" the folder "/test" 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 | user1 |
+ | 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
@@ -219,7 +429,12 @@ Feature: transfer-ownership
And the command was successful
And As an "user1"
And using received transfer folder of "user1" as dav path
- Then as "user1" the folder "/sub/test" does not exist
+ Then as "user1" the folder "/sub" exists
+ And as "user1" the folder "/sub/test" does not exist
+ And using old dav path
+ And as "user0" the folder "/sub" does not exist
+ And Getting info of last share
+ And the OCS status code should be "404"
Scenario: transferring ownership does not transfer external storage
Given user "user0" exists