Allow running Gitlab with LDAP config but without ldap-server docker component
Introduces a new LDAPNoServer
Scenario.
For https://gitlab.com/gitlab-org/gitlab/merge_requests/17260, we need to run GitLab with LDAP config but no ldap-servers spun up at orchestration time. https://gitlab.com/gitlab-org/gitlab/merge_requests/17260 will run LDAP as a service during runtime. The reason for this is that we need to change the fixture that the LDAP server is using at runtime. We need to run the spec with a user as part of the LDAP's AdminGroup
making them an admin in GitLab when the ldap sync happens. We then need to remove the that user from the LDAP's AdminGroup
(using a modified fixture for LDAP) so that the user is no longer an admin after the sync happens again.
Previously, the LDAP Component
was closely tied to the LDAP Scenario
. This MR untangles the knot to make it easier to spin up GitLab with LDAP configured but without an LDAP component/docker container orchestrated.
Related issue: https://gitlab.com/gitlab-org/quality/testcases/issues/105
Required for: https://gitlab.com/gitlab-org/gitlab/merge_requests/17260