Merge pull request #20867 from owncloud/add-quota-behat-test
Add quota behat test
This commit is contained in:
commit
438d0be844
|
@ -0,0 +1,3 @@
|
|||
This is a testfile.
|
||||
|
||||
Cheers.
|
|
@ -175,7 +175,7 @@ trait Provisioning {
|
|||
* @Given /^user "([^"]*)" belongs to group "([^"]*)"$/
|
||||
*/
|
||||
public function assureUserBelongsToGroup($user, $group){
|
||||
if (!$this->userBelongsToGroup($user, $group)){
|
||||
if (!$this->userBelongsToGroup($user, $group)){
|
||||
$previous_user = $this->currentUser;
|
||||
$this->currentUser = "admin";
|
||||
$this->addingUserToGroup($user, $group);
|
||||
|
@ -431,7 +431,7 @@ trait Provisioning {
|
|||
$this->theSubadminGroupsShouldBe($groupsList);
|
||||
}
|
||||
|
||||
/**
|
||||
/**
|
||||
* Parses the xml answer to get the array of users returned.
|
||||
* @param ResponseInterface $resp
|
||||
* @return array
|
||||
|
@ -510,6 +510,20 @@ trait Provisioning {
|
|||
PHPUnit_Framework_Assert::assertEquals(200, $this->response->getStatusCode());
|
||||
}
|
||||
|
||||
/**
|
||||
* @Given user :user has a quota of :quota
|
||||
*/
|
||||
public function userHasAQuotaOf($user, $quota)
|
||||
{
|
||||
$body = new \Behat\Gherkin\Node\TableNode([
|
||||
0 => ['key', 'quota'],
|
||||
1 => ['value', $quota],
|
||||
]);
|
||||
|
||||
// method used from BasicStructure trait
|
||||
$this->sendingToWith("PUT", "/cloud/users/" . $user, $body);
|
||||
}
|
||||
|
||||
/**
|
||||
* @BeforeScenario
|
||||
* @AfterScenario
|
||||
|
|
|
@ -21,7 +21,7 @@ trait WebDav{
|
|||
$this->davPath = $davPath;
|
||||
}
|
||||
|
||||
public function makeDavRequest($user, $method, $path, $headers){
|
||||
public function makeDavRequest($user, $method, $path, $headers, $body = null){
|
||||
$fullUrl = substr($this->baseUrl, 0, -4) . $this->davPath . "$path";
|
||||
$client = new GClient();
|
||||
$options = [];
|
||||
|
@ -36,6 +36,11 @@ trait WebDav{
|
|||
$request->addHeader($key, $value);
|
||||
}
|
||||
}
|
||||
|
||||
if (!is_null($body)) {
|
||||
$request->setBody($body);
|
||||
}
|
||||
|
||||
return $client->send($request);
|
||||
}
|
||||
|
||||
|
@ -115,7 +120,20 @@ trait WebDav{
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @When User :user uploads file :source to :destination
|
||||
*/
|
||||
public function userUploadsAFileTo($user, $source, $destination)
|
||||
{
|
||||
$file = \GuzzleHttp\Stream\Stream::factory(fopen($source, 'r'));
|
||||
try {
|
||||
$this->response = $this->makeDavRequest($user, "PUT", $destination, [], $file);
|
||||
} catch (\GuzzleHttp\Exception\ServerException $e) {
|
||||
// 4xx and 5xx responses cause an exception
|
||||
$this->response = $e->getResponse();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -16,6 +16,13 @@ Feature: sharing
|
|||
Then Downloaded content should be "example file for developers"
|
||||
|
||||
|
||||
Scenario: Upload forbidden if quota is 0
|
||||
Given using dav path "remote.php/webdav"
|
||||
And As an "admin"
|
||||
And user "user0" exists
|
||||
And user "user0" has a quota of "0"
|
||||
When User "user0" uploads file "data/textfile.txt" to "/asdf.txt"
|
||||
Then the HTTP status code should be "507"
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -21,7 +21,7 @@ echo $PHPPID_FED
|
|||
export TEST_SERVER_URL="http://localhost:$PORT/ocs/"
|
||||
export TEST_SERVER_FED_URL="http://localhost:$PORT_FED/ocs/"
|
||||
|
||||
vendor/bin/behat -f junit -f pretty
|
||||
vendor/bin/behat -f junit -f pretty $1
|
||||
RESULT=$?
|
||||
|
||||
kill $PHPPID
|
||||
|
|
Loading…
Reference in New Issue