summaryrefslogtreecommitdiffstats
path: root/build
diff options
context:
space:
mode:
authorArthur Schiwon <blizzz@arthur-schiwon.de>2017-01-19 11:09:04 +0100
committerArthur Schiwon <blizzz@arthur-schiwon.de>2017-01-19 11:09:04 +0100
commit01d469dfea5c3a3db4ddd449b322f3f9f5ae98b9 (patch)
tree6159aedc9f7feba01dd3d503ff61605ee2a83708 /build
parent18a75bec0d87b847790e0c5b695e3d02993ca710 (diff)
downloadnextcloud-server-01d469dfea5c3a3db4ddd449b322f3f9f5ae98b9.tar.gz
nextcloud-server-01d469dfea5c3a3db4ddd449b322f3f9f5ae98b9.zip
add LDAP OCS Api for modifying a configuration
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
Diffstat (limited to 'build')
-rw-r--r--build/integration/features/bootstrap/LDAPContext.php19
-rw-r--r--build/integration/ldap_features/ldap-ocs.feature23
2 files changed, 36 insertions, 6 deletions
diff --git a/build/integration/features/bootstrap/LDAPContext.php b/build/integration/features/bootstrap/LDAPContext.php
index 92e21715cd4..3a66641685a 100644
--- a/build/integration/features/bootstrap/LDAPContext.php
+++ b/build/integration/features/bootstrap/LDAPContext.php
@@ -40,9 +40,9 @@ class LDAPContext implements Context {
}
/**
- * @Given /^creating a configuration at "([^"]*)"$/
+ * @Given /^creating an LDAP configuration at "([^"]*)"$/
*/
- public function creatingAConfigurationAt($apiUrl) {
+ public function creatingAnLDAPConfigurationAt($apiUrl) {
$this->apiUrl = $apiUrl;
$this->sendingToWith('POST', $this->apiUrl, null);
$configElements = $this->response->xml()->data[0]->configID;
@@ -50,9 +50,20 @@ class LDAPContext implements Context {
}
/**
- * @When /^deleting the configuration$/
+ * @When /^deleting the LDAP configuration$/
*/
- public function deletingTheConfiguration() {
+ public function deletingTheLDAPConfiguration() {
$this->sendingToWith('DELETE', $this->apiUrl . '/' . $this->configID, null);
}
+
+ /**
+ * @When /^setting "([^"]*)" of the LDAP configuration to "([^"]*)"$/
+ */
+ public function settingOfTheLDAPConfigurationTo($key, $value) {
+ $this->sendingToWith(
+ 'PUT',
+ $this->apiUrl . '/' . $this->configID,
+ new \Behat\Gherkin\Node\TableNode([['key', $key], ['value', $value]])
+ );
+ }
}
diff --git a/build/integration/ldap_features/ldap-ocs.feature b/build/integration/ldap_features/ldap-ocs.feature
index 8498ce2094b..7d3a4fd9491 100644
--- a/build/integration/ldap_features/ldap-ocs.feature
+++ b/build/integration/ldap_features/ldap-ocs.feature
@@ -21,7 +21,26 @@ Feature: LDAP
Scenario: Create and delete a configuration
Given As an "admin"
- And creating a configuration at "/apps/user_ldap/api/v1/config"
- When deleting the configuration
+ And creating an LDAP configuration at "/apps/user_ldap/api/v1/config"
+ When deleting the LDAP configuration
Then the OCS status code should be "100"
And the HTTP status code should be "200"
+
+ Scenario: Create and modify a configuration
+ Given As an "admin"
+ And creating an LDAP configuration at "/apps/user_ldap/api/v1/config"
+ When setting "ldapHost" of the LDAP configuration to "ldaps://my.ldap.server"
+ Then the OCS status code should be "100"
+ And the HTTP status code should be "200"
+ # Testing an invalid config key
+ When setting "crack0r" of the LDAP configuration to "foobar"
+ Then the OCS status code should be "400"
+ And the HTTP status code should be "200"
+
+ Scenario: Modiying a non-existing configuration
+ Given As an "admin"
+ When sending "PUT" to "/apps/user_ldap/api/v1/config/s666" with
+ | key | ldapHost |
+ | value | ldaps://my.ldap.server |
+ Then the OCS status code should be "404"
+ And the HTTP status code should be "200"