use of org.jenkinsci.test.acceptance.docker.fixtures.LdapContainer in project acceptance-test-harness by jenkinsci.
the class LdapPluginTest method login_use_fallback_server.
@Test
public void login_use_fallback_server() {
// Given
LdapContainer ldapContainer = ldap.get();
GlobalSecurityConfig securityConfig = new GlobalSecurityConfig(jenkins);
securityConfig.configure();
LdapSecurityRealm realm = securityConfig.useRealm(LdapSecurityRealm.class);
int freePort = this.findAvailablePort();
LdapDetails ldapDetails = new LdapDetails("", 0, ldapContainer.getManagerDn(), ldapContainer.getManagerPassword(), ldapContainer.getRootDn());
// Fallback-Config: primary server is not running, alternative server is running docker fixture
ldapDetails.setHostWithPort("localhost:" + freePort + ' ' + ldapContainer.getHost() + ':' + ldapContainer.getPort());
realm.configure(ldapDetails);
securityConfig.save();
// When
Login login = jenkins.login();
login.doLogin("jenkins", "root");
// Then
assertThat(jenkins, hasLoggedInUser("jenkins"));
}
Aggregations