diff --git a/.drone.yml b/.drone.yml index 84a6d0495f2..2ac98e4523f 100644 --- a/.drone.yml +++ b/.drone.yml @@ -572,6 +572,16 @@ pipeline: when: matrix: TESTS: integration-ldap-openldap-features + integration-ldap-openldap-uid-features: + image: nextcloudci/integration-php7.0:integration-php7.0-6 + commands: + - ./occ maintenance:install --admin-pass=admin --data-dir=/dev/shm/nc_int + - ./occ app:enable user_ldap + - cd build/integration + - ./run.sh ldap_features/openldap-uid-username.feature + when: + matrix: + TESTS: integration-ldap-openldap-uid-features integration-trashbin: image: nextcloudci/integration-php7.0:integration-php7.0-8 commands: @@ -840,6 +850,8 @@ matrix: - TESTS: integration-ldap-features - TESTS: integration-ldap-openldap-features ENABLE_OPENLDAP: true + - TESTS: integration-ldap-openldap-uid-features + ENABLE_OPENLDAP: true - TESTS: integration-trashbin - TESTS: integration-remote-api - TESTS: integration-download diff --git a/build/integration/ldap_features/ldap-openldap.feature b/build/integration/ldap_features/ldap-openldap.feature index d992f77c67c..bd2e7bb85a1 100644 --- a/build/integration/ldap_features/ldap-openldap.feature +++ b/build/integration/ldap_features/ldap-openldap.feature @@ -1,36 +1,23 @@ Feature: LDAP Background: Given using api version "2" + And having a valid LDAP configuration Scenario: Test valid configuration by logging in - Given having a valid LDAP configuration - When Logging in using web as "alice" + Given Logging in using web as "alice" And Sending a "GET" to "/remote.php/webdav/welcome.txt" with requesttoken Then the HTTP status code should be "200" Scenario: Look for a known LDAP user - Given having a valid LDAP configuration - And As an "admin" + Given As an "admin" And sending "GET" to "/cloud/users?search=alice" Then the OCS status code should be "200" And looking up details for the first result matches expectations | email | alice@nextcloud.ci | | displayname | Alice | - Scenario: Look for a expected LDAP users - Given having a valid LDAP configuration - And modify LDAP configuration - | ldapExpertUsernameAttr | uid | - And As an "admin" - And sending "GET" to "/cloud/users" - Then the OCS status code should be "200" - And the "users" result should match - | alice | 1 | - | ghost | 0 | - Scenario: Test group filter with one specific group - Given having a valid LDAP configuration - And modify LDAP configuration + Given modify LDAP configuration | ldapGroupFilter | cn=RedGroup | | ldapBaseGroups | ou=Groups,ou=Ordinary,dc=nextcloud,dc=ci | And As an "admin" @@ -43,8 +30,7 @@ Feature: LDAP | PurpleGroup | 0 | Scenario: Test group filter with two specific groups - Given having a valid LDAP configuration - And modify LDAP configuration + Given modify LDAP configuration | ldapGroupFilter | (\|(cn=RedGroup)(cn=GreenGroup)) | | ldapBaseGroups | ou=Groups,ou=Ordinary,dc=nextcloud,dc=ci | And As an "admin" @@ -57,8 +43,7 @@ Feature: LDAP | PurpleGroup | 0 | Scenario: Test group filter ruling out a group from a different base - Given having a valid LDAP configuration - And modify LDAP configuration + Given modify LDAP configuration | ldapGroupFilter | (objectClass=groupOfNames) | | ldapBaseGroups | ou=Groups,ou=Ordinary,dc=nextcloud,dc=ci | And As an "admin" @@ -72,8 +57,7 @@ Feature: LDAP | SquareGroup | 0 | Scenario: Test backup server - Given having a valid LDAP configuration - And modify LDAP configuration + Given modify LDAP configuration | ldapBackupHost | openldap | | ldapBackupPort | 389 | | ldapHost | foo.bar | @@ -82,8 +66,7 @@ Feature: LDAP Then the HTTP status code should be "200" Scenario: Test backup server offline - Given having a valid LDAP configuration - And modify LDAP configuration + Given modify LDAP configuration | ldapBackupHost | off.line | | ldapBackupPort | 3892 | | ldapHost | foo.bar | @@ -91,8 +74,7 @@ Feature: LDAP Then Expect ServerException on failed web login as "alice" Scenario: Test LDAP server offline, no backup server - Given having a valid LDAP configuration - And modify LDAP configuration + Given modify LDAP configuration | ldapHost | foo.bar | | ldapPort | 2456 | Then Expect ServerException on failed web login as "alice" diff --git a/build/integration/ldap_features/openldap-uid-username.feature b/build/integration/ldap_features/openldap-uid-username.feature new file mode 100644 index 00000000000..a8bb20abf8e --- /dev/null +++ b/build/integration/ldap_features/openldap-uid-username.feature @@ -0,0 +1,14 @@ +Feature: LDAP + Background: + Given using api version "2" + And having a valid LDAP configuration + And modify LDAP configuration + | ldapExpertUsernameAttr | uid | + + Scenario: Look for a expected LDAP users + Given As an "admin" + And sending "GET" to "/cloud/users" + Then the OCS status code should be "200" + And the "users" result should match + | alice | 1 | + | ghost | 0 |