Spring LDAP

org.springframework.ldap.test
Class LdapTestUtils

java.lang.Object
  extended by org.springframework.ldap.test.LdapTestUtils

public class LdapTestUtils
extends Object

Utilities for starting, stopping and populating an in-process Apache Directory Server to use for integration testing purposes.

Author:
Mattias Hellborg Arthursson

Field Summary
static String DEFAULT_PASSWORD
           
static String DEFAULT_PRINCIPAL
           
 
Method Summary
static void cleanAndSetup(ContextSource contextSource, DistinguishedName rootNode, Resource ldifFile)
           
static void clearSubContexts(ContextSource contextSource, Name name)
          Clear the directory sub-tree starting with the node represented by the supplied distinguished name.
static void clearSubContexts(DirContext ctx, 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. use shutdownEmbeddedServer() instead.
static void loadLdif(ContextSource contextSource, Resource ldifFile)
          Load an Ldif file into an LDAP server.
static void loadLdif(org.apache.directory.server.core.DefaultDirectoryService directoryService, Resource ldifFile)
           
static void shutdownEmbeddedServer()
          Shuts down the embedded server, if there is one.
static DirContext startApacheDirectoryServer(int port, String defaultPartitionSuffix, String defaultPartitionName, String principal, String credentials)
          Deprecated. use startEmbeddedServer(int, String, String) instead.
static DirContext startApacheDirectoryServer(int port, String defaultPartitionSuffix, String defaultPartitionName, String principal, String credentials, Set extraSchemas)
          Deprecated. use startEmbeddedServer(int, String, String) instead.
static void startEmbeddedServer(int port, String defaultPartitionSuffix, String defaultPartitionName)
          Start an embedded Apache Directory Server.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEFAULT_PRINCIPAL

public static final String DEFAULT_PRINCIPAL
See Also:
Constant Field Values

DEFAULT_PASSWORD

public static final String DEFAULT_PASSWORD
See Also:
Constant Field Values
Method Detail

startApacheDirectoryServer

public static DirContext startApacheDirectoryServer(int port,
                                                    String defaultPartitionSuffix,
                                                    String defaultPartitionName,
                                                    String principal,
                                                    String credentials,
                                                    Set extraSchemas)
                                             throws NamingException
Deprecated. use startEmbeddedServer(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 be null.
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. use startEmbeddedServer(int, String, String) instead.

Throws:
NamingException

shutdownEmbeddedServer

public static void shutdownEmbeddedServer()
                                   throws Exception
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. use shutdownEmbeddedServer() 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

public static void clearSubContexts(ContextSource contextSource,
                                    Name name)
                             throws NamingException
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

public static void clearSubContexts(DirContext ctx,
                                    Name name)
                             throws NamingException
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,
                            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,
                                 DistinguishedName rootNode,
                                 Resource ldifFile)
                          throws NamingException,
                                 IOException
Throws:
NamingException
IOException

loadLdif

public static void loadLdif(org.apache.directory.server.core.DefaultDirectoryService directoryService,
                            Resource ldifFile)
                     throws IOException
Throws:
IOException

Spring LDAP