summaryrefslogtreecommitdiffstats
path: root/build/integration
diff options
context:
space:
mode:
Diffstat (limited to 'build/integration')
-rw-r--r--build/integration/features/bootstrap/LDAPContext.php19
-rw-r--r--build/integration/ldap_features/ldap-ocs.feature28
2 files changed, 25 insertions, 22 deletions
diff --git a/build/integration/features/bootstrap/LDAPContext.php b/build/integration/features/bootstrap/LDAPContext.php
index 5d1f75ceff4..f23de6f47cd 100644
--- a/build/integration/features/bootstrap/LDAPContext.php
+++ b/build/integration/features/bootstrap/LDAPContext.php
@@ -23,6 +23,7 @@
*/
use Behat\Behat\Context\Context;
+use Behat\Gherkin\Node\TableNode;
class LDAPContext implements Context {
use BasicStructure;
@@ -57,17 +58,6 @@ class LDAPContext implements Context {
}
/**
- * @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]])
- );
- }
-
- /**
* @Given /^the response should contain a tag "([^"]*)" with value "([^"]*)"$/
*/
public function theResponseShouldContainATagWithValue($tagName, $expectedValue) {
@@ -85,4 +75,11 @@ class LDAPContext implements Context {
null
);
}
+
+ /**
+ * @Given /^setting the LDAP configuration to$/
+ */
+ public function settingTheLDAPConfigurationTo(TableNode $configData) {
+ $this->sendingToWith('PUT', $this->apiUrl . '/' . $this->configID, $configData);
+ }
}
diff --git a/build/integration/ldap_features/ldap-ocs.feature b/build/integration/ldap_features/ldap-ocs.feature
index 2815b308d48..663bdcb56fd 100644
--- a/build/integration/ldap_features/ldap-ocs.feature
+++ b/build/integration/ldap_features/ldap-ocs.feature
@@ -31,28 +31,33 @@ Feature: LDAP
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"
+ When setting the LDAP configuration to
+ | configData[ldapHost] | ldaps://my.ldap.server |
Then the OCS status code should be "200"
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 "400"
Scenario: Modifying 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 |
+ | configData[ldapHost] | ldaps://my.ldap.server |
Then the OCS status code should be "404"
And the HTTP status code should be "404"
+ Scenario: Modifying an existing configuration with malformed configData
+ Given As an "admin"
+ And creating an LDAP configuration at "/apps/user_ldap/api/v1/config"
+ When setting the LDAP configuration to
+ | configData | ldapHost=ldaps://my.ldap.server |
+ Then the OCS status code should be "400"
+ And the HTTP status code should be "400"
+
Scenario: create, modify and get a configuration
Given As an "admin"
And creating an LDAP configuration at "/apps/user_ldap/api/v1/config"
- And setting "ldapHost" of the LDAP configuration to "ldaps://my.ldap.server"
- And setting "ldapLoginFilter" of the LDAP configuration to "(&(|(objectclass=inetOrgPerson))(uid=%uid))"
- And setting "ldapAgentPassword" of the LDAP configuration to "psst,secret"
+ And setting the LDAP configuration to
+ | configData[ldapHost] | ldaps://my.ldap.server |
+ | configData[ldapLoginFilter] | (&(\|(objectclass=inetOrgPerson))(uid=%uid)) |
+ | configData[ldapAgentPassword] | psst,secret |
When getting the LDAP configuration with showPassword "0"
Then the OCS status code should be "200"
And the HTTP status code should be "200"
@@ -63,7 +68,8 @@ Feature: LDAP
Scenario: receiving password in plain text
Given As an "admin"
And creating an LDAP configuration at "/apps/user_ldap/api/v1/config"
- And setting "ldapAgentPassword" of the LDAP configuration to "psst,secret"
+ And setting the LDAP configuration to
+ | configData[ldapAgentPassword] | psst,secret |
When getting the LDAP configuration with showPassword "1"
Then the OCS status code should be "200"
And the HTTP status code should be "200"