Test for transfer ownership with incoming shares

Signed-off-by: Vincent Petry <vincent@nextcloud.com>
This commit is contained in:
Vincent Petry 2021-08-27 17:56:16 +02:00
parent 1f42657bb9
commit 5b664e02d8
No known key found for this signature in database
GPG key ID: E055D6A4D513575C
2 changed files with 43 additions and 2 deletions

View file

@ -97,7 +97,7 @@ class CommandLineContext implements \Behat\Behat\Context\Context {
}
/**
* @When /^transferring ownership from "([^"]+)" to "([^"]+)"/
* @When /^transferring ownership from "([^"]+)" to "([^"]+)"$/
*/
public function transferringOwnership($user1, $user2) {
if ($this->runOcc(['files:transfer-ownership', $user1, $user2]) === 0) {
@ -109,7 +109,7 @@ class CommandLineContext implements \Behat\Behat\Context\Context {
}
/**
* @When /^transferring ownership of path "([^"]+)" from "([^"]+)" to "([^"]+)"/
* @When /^transferring ownership of path "([^"]+)" from "([^"]+)" to "([^"]+)"$/
*/
public function transferringOwnershipPath($path, $user1, $user2) {
$path = '--path=' . $path;
@ -121,6 +121,18 @@ class CommandLineContext implements \Behat\Behat\Context\Context {
}
}
/**
* @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$/

View file

@ -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