* @return The {@link InMemoryDirectoryServer} object.
* @throws LDAPException If there was a problem configuring or starting the embedded LDAP directory server.
* @throws IOException If there was a problem reading the LDIF data.
*/
private InMemoryDirectoryServer startServer() throws LDAPException, IOException {
final InMemoryListenerConfig listenerConfig = InMemoryListenerConfig.createLDAPConfig("default", annotation.port());
final InMemoryDirectoryServerConfig config = new InMemoryDirectoryServerConfig(new DN(annotation.baseDN()));
config.setListenerConfigs(listenerConfig);
config.addAdditionalBindCredentials(annotation.authDN(), annotation.authPassword());
final InMemoryDirectoryServer server = new InMemoryDirectoryServer(config);
server.add(new Entry(annotation.baseDN(), new Attribute("objectclass", "domain", "top")));