Merge pull request #20907 from owncloud/integration_tests_for_capabilities

Added capabilities context and tests
This commit is contained in:
Thomas Müller 2015-12-03 16:54:36 +01:00
commit 7d99289ced
4 changed files with 92 additions and 1 deletions

View File

@ -0,0 +1,31 @@
Feature: capabilities
Background:
Given using api version "1"
Scenario: getting capabilities with admin user
Given As an "admin"
When sending "GET" to "/cloud/capabilities"
Then the HTTP status code should be "200"
And fields of capabilities match with
| capability | feature | value_or_subfeature | value |
| core | pollinterval | 60 | |
| core | webdav-root | remote.php/webdav | |
| files_sharing | api_enabled | 1 | |
| files_sharing | public | enabled | 1 |
| files_sharing | public | upload | 1 |
| files_sharing | resharing | 1 | |
| files_sharing | federation | outgoing | 1 |
| files_sharing | federation | incoming | 1 |
| files | bigfilechunking | 1 | |
| files | undelete | 1 | |
| files | versioning | 1 | |

View File

@ -14,7 +14,7 @@ default:
regular_user_password: 123456
federation:
paths:
- %paths.base%/../federation
- %paths.base%/../federation_features
contexts:
- FederationContext:
baseUrl: http://localhost:8080/ocs/
@ -22,6 +22,17 @@ default:
- admin
- admin
regular_user_password: 123456
capabilities:
paths:
- %paths.base%/../capabilities_features
contexts:
- CapabilitiesContext:
baseUrl: http://localhost:8080/ocs/
admin:
- admin
- admin
regular_user_password: 123456
extensions:

View File

@ -0,0 +1,49 @@
<?php
use Behat\Behat\Context\Context;
use Behat\Behat\Context\SnippetAcceptingContext;
use GuzzleHttp\Client;
use GuzzleHttp\Message\ResponseInterface;
require __DIR__ . '/../../vendor/autoload.php';
/**
* Capabilities context.
*/
class CapabilitiesContext implements Context, SnippetAcceptingContext {
use BasicStructure;
use Provisioning;
use Sharing;
/**
* @Then /^fields of capabilities match with$/
* @param \Behat\Gherkin\Node\TableNode|null $formData
*/
public function checkCapabilitiesResponse($formData){
if ($formData instanceof \Behat\Gherkin\Node\TableNode) {
$fd = $formData->getHash();
}
$capabilitiesXML = $this->response->xml()->data->capabilities;
foreach ($fd as $row) {
if ($row['value'] === ''){
$answeredValue = (string)$capabilitiesXML->$row['capability']->$row['feature'];
PHPUnit_Framework_Assert::assertEquals(
$answeredValue,
$row['value_or_subfeature'],
"Failed field " . $row['capability'] . " " . $row['feature']
);
} else{
$answeredValue = (string)$capabilitiesXML->$row['capability']->$row['feature']->$row['value_or_subfeature'];
PHPUnit_Framework_Assert::assertEquals(
$answeredValue,
$row['value'],
"Failed field: " . $row['capability'] . " " . $row['feature'] . " " . $row['value_or_subfeature']
);
}
}
}
}