Merge pull request #20429 from owncloud/sharing-api-integration-tests-get-share-by-id

Added test to get info of a specific share id
This commit is contained in:
Thomas Müller 2015-11-10 17:40:35 +01:00
commit 27e3d13014
2 changed files with 54 additions and 2 deletions

View file

@ -672,7 +672,10 @@ class FeatureContext implements Context, SnippetAcceptingContext {
public function isFieldInResponse($field, $content_expected){
$data = $this->response->xml()->data[0];
foreach($data as $element) {
if ($element->$field == $content_expected){
if ($content_expected == "A_NUMBER"){
return is_numeric((string)$element->$field);
}
elseif ($element->$field == $content_expected){
return True;
}
}
@ -744,10 +747,32 @@ class FeatureContext implements Context, SnippetAcceptingContext {
*/
public function deletingLastShare(){
$share_id = $this->lastShareData->data[0]->id;
$url = "/apps/files_sharing/api/v{$this->apiVersion}/shares/$share_id";
$url = "/apps/files_sharing/api/v{$this->sharingApiVersion}/shares/$share_id";
$this->sendingToWith("DELETE", $url, null);
}
/**
* @When /^Getting info of last share$/
*/
public function gettingInfoOfLastShare(){
$share_id = $this->lastShareData->data[0]->id;
$url = "/apps/files_sharing/api/v{$this->sharingApiVersion}/shares/$share_id";
$this->sendingToWith("GET", $url, null);
}
/**
* @Then /^Share fields of last share match with$/
* @param \Behat\Gherkin\Node\TableNode|null $formData
*/
public function checkShareFields($body){
if ($body instanceof \Behat\Gherkin\Node\TableNode) {
$fd = $body->getRowsHash();
foreach($fd as $field => $value) {
PHPUnit_Framework_Assert::assertEquals(True, $this->isFieldInResponse($field, $value));
}
}
}
public static function removeFile($path, $filename){
if (file_exists("$path" . "$filename")) {
unlink("$path" . "$filename");

View file

@ -108,6 +108,33 @@ Feature: sharing
And User "user2" should be included in the response
And User "user3" should not be included in the response
Scenario: getting share info of a share
Given user "user0" exists
And user "user1" exists
And file "textfile0.txt" from user "user0" is shared with user "user1"
And As an "user0"
When Getting info of last share
Then the OCS status code should be "100"
And the HTTP status code should be "200"
And Share fields of last share match with
| id | A_NUMBER |
| item_type | file |
| item_source | A_NUMBER |
| share_type | 0 |
| share_with | user1 |
| file_source | A_NUMBER |
| file_target | /textfile0.txt |
| path | /textfile0.txt |
| permissions | 23 |
| stime | A_NUMBER |
| storage | A_NUMBER |
| mail_send | 0 |
| uid_owner | user0 |
| storage_id | home::user0 |
| file_parent | A_NUMBER |
| share_with_displayname | user1 |
| displayname_owner | user0 |
Scenario: delete a share
Given user "user0" exists
And user "user1" exists