Add integration tests
This commit is contained in:
parent
3571207bd9
commit
b32b296ed7
|
@ -42,6 +42,7 @@ trait WebDav {
|
|||
$request->setBody($body);
|
||||
}
|
||||
|
||||
|
||||
return $client->send($request);
|
||||
}
|
||||
|
||||
|
@ -70,6 +71,23 @@ trait WebDav {
|
|||
$this->response = $this->makeDavRequest($user, "MOVE", $fileSource, $headers);
|
||||
}
|
||||
|
||||
/**
|
||||
* @When /^User "([^"]*)" copies file "([^"]*)" to "([^"]*)"$/
|
||||
* @param string $user
|
||||
* @param string $fileSource
|
||||
* @param string $fileDestination
|
||||
*/
|
||||
public function userCopiesFileTo($user, $fileSource, $fileDestination) {
|
||||
$fullUrl = substr($this->baseUrl, 0, -4) . $this->davPath;
|
||||
$headers['Destination'] = $fullUrl . $fileDestination;
|
||||
try {
|
||||
$this->response = $this->makeDavRequest($user, 'COPY', $fileSource, $headers);
|
||||
} catch (\GuzzleHttp\Exception\ClientException $e) {
|
||||
// 4xx and 5xx responses cause an exception
|
||||
$this->response = $e->getResponse();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @When /^Downloading file "([^"]*)" with range "([^"]*)"$/
|
||||
* @param string $fileSource
|
||||
|
|
|
@ -257,3 +257,32 @@ Feature: webdav-related
|
|||
When Downloading file "/welcome.txt" as "userToBeDisabled"
|
||||
Then the HTTP status code should be "503"
|
||||
|
||||
Scenario: Copying files into a folder with edit permissions
|
||||
Given using dav path "remote.php/webdav"
|
||||
And user "user0" exists
|
||||
And user "user1" exists
|
||||
And As an "user1"
|
||||
And user "user1" created a folder "/testcopypermissionsAllowed"
|
||||
And as "user1" creating a share with
|
||||
| path | testcopypermissionsAllowed |
|
||||
| shareType | 0 |
|
||||
| permissions | 31 |
|
||||
| shareWith | user0 |
|
||||
And User "user0" uploads file with content "copytest" to "/copytest.txt"
|
||||
When User "user0" copies file "/copytest.txt" to "/testcopypermissionsAllowed/copytest.txt"
|
||||
Then the HTTP status code should be "201"
|
||||
|
||||
Scenario: Copying files into a folder without edit permissions
|
||||
Given using dav path "remote.php/webdav"
|
||||
And user "user0" exists
|
||||
And user "user1" exists
|
||||
And As an "user1"
|
||||
And user "user1" created a folder "/testcopypermissionsNotAllowed"
|
||||
And as "user1" creating a share with
|
||||
| path | testcopypermissionsNotAllowed |
|
||||
| shareType | 0 |
|
||||
| permissions | 1 |
|
||||
| shareWith | user0 |
|
||||
And User "user0" uploads file with content "copytest" to "/copytest.txt"
|
||||
When User "user0" copies file "/copytest.txt" to "/testcopypermissionsNotAllowed/copytest.txt"
|
||||
Then the HTTP status code should be "403"
|
||||
|
|
Loading…
Reference in New Issue