List of usage examples for org.springframework.security.ldap.server ApacheDSContainer ApacheDSContainer
public ApacheDSContainer(String root, String ldifs) throws Exception
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; }