Example usage for org.springframework.security.ldap.server ApacheDSContainer ApacheDSContainer

List of usage examples for org.springframework.security.ldap.server ApacheDSContainer ApacheDSContainer

Introduction

In this page you can find the example usage for org.springframework.security.ldap.server ApacheDSContainer ApacheDSContainer.

Prototype

public ApacheDSContainer(String root, String ldifs) throws Exception 

Source Link

Usage

From source file:org.mule.module.ldap.AbstractLDAPConnectorEmbeddedLDAPTest.java

@BeforeClass
public static void startLdapServer() throws Exception {
    FileUtils.deleteDirectory(WORKING_DIRECTORY);

    ldapServer = new ApacheDSContainer("dc=mulesoft,dc=org", "classpath:test-server.ldif");
    ldapServer.setWorkingDirectory(WORKING_DIRECTORY);
    ldapServer.setPort(LDAP_PORT);/*from www . j a  v  a 2  s.  co  m*/
    ldapServer.getService().setAllowAnonymousAccess(true);
    ldapServer.getService().setAccessControlEnabled(true);
    ldapServer.getService().setShutdownHookEnabled(true);

    ldapServer.getService().getInterceptors().add(new SchemaInterceptor());
    ldapServer.afterPropertiesSet(); // This method calls start
    ldapServer.getService().getSchemaService().getRegistries();
}

From source file:com.springsource.insight.plugin.ldap.LdapOperationCollectionAspectTestSupport.java

@BeforeClass
public static final void startLdapServer() throws Exception {
    File apacheWorkDir = resolveApacheWorkDir(LdapOperationCollectionAspectTestSupport.class);
    // see ApacheDSContainer#afterPropertiesSet() as to why this is necessary
    if (FileSystemUtils.deleteRecursively(apacheWorkDir)) {
        System.out.println("Deleted " + apacheWorkDir.getAbsolutePath());
    }//from w ww  . j  a va 2s  .  c o m

    dsContainer = new ApacheDSContainer(ROOT_DN, LDIF_RESUOURCE);
    dsContainer.setPort(TEST_PORT);
    dsContainer.setWorkingDirectory(apacheWorkDir);

    DefaultDirectoryService dsService = dsContainer.getService();
    dsService.setShutdownHookEnabled(true);

    LOG.info("Starting LDAP server on port " + TEST_PORT);
    dsContainer.afterPropertiesSet();
    LOG.info("LDAP server started");

    LDIF_ENTRIES = readLdifEntries(LDIF_LOCATION);
    LOG.info("Read " + LDIF_ENTRIES.size() + " LDIF entries from " + LDIF_LOCATION);
}

From source file:org.springframework.security.ldap.server.ApacheDSContainerTests.java

@Test
public void failsToStartThrowsException() throws Exception {
    ApacheDSContainer server1 = new ApacheDSContainer("dc=springframework,dc=org",
            "classpath:test-server.ldif");
    ApacheDSContainer server2 = new ApacheDSContainer("dc=springframework,dc=org", "classpath:missing.ldif");
    List<Integer> ports = getDefaultPorts(1);
    server1.setPort(ports.get(0));/*from  ww  w  .  j  av a2s  .  c  o m*/
    server2.setPort(ports.get(0));
    try {
        server1.afterPropertiesSet();
        try {
            server2.afterPropertiesSet();
            fail("Expected Exception");
        } catch (RuntimeException success) {
        }
    } finally {
        try {
            server1.destroy();
        } catch (Throwable t) {
        }
        try {
            server2.destroy();
        } catch (Throwable t) {
        }
    }
}

From source file:org.springframework.security.ldap.server.ApacheDSContainerTests.java

@Test
public void multipleInstancesSimultanciously() throws Exception {
    ApacheDSContainer server1 = new ApacheDSContainer("dc=springframework,dc=org",
            "classpath:test-server.ldif");
    ApacheDSContainer server2 = new ApacheDSContainer("dc=springframework,dc=org",
            "classpath:test-server.ldif");
    List<Integer> ports = getDefaultPorts(2);
    server1.setPort(ports.get(0));/* w ww.  j a  va 2 s  . c om*/
    server2.setPort(ports.get(1));
    try {
        server1.afterPropertiesSet();
        server2.afterPropertiesSet();
    } finally {
        try {
            server1.destroy();
        } catch (Throwable t) {
        }
        try {
            server2.destroy();
        } catch (Throwable t) {
        }
    }
}

From source file:org.springframework.security.ldap.server.ApacheDSContainerTests.java

@Test
public void startWithLdapOverSslWithoutCertificate() throws Exception {
    ApacheDSContainer server = new ApacheDSContainer("dc=springframework,dc=org", "classpath:test-server.ldif");
    List<Integer> ports = getDefaultPorts(1);
    server.setPort(ports.get(0));//  ww  w.jav  a2 s .c o  m
    server.setLdapOverSslEnabled(true);

    try {
        server.afterPropertiesSet();
        fail("Expected an IllegalArgumentException to be thrown.");
    } catch (IllegalArgumentException e) {
        assertThat(e).hasMessage("When LdapOverSsl is enabled, the keyStoreFile property must be set.");
    }
}

From source file:org.springframework.security.ldap.server.ApacheDSContainerTests.java

@Test
public void startWithLdapOverSslWithWrongPassword() throws Exception {
    final ClassPathResource keyStoreResource = new ClassPathResource(
            "/org/springframework/security/ldap/server/spring.keystore");
    final File temporaryKeyStoreFile = new File(temporaryFolder.getRoot(), "spring.keystore");
    FileCopyUtils.copy(keyStoreResource.getInputStream(), new FileOutputStream(temporaryKeyStoreFile));

    assertThat(temporaryKeyStoreFile).isFile();

    ApacheDSContainer server = new ApacheDSContainer("dc=springframework,dc=org", "classpath:test-server.ldif");

    List<Integer> ports = getDefaultPorts(1);
    server.setPort(ports.get(0));//from   ww  w .ja v  a2 s . c om

    server.setLdapOverSslEnabled(true);
    server.setKeyStoreFile(temporaryKeyStoreFile);
    server.setCertificatePassord("incorrect-password");

    try {
        server.afterPropertiesSet();
        fail("Expected a RuntimeException to be thrown.");
    } catch (RuntimeException e) {
        assertThat(e).hasMessage("Server startup failed");
        assertThat(e).hasRootCauseInstanceOf(UnrecoverableKeyException.class);
    }
}

From source file:org.springframework.security.ldap.server.ApacheDSContainerTests.java

/**
 * This test starts an LDAP server using LDAPs (LDAP over SSL). A self-signed certificate is being used, which was
 * previously generated with:/*  www .j a v  a 2 s . c o m*/
 *
 * <pre>
 * {@code
 * keytool -genkey -alias spring -keyalg RSA -keystore spring.keystore -validity 3650 -storetype JKS \
 * -dname "CN=localhost, OU=Spring, O=Pivotal, L=Kailua-Kona, ST=HI, C=US" -keypass spring -storepass spring
 * }
 * </pre>
 * @throws Exception
 */
@Test
public void startWithLdapOverSsl() throws Exception {

    final ClassPathResource keyStoreResource = new ClassPathResource(
            "/org/springframework/security/ldap/server/spring.keystore");
    final File temporaryKeyStoreFile = new File(temporaryFolder.getRoot(), "spring.keystore");
    FileCopyUtils.copy(keyStoreResource.getInputStream(), new FileOutputStream(temporaryKeyStoreFile));

    assertThat(temporaryKeyStoreFile).isFile();

    ApacheDSContainer server = new ApacheDSContainer("dc=springframework,dc=org", "classpath:test-server.ldif");

    List<Integer> ports = getDefaultPorts(1);
    server.setPort(ports.get(0));

    server.setLdapOverSslEnabled(true);
    server.setKeyStoreFile(temporaryKeyStoreFile);
    server.setCertificatePassord("spring");

    try {
        server.afterPropertiesSet();
    } finally {
        try {
            server.destroy();
        } catch (Throwable t) {
        }
    }
}

From source file:org.springframework.xd.dirt.security.LdapServerResource.java

@Override
protected void before() throws Throwable {
    apacheDSContainer = new ApacheDSContainer("dc=springframework,dc=org",
            "classpath:org/springframework/xd/dirt/security/testUsers.ldif");
    int ldapPort = SocketUtils.findAvailableTcpPort();
    apacheDSContainer.setPort(ldapPort);
    apacheDSContainer.afterPropertiesSet();
    workingDir = new File(FileUtils.getTempDirectoryPath() + "/" + UUID.randomUUID().toString());
    apacheDSContainer.setWorkingDirectory(workingDir);
    apacheDSContainer.start();//from www .  j  a v a2 s  . c o  m
    System.setProperty("ldap.port", Integer.toString(ldapPort));
}

From source file:piecework.config.EmbeddedLdapConfiguration.java

@Bean(destroyMethod = "destroy")
public ApacheDSContainer directoryServer(Environment env) throws Exception {

    File workingDirectory = new File(
            System.getProperty("java.io.tmpdir") + File.separator + "piecework-standalone-directory");
    FileUtils.deleteDirectory(workingDirectory);

    String ldifs = LDIF_LOCATION;

    if (env.acceptsProfiles("test"))
        ldifs = TEST_LDIF_LOCATION;//from   ww  w.  j  a  va2s  .c  o  m

    ApacheDSContainer container = new ApacheDSContainer(ROOT, ldifs);
    container.setPort(port);
    container.setWorkingDirectory(workingDirectory);

    return container;
}

From source file:piecework.ldap.DirectoryServerLauncher.java

public static ApacheDSContainer launchDirectoryServer() throws Exception {

    File workingDirectory = new File(
            System.getProperty("java.io.tmpdir") + File.separator + "piecework-standalone-directory");
    FileUtils.deleteDirectory(workingDirectory);

    String ldifs = LDIF_LOCATION;

    ApacheDSContainer container = new ApacheDSContainer(ROOT, ldifs);
    container.setPort(port);// ww  w . j  a  v  a2s  .  c o m
    container.setWorkingDirectory(workingDirectory);

    return container;
}