Prepare logic to handle nested elements and add pending test cases

This commit is contained in:
Sergio Bertolin 2015-12-11 12:39:04 +00:00 committed by Thomas Müller
parent 5b895335df
commit 17fcd84ee3
2 changed files with 188 additions and 104 deletions

View File

@ -7,18 +7,18 @@ Feature: capabilities
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 | |
| capability | path_to_element | 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 |
Scenario: Changing public upload
Given As an "admin"
@ -26,18 +26,18 @@ Feature: capabilities
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 | EMPTY |
| files_sharing | resharing | 1 | |
| files_sharing | federation | outgoing | 1 |
| files_sharing | federation | incoming | 1 |
| files | bigfilechunking | 1 | |
| files | undelete | 1 | |
| files | versioning | 1 | |
| capability | path_to_element | value |
| core | pollinterval | 60 |
| core | webdav-root | remote.php/webdav |
| files_sharing | api_enabled | 1 |
| files_sharing | public@@@enabled | 1 |
| files_sharing | public@@@upload | EMPTY |
| files_sharing | resharing | 1 |
| files_sharing | federation@@@outgoing | 1 |
| files_sharing | federation@@@incoming | 1 |
| files | bigfilechunking | 1 |
| files | undelete | 1 |
| files | versioning | 1 |
Scenario: Disabling share api
Given As an "admin"
@ -45,18 +45,18 @@ Feature: capabilities
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 | EMPTY | |
| files_sharing | public | enabled | EMPTY |
| files_sharing | public | upload | EMPTY |
| files_sharing | resharing | EMPTY | |
| files_sharing | federation | outgoing | 1 |
| files_sharing | federation | incoming | 1 |
| files | bigfilechunking | 1 | |
| files | undelete | 1 | |
| files | versioning | 1 | |
| capability | path_to_element | value |
| core | pollinterval | 60 |
| core | webdav-root | remote.php/webdav |
| files_sharing | api_enabled | EMPTY |
| files_sharing | public@@@enabled | EMPTY |
| files_sharing | public@@@upload | EMPTY |
| files_sharing | resharing | EMPTY |
| files_sharing | federation@@@outgoing | 1 |
| files_sharing | federation@@@incoming | 1 |
| files | bigfilechunking | 1 |
| files | undelete | 1 |
| files | versioning | 1 |
Scenario: Disabling public links
Given As an "admin"
@ -64,18 +64,18 @@ Feature: capabilities
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 | EMPTY |
| files_sharing | public | upload | EMPTY |
| files_sharing | resharing | 1 | |
| files_sharing | federation | outgoing | 1 |
| files_sharing | federation | incoming | 1 |
| files | bigfilechunking | 1 | |
| files | undelete | 1 | |
| files | versioning | 1 | |
| capability | path_to_element | value |
| core | pollinterval | 60 |
| core | webdav-root | remote.php/webdav |
| files_sharing | api_enabled | 1 |
| files_sharing | public@@@enabled | EMPTY |
| files_sharing | public@@@upload | EMPTY |
| files_sharing | resharing | 1 |
| files_sharing | federation@@@outgoing | 1 |
| files_sharing | federation@@@incoming | 1 |
| files | bigfilechunking | 1 |
| files | undelete | 1 |
| files | versioning | 1 |
Scenario: Changing resharing
Given As an "admin"
@ -83,18 +83,18 @@ Feature: capabilities
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 | EMPTY | |
| files_sharing | federation | outgoing | 1 |
| files_sharing | federation | incoming | 1 |
| files | bigfilechunking | 1 | |
| files | undelete | 1 | |
| files | versioning | 1 | |
| capability | path_to_element | 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 | EMPTY |
| files_sharing | federation@@@outgoing | 1 |
| files_sharing | federation@@@incoming | 1 |
| files | bigfilechunking | 1 |
| files | undelete | 1 |
| files | versioning | 1 |
Scenario: Changing federation outgoing
Given As an "admin"
@ -102,18 +102,18 @@ Feature: capabilities
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 | EMPTY |
| files_sharing | federation | incoming | 1 |
| files | bigfilechunking | 1 | |
| files | undelete | 1 | |
| files | versioning | 1 | |
| capability | path_to_element | 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 | EMPTY |
| files_sharing | federation@@@incoming | 1 |
| files | bigfilechunking | 1 |
| files | undelete | 1 |
| files | versioning | 1 |
Scenario: Changing federation incoming
Given As an "admin"
@ -121,23 +121,102 @@ Feature: capabilities
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 | EMPTY |
| files | bigfilechunking | 1 | |
| files | undelete | 1 | |
| files | versioning | 1 | |
| capability | path_to_element | 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 | EMPTY |
| files | bigfilechunking | 1 |
| files | undelete | 1 |
| files | versioning | 1 |
Scenario: Changing password enforce
Given As an "admin"
And parameter "shareapi_enforce_links_password" of app "core" is set to "yes"
When sending "GET" to "/cloud/capabilities"
Then the HTTP status code should be "200"
And fields of capabilities match with
| capability | path_to_element | 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 | public@@@password@@@enforced | 1 |
| files_sharing | resharing | 1 |
| files_sharing | federation@@@outgoing | 1 |
| files_sharing | federation@@@incoming | 1 |
| files | bigfilechunking | 1 |
| files | undelete | 1 |
| files | versioning | 1 |
Scenario: Changing public notifications
Given As an "admin"
And parameter "shareapi_allow_public_notification" of app "core" is set to "yes"
When sending "GET" to "/cloud/capabilities"
Then the HTTP status code should be "200"
And fields of capabilities match with
| capability | path_to_element | 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 | public@@@send_mail | 1 |
| files_sharing | resharing | 1 |
| files_sharing | federation@@@outgoing | 1 |
| files_sharing | federation@@@incoming | 1 |
| files | bigfilechunking | 1 |
| files | undelete | 1 |
| files | versioning | 1 |
Scenario: Changing expire date
Given As an "admin"
And parameter "shareapi_default_expire_date" of app "core" is set to "yes"
When sending "GET" to "/cloud/capabilities"
Then the HTTP status code should be "200"
And fields of capabilities match with
| capability | path_to_element | 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 | public@@@expire_date@@@enabled | 1 |
| files_sharing | resharing | 1 |
| files_sharing | federation@@@outgoing | 1 |
| files_sharing | federation@@@incoming | 1 |
| files | bigfilechunking | 1 |
| files | undelete | 1 |
| files | versioning | 1 |
Scenario: Changing expire date enforcing
Given As an "admin"
And parameter "shareapi_default_expire_date" of app "core" is set to "yes"
And parameter "shareapi_enforce_expire_date" of app "core" is set to "yes"
When sending "GET" to "/cloud/capabilities"
Then the HTTP status code should be "200"
And fields of capabilities match with
| capability | path_to_element | 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 | public@@@expire_date@@@enabled | 1 |
| files_sharing | public@@@expire_date@@@enforced | 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

@ -29,21 +29,18 @@ class CapabilitiesContext implements Context, SnippetAcceptingContext {
$capabilitiesXML = $this->response->xml()->data->capabilities;
foreach ($formData->getHash() as $row) {
if ($row['value'] === ''){
$answeredValue = (string)$capabilitiesXML->$row['capability']->$row['feature'];
PHPUnit_Framework_Assert::assertEquals(
$row['value_or_subfeature']==="EMPTY" ? '' : $row['value_or_subfeature'],
$answeredValue,
"Failed field " . $row['capability'] . " " . $row['feature']
);
} else{
$answeredValue = (string)$capabilitiesXML->$row['capability']->$row['feature']->$row['value_or_subfeature'];
PHPUnit_Framework_Assert::assertEquals(
$row['value']==="EMPTY" ? '' : $row['value'],
$answeredValue,
"Failed field: " . $row['capability'] . " " . $row['feature'] . " " . $row['value_or_subfeature']
);
$path_to_element = explode('@@@', $row['path_to_element']);
$answeredValue = $capabilitiesXML->$row['capability'];
for ($i = 0; $i < count($path_to_element); $i++){
$answeredValue = $answeredValue->$path_to_element[$i];
}
$answeredValue = (string)$answeredValue;
PHPUnit_Framework_Assert::assertEquals(
$row['value']==="EMPTY" ? '' : $row['value'],
$answeredValue,
"Failed field " . $row['capability'] . " " . $row['path_to_element']
);
}
}
@ -57,6 +54,10 @@ class CapabilitiesContext implements Context, SnippetAcceptingContext {
$this->modifyServerConfig('core', 'shareapi_allow_resharing', 'yes');
$this->modifyServerConfig('files_sharing', 'outgoing_server2server_share_enabled', 'yes');
$this->modifyServerConfig('files_sharing', 'incoming_server2server_share_enabled', 'yes');
$this->modifyServerConfig('core', 'shareapi_enforce_links_password', 'no');
$this->modifyServerConfig('core', 'shareapi_allow_public_notification', 'no');
$this->modifyServerConfig('core', 'shareapi_default_expire_date', 'no');
$this->modifyServerConfig('core', 'shareapi_enforce_expire_date', 'no');
}
/**
@ -69,6 +70,10 @@ class CapabilitiesContext implements Context, SnippetAcceptingContext {
$this->modifyServerConfig('core', 'shareapi_allow_resharing', 'yes');
$this->modifyServerConfig('files_sharing', 'outgoing_server2server_share_enabled', 'yes');
$this->modifyServerConfig('files_sharing', 'incoming_server2server_share_enabled', 'yes');
$this->modifyServerConfig('core', 'shareapi_enforce_links_password', 'no');
$this->modifyServerConfig('core', 'shareapi_allow_public_notification', 'no');
$this->modifyServerConfig('core', 'shareapi_default_expire_date', 'no');
$this->modifyServerConfig('core', 'shareapi_enforce_expire_date', 'no');
}
/**