Search in sources :

Example 1 with LdapSecurityRealm

use of org.jenkinsci.test.acceptance.po.LdapSecurityRealm in project acceptance-test-harness by jenkinsci.

the class LdapPluginTest method useLdapAsSecurityRealm.

/**
 * "Jenkins is using ldap as security realm"
 */
private void useLdapAsSecurityRealm(LdapDetails ldapDetails) {
    GlobalSecurityConfig security = new GlobalSecurityConfig(jenkins);
    security.configure();
    LdapSecurityRealm realm = security.useRealm(LdapSecurityRealm.class);
    realm.configure(ldapDetails);
    security.save();
}
Also used : LdapSecurityRealm(org.jenkinsci.test.acceptance.po.LdapSecurityRealm) GlobalSecurityConfig(org.jenkinsci.test.acceptance.po.GlobalSecurityConfig)

Example 2 with LdapSecurityRealm

use of org.jenkinsci.test.acceptance.po.LdapSecurityRealm 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"));
}
Also used : LdapDetails(org.jenkinsci.test.acceptance.plugins.ldap.LdapDetails) LdapSecurityRealm(org.jenkinsci.test.acceptance.po.LdapSecurityRealm) Login(org.jenkinsci.test.acceptance.po.Login) LdapContainer(org.jenkinsci.test.acceptance.docker.fixtures.LdapContainer) GlobalSecurityConfig(org.jenkinsci.test.acceptance.po.GlobalSecurityConfig) Test(org.junit.Test)

Example 3 with LdapSecurityRealm

use of org.jenkinsci.test.acceptance.po.LdapSecurityRealm in project acceptance-test-harness by jenkinsci.

the class LdapPluginTest method login_no_ldap.

@Test
public void login_no_ldap() throws InterruptedException {
    // Given
    // don't start docker fixture here
    // When
    GlobalSecurityConfig security = new GlobalSecurityConfig(jenkins);
    security.configure();
    LdapSecurityRealm realm = security.useRealm(LdapSecurityRealm.class);
    int freePort = findAvailablePort();
    LdapDetails notRunningLdap = new LdapDetails("localhost", freePort, "cn=admin,dc=jenkins-ci,dc=org", "root", "dc=jenkins-ci,dc=org");
    realm.configure(notRunningLdap);
    security.save();
    // Then
    waitFor(security.open(), hasContent("Unable to connect to localhost:" + freePort), 5);
    Login login = jenkins.login();
    login.doLogin("jenkins", "root");
    assertThat(jenkins, not(hasLoggedInUser("jenkins")));
}
Also used : LdapDetails(org.jenkinsci.test.acceptance.plugins.ldap.LdapDetails) LdapSecurityRealm(org.jenkinsci.test.acceptance.po.LdapSecurityRealm) Login(org.jenkinsci.test.acceptance.po.Login) GlobalSecurityConfig(org.jenkinsci.test.acceptance.po.GlobalSecurityConfig) Test(org.junit.Test)

Aggregations

GlobalSecurityConfig (org.jenkinsci.test.acceptance.po.GlobalSecurityConfig)3 LdapSecurityRealm (org.jenkinsci.test.acceptance.po.LdapSecurityRealm)3 LdapDetails (org.jenkinsci.test.acceptance.plugins.ldap.LdapDetails)2 Login (org.jenkinsci.test.acceptance.po.Login)2 Test (org.junit.Test)2 LdapContainer (org.jenkinsci.test.acceptance.docker.fixtures.LdapContainer)1