Merge pull request #20893 from owncloud/test_sharing_file_by_multiple_channels

Added shared by multiple channels test
remotes/origin/fix_emit_scanFiles
Thomas Müller 11 years ago
commit 6ca9444b49
  1. 23
      build/integration/features/bootstrap/WebDav.php
  2. 41
      build/integration/features/sharing-v1.feature

@ -97,6 +97,15 @@ trait WebDav{
PHPUnit_Framework_Assert::assertEquals($content, (string)$this->response->getBody());
}
/**
* @Then /^Downloaded content when downloading file "([^"]*)" with range "([^"]*)" should be "([^"]*)"$/
*/
public function downloadedContentWhenDownloadindShouldBe($fileSource, $range, $content){
$this->downloadFileWithRange($fileSource, $range);
$this->downloadedContentShouldBe($content);
}
/*Returns the elements of a propfind, $folderDepth requires 1 to see elements without children*/
public function listFolder($user, $path, $folderDepth){
$fullUrl = substr($this->baseUrl, 0, -4);
@ -126,7 +135,7 @@ trait WebDav{
* @param \Behat\Gherkin\Node\TableNode|null $expectedElements
*/
public function checkElementList($user, $expectedElements){
$elementList = $this->listFolder($user, '/', 2);
$elementList = $this->listFolder($user, '/', 3);
if ($expectedElements instanceof \Behat\Gherkin\Node\TableNode) {
$elementRows = $expectedElements->getRows();
$elementsSimplified = $this->simplifyArray($elementRows);
@ -153,5 +162,17 @@ trait WebDav{
}
}
/**
* @Given User :user created a folder :destination
*/
public function userCreatedAFolder($user, $destination){
try {
$this->response = $this->makeDavRequest($user, "MKCOL", $destination, []);
} catch (\GuzzleHttp\Exception\ServerException $e) {
// 4xx and 5xx responses cause an exception
$this->response = $e->getResponse();
}
}
}

@ -379,6 +379,47 @@ Feature: sharing
| /CHILD/child.txt |
And the HTTP status code should be "200"
Scenario: Share a file by multiple channels
Given As an "admin"
And user "user0" exists
And user "user1" exists
And user "user2" exists
And group "group0" exists
And user "user1" belongs to group "group0"
And user "user2" belongs to group "group0"
And user "user0" created a folder "/common"
And user "user0" created a folder "/common/sub"
And file "common" of user "user0" is shared with group "group0"
And file "textfile0.txt" of user "user1" is shared with user "user2"
And User "user1" moved file "/textfile0.txt" to "/common/textfile0.txt"
And User "user1" moved file "/common/textfile0.txt" to "/common/sub/textfile0.txt"
And As an "user2"
When Downloading file "/common/sub/textfile0.txt" with range "bytes=9-17"
Then Downloaded content should be "test text"
And Downloaded content when downloading file "/textfile0.txt" with range "bytes=9-17" should be "test text"
And user "user2" should see following elements
| /common/sub/textfile0.txt |
Scenario: Share a file by multiple channels
Given As an "admin"
And user "user0" exists
And user "user1" exists
And user "user2" exists
And group "group0" exists
And user "user1" belongs to group "group0"
And user "user2" belongs to group "group0"
And user "user0" created a folder "/common"
And user "user0" created a folder "/common/sub"
And file "common" of user "user0" is shared with group "group0"
And file "textfile0.txt" of user "user1" is shared with user "user2"
And User "user1" moved file "/textfile0.txt" to "/common/textfile0.txt"
And User "user1" moved file "/common/textfile0.txt" to "/common/sub/textfile0.txt"
And As an "user2"
When Downloading file "/textfile0.txt" with range "bytes=9-17"
Then Downloaded content should be "test text"
And user "user2" should see following elements
| /common/sub/textfile0.txt |
Scenario: Delete all group shares
Given As an "admin"
And user "user0" exists

Loading…
Cancel
Save