Browse Source

Added capabilities context and tests

tags/v9.0beta1
Sergio Bertolin 8 years ago
parent
commit
e01e894b98

+ 34
- 0
build/integration/capabilities_features/capabilities.feature View File

@@ -0,0 +1,34 @@
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 | password | 1 |
| files_sharing | public | expire_date | 1 |
| files_sharing | public | send_mail | 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 | |











+ 12
- 1
build/integration/config/behat.yml 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:

+ 45
- 0
build/integration/features/bootstrap/CapabilitiesContext.php View File

@@ -0,0 +1,45 @@
<?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']->$row['value_or_subfeature'];
if ( !$answeredValue === $row['value_or_subfeature']){
PHPUnit_Framework_Assert::fail("Answered value $answeredValue is different to expected " . $row['value_or_subfeature']);
}
} else{
$answeredValue = (string)$capabilitiesXML->$row['capability']->$row['feature']->$row['value_or_subfeature']->$row['value'];
if ( !$answeredValue === $row['value']){
PHPUnit_Framework_Assert::fail("Answered value $answeredValue is different to expected " . $row['value']);
}
}
}
}

}

build/integration/federation/federated.feature → build/integration/federation_features/federated.feature View File


Loading…
Cancel
Save