From e01e894b985d3c8ee88da755abf7d5c139787705 Mon Sep 17 00:00:00 2001 From: Sergio Bertolin Date: Wed, 2 Dec 2015 17:29:42 +0000 Subject: [PATCH 1/2] Added capabilities context and tests --- .../capabilities.feature | 34 ++++++++++++++ build/integration/config/behat.yml | 13 +++++- .../bootstrap/CapabilitiesContext.php | 45 +++++++++++++++++++ .../federated.feature | 0 4 files changed, 91 insertions(+), 1 deletion(-) create mode 100644 build/integration/capabilities_features/capabilities.feature create mode 100644 build/integration/features/bootstrap/CapabilitiesContext.php rename build/integration/{federation => federation_features}/federated.feature (100%) diff --git a/build/integration/capabilities_features/capabilities.feature b/build/integration/capabilities_features/capabilities.feature new file mode 100644 index 0000000000..4adb884e80 --- /dev/null +++ b/build/integration/capabilities_features/capabilities.feature @@ -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 | | + + + + + + + + + + diff --git a/build/integration/config/behat.yml b/build/integration/config/behat.yml index 37ed2b117f..42f5f88ac8 100644 --- a/build/integration/config/behat.yml +++ b/build/integration/config/behat.yml @@ -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: diff --git a/build/integration/features/bootstrap/CapabilitiesContext.php b/build/integration/features/bootstrap/CapabilitiesContext.php new file mode 100644 index 0000000000..a1a14aa3bb --- /dev/null +++ b/build/integration/features/bootstrap/CapabilitiesContext.php @@ -0,0 +1,45 @@ +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']); + } + } + } + } + +} diff --git a/build/integration/federation/federated.feature b/build/integration/federation_features/federated.feature similarity index 100% rename from build/integration/federation/federated.feature rename to build/integration/federation_features/federated.feature From c744b30b3bd610cb2b276bb274170fb6e0d03294 Mon Sep 17 00:00:00 2001 From: Sergio Bertolin Date: Thu, 3 Dec 2015 12:54:44 +0000 Subject: [PATCH 2/2] Changed fail for assertEquals and removed fields which weren't checked --- .../capabilities.feature | 3 --- .../bootstrap/CapabilitiesContext.php | 20 +++++++++++-------- 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/build/integration/capabilities_features/capabilities.feature b/build/integration/capabilities_features/capabilities.feature index 4adb884e80..6c1e727e7b 100644 --- a/build/integration/capabilities_features/capabilities.feature +++ b/build/integration/capabilities_features/capabilities.feature @@ -12,9 +12,6 @@ Feature: capabilities | 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 | diff --git a/build/integration/features/bootstrap/CapabilitiesContext.php b/build/integration/features/bootstrap/CapabilitiesContext.php index a1a14aa3bb..4e200bdf42 100644 --- a/build/integration/features/bootstrap/CapabilitiesContext.php +++ b/build/integration/features/bootstrap/CapabilitiesContext.php @@ -29,15 +29,19 @@ class CapabilitiesContext implements Context, SnippetAcceptingContext { 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']); - } + $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']->$row['value']; - if ( !$answeredValue === $row['value']){ - PHPUnit_Framework_Assert::fail("Answered value $answeredValue is different to expected " . $row['value']); - } + $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'] + ); } } }