Package org.springframework.ldap.test
Class LdapTestUtils
java.lang.Object
org.springframework.ldap.test.LdapTestUtils
Utilities for starting, stopping and populating an in-process Apache Directory Server
to use for integration testing purposes.
-
Method Summary
Modifier and TypeMethodDescriptionstatic void
cleanAndSetup
(ContextSource contextSource, Name rootNode, org.springframework.core.io.Resource ldifFile) static void
clearSubContexts
(DirContext ctx, Name name) Clear the directory sub-tree starting with the node represented by the supplied distinguished name.static void
clearSubContexts
(ContextSource contextSource, Name name) Clear the directory sub-tree starting with the node represented by the supplied distinguished name.static void
destroyApacheDirectoryServer
(String principal, String credentials) Deprecated.static void
loadLdif
(org.apache.directory.server.core.DefaultDirectoryService directoryService, org.springframework.core.io.Resource ldifFile) static void
loadLdif
(ContextSource contextSource, org.springframework.core.io.Resource ldifFile) Load an Ldif file into an LDAP server.static void
Shuts down the embedded server, if there is one.static DirContext
startApacheDirectoryServer
(int port, String defaultPartitionSuffix, String defaultPartitionName, String principal, String credentials) Deprecated.usestartEmbeddedServer(int, String, String)
instead.static DirContext
startApacheDirectoryServer
(int port, String defaultPartitionSuffix, String defaultPartitionName, String principal, String credentials, Set extraSchemas) Deprecated.usestartEmbeddedServer(int, String, String)
instead.static void
startEmbeddedServer
(int port, String defaultPartitionSuffix, String defaultPartitionName) Start an embedded Apache Directory Server.
-
Method Details
-
startApacheDirectoryServer
public static DirContext startApacheDirectoryServer(int port, String defaultPartitionSuffix, String defaultPartitionName, String principal, String credentials, Set extraSchemas) throws NamingException Deprecated.usestartEmbeddedServer(int, String, String)
instead.Start an in-process Apache Directory Server.- Parameters:
port
- the port on which the server will be listening.defaultPartitionSuffix
- The default base suffix that will be used for the LDAP server.defaultPartitionName
- The name to use in the directory server configuration for the default base suffix.principal
- The principal to use when starting the directory server.credentials
- The credentials to use when starting the directory server.extraSchemas
- Set of extra schemas to add to the bootstrap schemas of ApacheDS. May benull
.- Returns:
- An unusable DirContext instance.
- Throws:
NamingException
- If anything goes wrong when starting the server.
-
startEmbeddedServer
public static void startEmbeddedServer(int port, String defaultPartitionSuffix, String defaultPartitionName) Start an embedded Apache Directory Server. Only one embedded server will be permitted in the same JVM.- Parameters:
port
- the port on which the server will be listening.defaultPartitionSuffix
- The default base suffix that will be used for the LDAP server.defaultPartitionName
- The name to use in the directory server configuration for the default base suffix.- Throws:
IllegalStateException
- if an embedded server is already started.- Since:
- 1.3.2
-
startApacheDirectoryServer
public static DirContext startApacheDirectoryServer(int port, String defaultPartitionSuffix, String defaultPartitionName, String principal, String credentials) throws NamingException Deprecated.usestartEmbeddedServer(int, String, String)
instead.- Throws:
NamingException
-
shutdownEmbeddedServer
Shuts down the embedded server, if there is one. If no server was previously started in this JVM this is silently ignored.- Throws:
Exception
- Since:
- 1.3.2
-
destroyApacheDirectoryServer
public static void destroyApacheDirectoryServer(String principal, String credentials) throws Exception Deprecated.useshutdownEmbeddedServer()
instead.Shut down the in-process Apache Directory Server.- Parameters:
principal
- the principal to be used for authentication.credentials
- the credentials to be used for authentication.- Throws:
Exception
- If anything goes wrong when shutting down the server.
-
clearSubContexts
Clear the directory sub-tree starting with the node represented by the supplied distinguished name.- Parameters:
contextSource
- the ContextSource to use for getting a DirContext.name
- the distinguished name of the root node.- Throws:
NamingException
- if anything goes wrong removing the sub-tree.
-
clearSubContexts
Clear the directory sub-tree starting with the node represented by the supplied distinguished name.- Parameters:
ctx
- The DirContext to use for cleaning the tree.name
- the distinguished name of the root node.- Throws:
NamingException
- if anything goes wrong removing the sub-tree.
-
loadLdif
public static void loadLdif(ContextSource contextSource, org.springframework.core.io.Resource ldifFile) throws IOException Load an Ldif file into an LDAP server.- Parameters:
contextSource
- ContextSource to use for getting a DirContext to interact with the LDAP server.ldifFile
- a Resource representing a valid LDIF file.- Throws:
IOException
- if the Resource cannot be read.
-
cleanAndSetup
public static void cleanAndSetup(ContextSource contextSource, Name rootNode, org.springframework.core.io.Resource ldifFile) throws NamingException, IOException - Throws:
NamingException
IOException
-
loadLdif
public static void loadLdif(org.apache.directory.server.core.DefaultDirectoryService directoryService, org.springframework.core.io.Resource ldifFile) throws IOException - Throws:
IOException
-
shutdownEmbeddedServer()
instead.