Commit 58277310 authored by Vincent Petry's avatar Vincent Petry Committed by GitHub
Browse files

Merge pull request #26235 from owncloud/integration-tests-refactoring

Integration tests refactoring
parents d009e6d6 d052fbc8
......@@ -12,6 +12,8 @@ trait WebDav {
/** @var string*/
private $davPath = "remote.php/webdav";
/** @var boolean*/
private $usingOldDavPath = true;
/** @var ResponseInterface */
private $response;
......@@ -22,18 +24,36 @@ trait WebDav {
$this->davPath = $davPath;
}
public function getFilesPath($user){
$basePath = '';
if ($this->davPath === "remote.php/dav"){
$basePath = '/files/' . $user . '/';
/**
* @Given /^using old dav path$/
*/
public function usingOldDavPath() {
$this->davPath = "remote.php/webdav";
$this->usingOldDavPath = true;
}
/**
* @Given /^using new dav path$/
*/
public function usingNewDavPath() {
$this->davPath = "remote.php/dav";
$this->usingOldDavPath = false;
}
public function getDavFilesPath($user){
if ($this->usingOldDavPath === true){
return $this->davPath;
} else {
$basePath = '/';
return $this->davPath . '/files/' . $user;
}
return $basePath;
}
public function makeDavRequest($user, $method, $path, $headers, $body = null){
$fullUrl = substr($this->baseUrl, 0, -4) . $this->davPath . "$path";
public function makeDavRequest($user, $method, $path, $headers, $body = null, $type = "files"){
if ( $type === "files" ){
$fullUrl = substr($this->baseUrl, 0, -4) . $this->getDavFilesPath($user) . "$path";
} else if ( $type === "uploads" ){
$fullUrl = substr($this->baseUrl, 0, -4) . $this->davPath . "$path";
}
$client = new GClient();
$options = [];
if ($user === 'admin') {
......@@ -62,7 +82,7 @@ trait WebDav {
* @param string $fileDestination
*/
public function userMovedFile($user, $entry, $fileSource, $fileDestination){
$fullUrl = substr($this->baseUrl, 0, -4) . $this->davPath;
$fullUrl = substr($this->baseUrl, 0, -4) . $this->getDavFilesPath($user);
$headers['Destination'] = $fullUrl . $fileDestination;
$this->response = $this->makeDavRequest($user, "MOVE", $fileSource, $headers);
PHPUnit_Framework_Assert::assertEquals(201, $this->response->getStatusCode());
......@@ -75,7 +95,7 @@ trait WebDav {
* @param string $fileDestination
*/
public function userMovesFile($user, $entry, $fileSource, $fileDestination){
$fullUrl = substr($this->baseUrl, 0, -4) . $this->davPath;
$fullUrl = substr($this->baseUrl, 0, -4) . $this->getDavFilesPath($user);
$headers['Destination'] = $fullUrl . $fileDestination;
try {
$this->response = $this->makeDavRequest($user, "MOVE", $fileSource, $headers);
......@@ -91,7 +111,7 @@ trait WebDav {
* @param string $fileDestination
*/
public function userCopiesFile($user, $fileSource, $fileDestination){
$fullUrl = substr($this->baseUrl, 0, -4) . $this->davPath;
$fullUrl = substr($this->baseUrl, 0, -4) . $this->getDavFilesPath($user);
$headers['Destination'] = $fullUrl . $fileDestination;
try {
$this->response = $this->makeDavRequest($user, "COPY", $fileSource, $headers);
......@@ -220,12 +240,12 @@ trait WebDav {
}
/**
* @Then /^as "([^"]*)" gets properties of folder "([^"]*)" with$/
* @Then /^as "([^"]*)" gets properties of (file|folder|entry) "([^"]*)" with$/
* @param string $user
* @param string $path
* @param \Behat\Gherkin\Node\TableNode|null $propertiesTable
*/
public function asGetsPropertiesOfFolderWith($user, $path, $propertiesTable) {
public function asGetsPropertiesOfFolderWith($user, $elementType, $path, $propertiesTable) {
$properties = null;
if ($propertiesTable instanceof \Behat\Gherkin\Node\TableNode) {
foreach ($propertiesTable->getRows() as $row) {
......@@ -344,7 +364,7 @@ trait WebDav {
}
public function makeSabrePath($user, $path) {
return $this->encodePath($this->davPath . $this->getFilesPath($user) . ltrim($path, '/'));
return $this->encodePath($this->getDavFilesPath($user) . $path);
}
public function getSabreClient($user) {
......@@ -375,7 +395,7 @@ trait WebDav {
$elementRows = $expectedElements->getRows();
$elementsSimplified = $this->simplifyArray($elementRows);
foreach($elementsSimplified as $expectedElement) {
$webdavPath = "/" . $this->davPath . $expectedElement;
$webdavPath = "/" . $this->getDavFilesPath($user) . $expectedElement;
if (!array_key_exists($webdavPath,$elementList)){
PHPUnit_Framework_Assert::fail("$webdavPath" . " is not in propfind answer");
}
......@@ -451,7 +471,7 @@ trait WebDav {
*/
public function userCreatedAFolder($user, $destination){
try {
$this->response = $this->makeDavRequest($user, "MKCOL", $this->getFilesPath($user) . ltrim($destination, $this->getFilesPath($user)), []);
$this->response = $this->makeDavRequest($user, "MKCOL", $destination, []);
} catch (\GuzzleHttp\Exception\ServerException $e) {
// 4xx and 5xx responses cause an exception
$this->response = $e->getResponse();
......@@ -470,8 +490,8 @@ trait WebDav {
{
$num -= 1;
$data = \GuzzleHttp\Stream\Stream::factory($data);
$file = $destination . '-chunking-42-'.$total.'-'.$num;
$this->makeDavRequest($user, 'PUT', $file, ['OC-Chunked' => '1'], $data);
$file = $destination . '-chunking-42-' . $total . '-' . $num;
$this->makeDavRequest($user, 'PUT', $file, ['OC-Chunked' => '1'], $data, "uploads");
}
/**
......@@ -480,7 +500,7 @@ trait WebDav {
public function userCreatesANewChunkingUploadWithId($user, $id)
{
$destination = '/uploads/'.$user.'/'.$id;
$this->makeDavRequest($user, 'MKCOL', $destination, []);
$this->makeDavRequest($user, 'MKCOL', $destination, [], null, "uploads");
}
/**
......@@ -489,8 +509,8 @@ trait WebDav {
public function userUploadsNewChunkFileOfWithToId($user, $num, $data, $id)
{
$data = \GuzzleHttp\Stream\Stream::factory($data);
$destination = '/uploads/'.$user.'/'.$id.'/'.$num;
$this->makeDavRequest($user, 'PUT', $destination, [], $data);
$destination = '/uploads/'. $user .'/'. $id .'/' . $num;
$this->makeDavRequest($user, 'PUT', $destination, [], $data, "uploads");
}
/**
......@@ -498,11 +518,11 @@ trait WebDav {
*/
public function userMovesNewChunkFileWithIdToMychunkedfile($user, $id, $dest)
{
$source = '/uploads/'.$user.'/'.$id.'/.file';
$destination = substr($this->baseUrl, 0, -4) . $this->davPath . '/files/'.$user.$dest;
$source = '/uploads/' . $user . '/' . $id . '/.file';
$destination = substr($this->baseUrl, 0, -4) . $this->getDavFilesPath($user) . $dest;
$this->makeDavRequest($user, 'MOVE', $source, [
'Destination' => $destination
]);
], null, "uploads");
}
......@@ -561,17 +581,8 @@ trait WebDav {
];
}
$response = $client->proppatch($this->davPath . $this->getFilesPath($user) . ltrim($path, '/'), $properties, $folderDepth);
$response = $client->proppatch($this->getDavFilesPath($user) . $path, $properties, $folderDepth);
return $response;
}
/**
* @Then /^as "([^"]*)" gets properties of file "([^"]*)" with$/
* @param string $user
* @param string $path
* @param \Behat\Gherkin\Node\TableNode|null $propertiesTable
*/
public function asGetsPropertiesOfFileWith($user, $path, $propertiesTable) {
$this->asGetsPropertiesOfFolderWith($user, $path, $propertiesTable);
}
}
......@@ -3,24 +3,24 @@ Feature: dav-v2
Given using api version "1"
Scenario: moving a file new endpoint way
Given using dav path "remote.php/dav"
Given using new dav path
And As an "admin"
And user "user0" exists
When User "user0" moves file "/files/user0/textfile0.txt" to "/files/user0/FOLDER/textfile0.txt"
When User "user0" moves file "/textfile0.txt" to "/FOLDER/textfile0.txt"
Then the HTTP status code should be "201"
Scenario: download a file with range using new endpoint
Given using dav path "remote.php/dav"
Given using new dav path
And As an "admin"
And user "user0" exists
And As an "user0"
When Downloading file "/files/user0/welcome.txt" with range "bytes=51-77"
When Downloading file "/welcome.txt" with range "bytes=51-77"
Then Downloaded content should be "example file for developers"
Scenario: Downloading a file on the new endpoint should serve security headers
Given using dav path "remote.php/dav/files/admin/"
Given using new dav path
And As an "admin"
When Downloading file "welcome.txt"
When Downloading file "/welcome.txt"
Then The following headers should be set
|Content-Disposition|attachment; filename*=UTF-8''welcome.txt; filename="welcome.txt"|
|Content-Security-Policy|default-src 'none';|
......@@ -55,16 +55,16 @@ Feature: dav-v2
Then the HTTP status code should be "207"
Scenario: Uploading a file having 0B as quota
Given using dav path "remote.php/dav"
Given using new dav path
And As an "admin"
And user "user0" exists
And user "user0" has a quota of "0 B"
And As an "user0"
When User "user0" uploads file "data/textfile.txt" to "/files/user0/asdf.txt"
When User "user0" uploads file "data/textfile.txt" to "/asdf.txt"
Then the HTTP status code should be "507"
Scenario: Uploading a file as recipient using webdav new endpoint having quota
Given using dav path "remote.php/dav"
Given using new dav path
And As an "admin"
And user "user0" exists
And user "user1" exists
......@@ -78,5 +78,5 @@ Feature: dav-v2
| permissions | 31 |
| shareWith | user0 |
And As an "user0"
When User "user0" uploads file "data/textfile.txt" to "/files/user0/testquota/asdf.txt"
When User "user0" uploads file "data/textfile.txt" to "/testquota/asdf.txt"
Then the HTTP status code should be "201"
Feature: external-storage
Background:
Given using api version "1"
Given using dav path "remote.php/webdav"
Given using old dav path
@local_storage
Scenario: Share by link a file inside a local external storage
......
......@@ -3,7 +3,7 @@ Feature: favorite
Given using api version "1"
Scenario: Favorite a folder
Given using dav path "remote.php/webdav"
Given using old dav path
And As an "admin"
And user "user0" exists
When user "user0" favorites element "/FOLDER"
......@@ -12,7 +12,7 @@ Feature: favorite
And the single response should contain a property "{http://owncloud.org/ns}favorite" with value "1"
Scenario: Favorite and unfavorite a folder
Given using dav path "remote.php/webdav"
Given using old dav path
And As an "admin"
And user "user0" exists
When user "user0" favorites element "/FOLDER"
......@@ -22,7 +22,7 @@ Feature: favorite
And the single response should contain a property "{http://owncloud.org/ns}favorite" with value ""
Scenario: Favorite a file
Given using dav path "remote.php/webdav"
Given using old dav path
And As an "admin"
And user "user0" exists
When user "user0" favorites element "/textfile0.txt"
......@@ -31,7 +31,7 @@ Feature: favorite
And the single response should contain a property "{http://owncloud.org/ns}favorite" with value "1"
Scenario: Favorite and unfavorite a file
Given using dav path "remote.php/webdav"
Given using old dav path
And As an "admin"
And user "user0" exists
When user "user0" favorites element "/textfile0.txt"
......@@ -41,7 +41,7 @@ Feature: favorite
And the single response should contain a property "{http://owncloud.org/ns}favorite" with value ""
Scenario: Favorite a folder new endpoint
Given using dav path "remote.php/dav"
Given using new dav path
And As an "admin"
And user "user0" exists
When user "user0" favorites element "/FOLDER"
......@@ -50,7 +50,7 @@ Feature: favorite
And the single response should contain a property "{http://owncloud.org/ns}favorite" with value "1"
Scenario: Favorite and unfavorite a folder new endpoint
Given using dav path "remote.php/dav"
Given using new dav path
And As an "admin"
And user "user0" exists
When user "user0" favorites element "/FOLDER"
......@@ -60,7 +60,7 @@ Feature: favorite
And the single response should contain a property "{http://owncloud.org/ns}favorite" with value ""
Scenario: Favorite a file new endpoint
Given using dav path "remote.php/dav"
Given using new dav path
And As an "admin"
And user "user0" exists
When user "user0" favorites element "/textfile0.txt"
......@@ -69,7 +69,7 @@ Feature: favorite
And the single response should contain a property "{http://owncloud.org/ns}favorite" with value "1"
Scenario: Favorite and unfavorite a file new endpoint
Given using dav path "remote.php/dav"
Given using new dav path
And As an "admin"
And user "user0" exists
When user "user0" favorites element "/textfile0.txt"
......
Feature: sharing
Background:
Given using api version "1"
Given using dav path "remote.php/webdav"
Given using old dav path
Scenario: Creating a new share with user
Given user "user0" exists
......@@ -533,7 +533,7 @@ Feature: sharing
| /myFOLDER/myTMP/ |
Scenario: Check quota of owners parent directory of a shared file
Given using dav path "remote.php/webdav"
Given using old dav path
And As an "admin"
And user "user0" exists
And user "user1" exists
......@@ -607,7 +607,7 @@ Feature: sharing
Given user "user0" exists
And user "user1" exists
And User "user0" uploads file with content "foo" to "/tmp.txt"
And file "tmp.txt" of user "user0" is shared with user "user1"
And file "/tmp.txt" of user "user0" is shared with user "user1"
When as "user1" gets properties of folder "/tmp.txt" with
|{http://open-collaboration-services.org/ns}share-permissions |
Then the single response should contain a property "{http://open-collaboration-services.org/ns}share-permissions" with value "19"
......@@ -726,16 +726,17 @@ Feature: sharing
And the HTTP status code should be "401"
Scenario: Merging shares for recipient when shared from outside with group and member
Given As an "admin"
Given using old dav path
And As an "admin"
And user "user0" exists
And user "user1" exists
And group "group1" exists
And user "user1" belongs to group "group1"
And user "user0" created a folder "merge-test-outside"
When folder "merge-test-outside" of user "user0" is shared with group "group1"
And folder "merge-test-outside" of user "user0" is shared with user "user1"
Then as "user1" the folder "merge-test-outside" exists
And as "user1" the folder "merge-test-outside (2)" does not exist
And user "user0" created a folder "/merge-test-outside"
When folder "/merge-test-outside" of user "user0" is shared with group "group1"
And folder "/merge-test-outside" of user "user0" is shared with user "user1"
Then as "user1" the folder "/merge-test-outside" exists
And as "user1" the folder "/merge-test-outside (2)" does not exist
Scenario: Merging shares for recipient when shared from outside with group and member with different permissions
Given As an "admin"
......@@ -743,13 +744,13 @@ Feature: sharing
And user "user1" exists
And group "group1" exists
And user "user1" belongs to group "group1"
And user "user0" created a folder "merge-test-outside-perms"
When folder "merge-test-outside-perms" of user "user0" is shared with group "group1" with permissions 1
And folder "merge-test-outside-perms" of user "user0" is shared with user "user1" with permissions 31
Then as "user1" gets properties of folder "merge-test-outside-perms" with
And user "user0" created a folder "/merge-test-outside-perms"
When folder "/merge-test-outside-perms" of user "user0" is shared with group "group1" with permissions 1
And folder "/merge-test-outside-perms" of user "user0" is shared with user "user1" with permissions 31
Then as "user1" gets properties of folder "/merge-test-outside-perms" with
|{http://owncloud.org/ns}permissions|
And the single response should contain a property "{http://owncloud.org/ns}permissions" with value "SRDNVCK"
And as "user1" the folder "merge-test-outside-perms (2)" does not exist
And as "user1" the folder "/merge-test-outside-perms (2)" does not exist
Scenario: Merging shares for recipient when shared from outside with two groups
Given As an "admin"
......@@ -759,11 +760,11 @@ Feature: sharing
And group "group2" exists
And user "user1" belongs to group "group1"
And user "user1" belongs to group "group2"
And user "user0" created a folder "merge-test-outside-twogroups"
When folder "merge-test-outside-twogroups" of user "user0" is shared with group "group1"
And folder "merge-test-outside-twogroups" of user "user0" is shared with group "group2"
Then as "user1" the folder "merge-test-outside-twogroups" exists
And as "user1" the folder "merge-test-outside-twogroups (2)" does not exist
And user "user0" created a folder "/merge-test-outside-twogroups"
When folder "/merge-test-outside-twogroups" of user "user0" is shared with group "group1"
And folder "/merge-test-outside-twogroups" of user "user0" is shared with group "group2"
Then as "user1" the folder "/merge-test-outside-twogroups" exists
And as "user1" the folder "/merge-test-outside-twogroups (2)" does not exist
Scenario: Merging shares for recipient when shared from outside with two groups with different permissions
Given As an "admin"
......@@ -773,13 +774,13 @@ Feature: sharing
And group "group2" exists
And user "user1" belongs to group "group1"
And user "user1" belongs to group "group2"
And user "user0" created a folder "merge-test-outside-twogroups-perms"
When folder "merge-test-outside-twogroups-perms" of user "user0" is shared with group "group1" with permissions 1
And folder "merge-test-outside-twogroups-perms" of user "user0" is shared with group "group2" with permissions 31
Then as "user1" gets properties of folder "merge-test-outside-twogroups-perms" with
And user "user0" created a folder "/merge-test-outside-twogroups-perms"
When folder "/merge-test-outside-twogroups-perms" of user "user0" is shared with group "group1" with permissions 1
And folder "/merge-test-outside-twogroups-perms" of user "user0" is shared with group "group2" with permissions 31
Then as "user1" gets properties of folder "/merge-test-outside-twogroups-perms" with
|{http://owncloud.org/ns}permissions|
And the single response should contain a property "{http://owncloud.org/ns}permissions" with value "SRDNVCK"
And as "user1" the folder "merge-test-outside-twogroups-perms (2)" does not exist
And as "user1" the folder "/merge-test-outside-twogroups-perms (2)" does not exist
Scenario: Merging shares for recipient when shared from outside with two groups and member
Given As an "admin"
......@@ -789,24 +790,24 @@ Feature: sharing
And group "group2" exists
And user "user1" belongs to group "group1"
And user "user1" belongs to group "group2"
And user "user0" created a folder "merge-test-outside-twogroups-member-perms"
When folder "merge-test-outside-twogroups-member-perms" of user "user0" is shared with group "group1" with permissions 1
And folder "merge-test-outside-twogroups-member-perms" of user "user0" is shared with group "group2" with permissions 31
And folder "merge-test-outside-twogroups-member-perms" of user "user0" is shared with user "user1" with permissions 1
Then as "user1" gets properties of folder "merge-test-outside-twogroups-member-perms" with
And user "user0" created a folder "/merge-test-outside-twogroups-member-perms"
When folder "/merge-test-outside-twogroups-member-perms" of user "user0" is shared with group "group1" with permissions 1
And folder "/merge-test-outside-twogroups-member-perms" of user "user0" is shared with group "group2" with permissions 31
And folder "/merge-test-outside-twogroups-member-perms" of user "user0" is shared with user "user1" with permissions 1
Then as "user1" gets properties of folder "/merge-test-outside-twogroups-member-perms" with
|{http://owncloud.org/ns}permissions|
And the single response should contain a property "{http://owncloud.org/ns}permissions" with value "SRDNVCK"
And as "user1" the folder "merge-test-outside-twogroups-member-perms (2)" does not exist
And as "user1" the folder "/merge-test-outside-twogroups-member-perms (2)" does not exist
Scenario: Merging shares for recipient when shared from inside with group
Given As an "admin"
And user "user0" exists
And group "group1" exists
And user "user0" belongs to group "group1"
And user "user0" created a folder "merge-test-inside-group"
And user "user0" created a folder "/merge-test-inside-group"
When folder "/merge-test-inside-group" of user "user0" is shared with group "group1"
Then as "user0" the folder "merge-test-inside-group" exists
And as "user0" the folder "merge-test-inside-group (2)" does not exist
Then as "user0" the folder "/merge-test-inside-group" exists
And as "user0" the folder "/merge-test-inside-group (2)" does not exist
Scenario: Merging shares for recipient when shared from inside with two groups
Given As an "admin"
......@@ -815,12 +816,12 @@ Feature: sharing
And group "group2" exists
And user "user0" belongs to group "group1"
And user "user0" belongs to group "group2"
And user "user0" created a folder "merge-test-inside-twogroups"
When folder "merge-test-inside-twogroups" of user "user0" is shared with group "group1"
And folder "merge-test-inside-twogroups" of user "user0" is shared with group "group2"
Then as "user0" the folder "merge-test-inside-twogroups" exists
And as "user0" the folder "merge-test-inside-twogroups (2)" does not exist
And as "user0" the folder "merge-test-inside-twogroups (3)" does not exist
And user "user0" created a folder "/merge-test-inside-twogroups"
When folder "/merge-test-inside-twogroups" of user "user0" is shared with group "group1"
And folder "/merge-test-inside-twogroups" of user "user0" is shared with group "group2"
Then as "user0" the folder "/merge-test-inside-twogroups" exists
And as "user0" the folder "/merge-test-inside-twogroups (2)" does not exist
And as "user0" the folder "/merge-test-inside-twogroups (3)" does not exist
Scenario: Merging shares for recipient when shared from inside with group with less permissions
Given As an "admin"
......@@ -829,14 +830,14 @@ Feature: sharing
And group "group2" exists
And user "user0" belongs to group "group1"
And user "user0" belongs to group "group2"
And user "user0" created a folder "merge-test-inside-twogroups-perms"
When folder "merge-test-inside-twogroups-perms" of user "user0" is shared with group "group1"
And folder "merge-test-inside-twogroups-perms" of user "user0" is shared with group "group2"
Then as "user0" gets properties of folder "merge-test-inside-twogroups-perms" with
And user "user0" created a folder "/merge-test-inside-twogroups-perms"
When folder "/merge-test-inside-twogroups-perms" of user "user0" is shared with group "group1"
And folder "/merge-test-inside-twogroups-perms" of user "user0" is shared with group "group2"
Then as "user0" gets properties of folder "/merge-test-inside-twogroups-perms" with
|{http://owncloud.org/ns}permissions|
And the single response should contain a property "{http://owncloud.org/ns}permissions" with value "RDNVCK"
And as "user0" the folder "merge-test-inside-twogroups-perms (2)" does not exist
And as "user0" the folder "merge-test-inside-twogroups-perms (3)" does not exist
And as "user0" the folder "/merge-test-inside-twogroups-perms (2)" does not exist
And as "user0" the folder "/merge-test-inside-twogroups-perms (3)" does not exist
Scenario: Merging shares for recipient when shared from outside with group then user and recipient renames in between
Given As an "admin"
......@@ -844,14 +845,14 @@ Feature: sharing
And user "user1" exists
And group "group1" exists
And user "user1" belongs to group "group1"
And user "user0" created a folder "merge-test-outside-groups-renamebeforesecondshare"
When folder "merge-test-outside-groups-renamebeforesecondshare" of user "user0" is shared with group "group1"
And user "user0" created a folder "/merge-test-outside-groups-renamebeforesecondshare"
When folder "/merge-test-outside-groups-renamebeforesecondshare" of user "user0" is shared with group "group1"
And User "user1" moved folder "/merge-test-outside-groups-renamebeforesecondshare" to "/merge-test-outside-groups-renamebeforesecondshare-renamed"
And folder "merge-test-outside-groups-renamebeforesecondshare" of user "user0" is shared with user "user1"
Then as "user1" gets properties of folder "merge-test-outside-groups-renamebeforesecondshare-renamed" with
And folder "/merge-test-outside-groups-renamebeforesecondshare" of user "user0" is shared with user "user1"
Then as "user1" gets properties of folder "/merge-test-outside-groups-renamebeforesecondshare-renamed" with
|{http://owncloud.org/ns}permissions|
And the single response should contain a property "{http://owncloud.org/ns}permissions" with value "SRDNVCK"
And as "user1" the folder "merge-test-outside-groups-renamebeforesecondshare" does not exist
And as "user1" the folder "/merge-test-outside-groups-renamebeforesecondshare" does not exist
Scenario: Merging shares for recipient when shared from outside with user then group and recipient renames in between
Given As an "admin"
......@@ -859,14 +860,14 @@ Feature: sharing
And user "user1" exists
And group "group1" exists
And user "user1" belongs to group "group1"
And user "user0" created a folder "merge-test-outside-groups-renamebeforesecondshare"
When folder "merge-test-outside-groups-renamebeforesecondshare" of user "user0" is shared with user "user1"
And user "user0" created a folder "/merge-test-outside-groups-renamebeforesecondshare"
When folder "/merge-test-outside-groups-renamebeforesecondshare" of user "user0" is shared with user "user1"
And User "user1" moved folder "/merge-test-outside-groups-renamebeforesecondshare" to "/merge-test-outside-groups-renamebeforesecondshare-renamed"
And folder "merge-test-outside-groups-renamebeforesecondshare" of user "user0" is shared with group "group1"
Then as "user1" gets properties of folder "merge-test-outside-groups-renamebeforesecondshare-renamed" with
And folder "/merge-test-outside-groups-renamebeforesecondshare" of user "user0" is shared with group "group1"
Then as "user1" gets properties of folder "/merge-test-outside-groups-renamebeforesecondshare-renamed" with
|{http://owncloud.org/ns}permissions|
And the single response should contain a property "{http://owncloud.org/ns}permissions" with value "SRDNVCK"
And as "user1" the folder "merge-test-outside-groups-renamebeforesecondshare" does not exist
And as "user1" the folder "/merge-test-outside-groups-renamebeforesecondshare" does not exist
Scenario: Empting trashbin
Given As an "admin"
......@@ -884,7 +885,7 @@ Feature: sharing
And file "/common/sub" of user "user0" is shared with user "user1"
And User "user0" deletes folder "/common"
When User "user0" empties trashbin
Then as "user1" the folder "sub" does not exist
Then as "user1" the folder "/sub" does not exist
Scenario: sharing again an own file while belonging to a group
Given As an "admin"
......
......@@ -3,7 +3,7 @@ Feature: webdav-related
Given using api version "1"
Scenario: Moving a file
Given using dav path "remote.php/webdav"
Given using old dav path
And As an "admin"
And user "user0" exists
And As an "user0"
......@@ -12,7 +12,7 @@ Feature: webdav-related
And Downloaded content when downloading file "/FOLDER/welcome.txt" with range "bytes=0-6" should be "Welcome"
Scenario: Moving and overwriting a file old way
Given using dav path "remote.php/webdav"
Given using old dav path
And As an "admin"
And user "user0" exists
And As an "user0"
......@@ -21,7 +21,7 @@ Feature: webdav-related
And Downloaded content when downloading file "/textfile0.txt" with range "bytes=0-6" should be "Welcome"
Scenario: Moving a file to a folder with no permissions
Given using dav path "remote.php/webdav"
Given using old dav path
And As an "admin"
And user "user0" exists
And user "user1" exists
......@@ -39,7 +39,7 @@ Feature: webdav-related
Then the HTTP status code should be "404"
Scenario: Moving a file to overwrite a file in a folder with no permissions
Given using dav path "remote.php/webdav"
Given using old dav path
And As an "admin"
And user "user0" exists
And user "user1" exists
......@@ -57,7 +57,7 @@ Feature: webdav-related
And Downloaded content when downloading file "/testshare/overwritethis.txt" with range "bytes=0-6" should be "Welcome"
Scenario: Copying a file
Given using dav path "remote.php/webdav"
Given using old dav path
And As an "admin"
And user "user0" exists
And As an "user0"
......@@ -66,7 +66,7 @@ Feature: webdav-related
And Downloaded content when downloading file "/FOLDER/welcome.txt" with range "bytes=0-6" should be "Welcome"
Scenario: Copying and overwriting a file
Given using dav path "remote.php/webdav"
Given using old dav path
And As an "admin"
And user "user0" exists
And As an "user0"
......@@ -75,7 +75,7 @@ Feature: webdav-related
And Downloaded content when downloading file "/textfile1.txt" with range "bytes=0-6" should be "Welcome"
Scenario: Copying a file to a folder with no permissions
Given using dav path "remote.php/webdav"
Given using old dav path
And As an "admin"
And user "user0" exists
And user "user1" exists
......@@ -93,7 +93,7 @@ Feature: webdav-related
And the HTTP status code should be "404"
Scenario: Copying a file to overwrite a file into a folder with no permissions
Given using dav path "remote.php/webdav"
Given using old dav path