Skip to content
Snippets Groups Projects
Commit 83432b3c authored by Morris Jobke's avatar Morris Jobke
Browse files

add behat tests for 0 quota upload failure

parent d5fe0528
No related branches found
No related tags found
No related merge requests found
This is a testfile.
Cheers.
\ No newline at end of file
......@@ -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"
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment