Skip to content

Commit

Permalink
Test for transfer ownership with incoming shares
Browse files Browse the repository at this point in the history
Signed-off-by: Vincent Petry <vincent@nextcloud.com>
  • Loading branch information
PVince81 committed Sep 15, 2021
1 parent 249582a commit 42239fc
Show file tree
Hide file tree
Showing 2 changed files with 43 additions and 2 deletions.
16 changes: 14 additions & 2 deletions build/integration/features/bootstrap/CommandLineContext.php
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ private function findLastTransferFolderForUser($sourceUser, $targetUser) {
}

/**
* @When /^transferring ownership from "([^"]+)" to "([^"]+)"/
* @When /^transferring ownership from "([^"]+)" to "([^"]+)"$/
*/
public function transferringOwnership($user1, $user2) {
if ($this->runOcc(['files:transfer-ownership', $user1, $user2]) === 0) {
Expand All @@ -109,7 +109,7 @@ public function transferringOwnership($user1, $user2) {
}

/**
* @When /^transferring ownership of path "([^"]+)" from "([^"]+)" to "([^"]+)"/
* @When /^transferring ownership of path "([^"]+)" from "([^"]+)" to "([^"]+)"$/
*/
public function transferringOwnershipPath($path, $user1, $user2) {
$path = '--path=' . $path;
Expand All @@ -121,6 +121,18 @@ public function transferringOwnershipPath($path, $user1, $user2) {
}
}

/**
* @When /^transferring ownership of path "([^"]+)" from "([^"]+)" to "([^"]+)" with received shares$/
*/
public function transferringOwnershipPathWithIncomingShares($path, $user1, $user2) {
$path = '--path=' . $path;
if ($this->runOcc(['files:transfer-ownership', $path, $user1, $user2, '--transfer-incoming-shares=1']) === 0) {
$this->lastTransferPath = $this->findLastTransferFolderForUser($user1, $user2);
} else {
// failure
$this->lastTransferPath = null;
}
}

/**
* @When /^using received transfer folder of "([^"]+)" as dav path$/
Expand Down
29 changes: 29 additions & 0 deletions build/integration/features/transfer-ownership.feature
Original file line number Diff line number Diff line change
Expand Up @@ -533,6 +533,35 @@ Feature: transfer-ownership
And Getting info of last share
And the OCS status code should be "404"

Scenario: transferring ownership transfers received shares into subdir when requested
Given user "user0" exists
And user "user1" exists
And user "user2" exists
And User "user2" created a folder "/transfer-share"
And User "user2" created a folder "/do-not-transfer"
And User "user0" created a folder "/sub"
And folder "/transfer-share" of user "user2" is shared with user "user0" with permissions 31
And user "user0" accepts last share
And User "user0" moved folder "/transfer-share" to "/sub/transfer-share"
And folder "/do-not-transfer" of user "user2" is shared with user "user0" with permissions 31
And user "user0" accepts last share
When transferring ownership of path "sub" from "user0" to "user1" with received shares
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" exists
And as "user1" the folder "/do-not-transfer" does not exist
And as "user1" the folder "/sub/do-not-transfer" does not exist
And as "user1" the folder "/sub/transfer-share" exists
And using old dav path
And as "user1" the folder "/transfer-share" does not exist
And as "user1" the folder "/do-not-transfer" does not exist
And using old dav path
And as "user0" the folder "/sub" does not exist
And as "user0" the folder "/do-not-transfer" exists
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
And user "user1" exists
Expand Down

0 comments on commit 42239fc

Please sign in to comment.