Author: tripod
Date: Fri Mar 14 00:50:12 2014
New Revision: 1577399
URL: http://svn.apache.org/r1577399
Log:
OAK-1261 Enable LDAP related tests
enable all tests but 2 that still fail (see OAK-1541)
Modified:
jackrabbit/oak/trunk/oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/ExternalLoginModule.java
jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/ExternalLoginModuleTest.java
jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/ExternalLoginModuleTestBase.java
jackrabbit/oak/trunk/oak-auth-ldap/src/main/java/org/apache/jackrabbit/oak/security/authentication/ldap/impl/LdapIdentityProvider.java
jackrabbit/oak/trunk/oak-auth-ldap/src/test/java/org/apache/jackrabbit/oak/security/authentication/ldap/InternalLdapServer.java
jackrabbit/oak/trunk/oak-auth-ldap/src/test/java/org/apache/jackrabbit/oak/security/authentication/ldap/LdapLoginTestBase.java
jackrabbit/oak/trunk/oak-auth-ldap/src/test/java/org/apache/jackrabbit/oak/security/authentication/ldap/LdapProviderTest.java
Modified:
jackrabbit/oak/trunk/oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/ExternalLoginModule.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/ExternalLoginModule.java?rev=1577399&r1=1577398&r2=1577399&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/ExternalLoginModule.java
(original)
+++
jackrabbit/oak/trunk/oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/ExternalLoginModule.java
Fri Mar 14 00:50:12 2014
@@ -18,6 +18,7 @@ package org.apache.jackrabbit.oak.spi.se
import java.security.Principal;
import java.util.Collections;
+import java.util.HashMap;
import java.util.Map;
import java.util.Set;
@@ -29,11 +30,13 @@ import javax.security.auth.callback.Call
import javax.security.auth.login.LoginException;
import org.apache.jackrabbit.api.security.user.UserManager;
+import org.apache.jackrabbit.oak.api.AuthInfo;
import org.apache.jackrabbit.oak.api.CommitFailedException;
import org.apache.jackrabbit.oak.api.Root;
import org.apache.jackrabbit.oak.spi.security.ConfigurationParameters;
import
org.apache.jackrabbit.oak.spi.security.authentication.AbstractLoginModule;
import org.apache.jackrabbit.oak.spi.security.authentication.AuthInfoImpl;
+import
org.apache.jackrabbit.oak.spi.security.authentication.ImpersonationCredentials;
import
org.apache.jackrabbit.oak.spi.security.authentication.external.ExternalIdentityException;
import
org.apache.jackrabbit.oak.spi.security.authentication.external.ExternalIdentityProvider;
import
org.apache.jackrabbit.oak.spi.security.authentication.external.ExternalIdentityProviderManager;
@@ -242,7 +245,7 @@ public class ExternalLoginModule extends
if (!subject.isReadOnly()) {
subject.getPrincipals().addAll(principals);
subject.getPublicCredentials().add(credentials);
- setAuthInfo(new AuthInfoImpl(externalUser.getId(), null,
principals), subject);
+ setAuthInfo(createAuthInfo(externalUser.getId(), principals),
subject);
} else {
log.debug("Could not add information to read only subject {}",
subject);
}
@@ -325,6 +328,29 @@ public class ExternalLoginModule extends
}
}
+
+ private AuthInfo createAuthInfo(String userId, Set<? extends Principal>
principals) {
+ Credentials creds;
+ if (credentials instanceof ImpersonationCredentials) {
+ creds = ((ImpersonationCredentials)
credentials).getBaseCredentials();
+ } else {
+ creds = credentials;
+ }
+ Map<String, Object> attributes = new HashMap<String, Object>();
+ Object shared = sharedState.get(SHARED_KEY_ATTRIBUTES);
+ if (shared instanceof Map) {
+ for (Object key : ((Map) shared).keySet()) {
+ attributes.put(key.toString(), ((Map) shared).get(key));
+ }
+ } else if (creds instanceof SimpleCredentials) {
+ SimpleCredentials sc = (SimpleCredentials) creds;
+ for (String attrName : sc.getAttributeNames()) {
+ attributes.put(attrName, sc.getAttribute(attrName));
+ }
+ }
+ return new AuthInfoImpl(userId, attributes, principals);
+ }
+
//------------------------------------------------< AbstractLoginModule
>---
@Override
Modified:
jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/ExternalLoginModuleTest.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/ExternalLoginModuleTest.java?rev=1577399&r1=1577398&r2=1577399&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/ExternalLoginModuleTest.java
(original)
+++
jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/ExternalLoginModuleTest.java
Fri Mar 14 00:50:12 2014
@@ -60,6 +60,11 @@ public class ExternalLoginModuleTest ext
return new TestIdentityProvider();
}
+ @Override
+ protected void destroyIDP(ExternalIdentityProvider idp) {
+ // ignore
+ }
+
@Test
public void testLoginFailed() throws Exception {
UserManager userManager = getUserManager(root);
Modified:
jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/ExternalLoginModuleTestBase.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/ExternalLoginModuleTestBase.java?rev=1577399&r1=1577398&r2=1577399&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/ExternalLoginModuleTestBase.java
(original)
+++
jackrabbit/oak/trunk/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/ExternalLoginModuleTestBase.java
Fri Mar 14 00:50:12 2014
@@ -93,6 +93,7 @@ public abstract class ExternalLoginModul
testIdpReg.unregister();
testIdpReg = null;
}
+ destroyIDP(idp);
idp = null;
setSyncConfig(null);
@@ -129,6 +130,8 @@ public abstract class ExternalLoginModul
protected abstract ExternalIdentityProvider createIDP();
+ protected abstract void destroyIDP(ExternalIdentityProvider idp);
+
protected void setSyncConfig(DefaultSyncConfig cfg) {
if (syncHandlerReg != null) {
syncHandlerReg.unregister();
Modified:
jackrabbit/oak/trunk/oak-auth-ldap/src/main/java/org/apache/jackrabbit/oak/security/authentication/ldap/impl/LdapIdentityProvider.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-auth-ldap/src/main/java/org/apache/jackrabbit/oak/security/authentication/ldap/impl/LdapIdentityProvider.java?rev=1577399&r1=1577398&r2=1577399&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-auth-ldap/src/main/java/org/apache/jackrabbit/oak/security/authentication/ldap/impl/LdapIdentityProvider.java
(original)
+++
jackrabbit/oak/trunk/oak-auth-ldap/src/main/java/org/apache/jackrabbit/oak/security/authentication/ldap/impl/LdapIdentityProvider.java
Fri Mar 14 00:50:12 2014
@@ -98,6 +98,11 @@ public class LdapIdentityProvider implem
private UnboundLdapConnectionPool userPool;
/**
+ * temporary flag to disable connection pooling during unit tests. somehow
the internal DS does not work correctly.
+ */
+ public boolean disableConnectionPooling;
+
+ /**
* Default constructor for OSGi
*/
@SuppressWarnings("UnusedDeclaration")
@@ -295,20 +300,27 @@ public class LdapIdentityProvider implem
req.setFilter(searchFilter);
// Process the request
- SearchCursor searchCursor = connection.search(req);
- while (searchCursor.next()) {
- Response response = searchCursor.get();
-
- // process the SearchResultEntry
- if (response instanceof SearchResultEntry) {
- Entry resultEntry = ((SearchResultEntry) response).getEntry();
- if (searchCursor.next()) {
- log.warn("search for {} returned more than one entry.
discarding additional ones.", searchFilter);
- }
- if (log.isDebugEnabled()) {
- log.debug("search below {} with {} found {}",
idConfig.getBaseDN(), searchFilter, resultEntry.getDn());
+ SearchCursor searchCursor = null;
+ try {
+ searchCursor = connection.search(req);
+ while (searchCursor.next()) {
+ Response response = searchCursor.get();
+
+ // process the SearchResultEntry
+ if (response instanceof SearchResultEntry) {
+ Entry resultEntry = ((SearchResultEntry)
response).getEntry();
+ if (searchCursor.next()) {
+ log.warn("search for {} returned more than one entry.
discarding additional ones.", searchFilter);
+ }
+ if (log.isDebugEnabled()) {
+ log.debug("search below {} with {} found {}",
idConfig.getBaseDN(), searchFilter, resultEntry.getDn());
+ }
+ return resultEntry;
}
- return resultEntry;
+ }
+ } finally {
+ if (searchCursor != null) {
+ searchCursor.close();
}
}
if (log.isDebugEnabled()) {
@@ -369,6 +381,9 @@ public class LdapIdentityProvider implem
private void disconnect(@Nullable LdapConnection connection) throws
ExternalIdentityException {
try {
if (connection != null) {
+ if (disableConnectionPooling) {
+ connection.close();
+ }
adminPool.releaseConnection(connection);
}
} catch (Exception e) {
@@ -430,6 +445,7 @@ public class LdapIdentityProvider implem
String searchFilter = config.getMemberOfSearchFilter(ref.getId());
LdapConnection connection = null;
+ SearchCursor searchCursor = null;
try {
// Create the SearchRequest object
SearchRequest req = new SearchRequestImpl();
@@ -444,7 +460,7 @@ public class LdapIdentityProvider implem
connection = connect();
timer.mark("connect");
- SearchCursor searchCursor = connection.search(req);
+ searchCursor = connection.search(req);
timer.mark("search");
while (searchCursor.next()) {
Response response = searchCursor.get();
@@ -464,6 +480,9 @@ public class LdapIdentityProvider implem
log.error("Error during ldap membership search." ,e);
throw new ExternalIdentityException("Error during ldap membership
search.", e);
} finally {
+ if (searchCursor != null) {
+ searchCursor.close();
+ }
disconnect(connection);
}
}
Modified:
jackrabbit/oak/trunk/oak-auth-ldap/src/test/java/org/apache/jackrabbit/oak/security/authentication/ldap/InternalLdapServer.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-auth-ldap/src/test/java/org/apache/jackrabbit/oak/security/authentication/ldap/InternalLdapServer.java?rev=1577399&r1=1577398&r2=1577399&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-auth-ldap/src/test/java/org/apache/jackrabbit/oak/security/authentication/ldap/InternalLdapServer.java
(original)
+++
jackrabbit/oak/trunk/oak-auth-ldap/src/test/java/org/apache/jackrabbit/oak/security/authentication/ldap/InternalLdapServer.java
Fri Mar 14 00:50:12 2014
@@ -19,19 +19,12 @@ package org.apache.jackrabbit.oak.securi
import java.io.File;
import java.io.InputStream;
-import javax.naming.NamingException;
import javax.naming.directory.BasicAttributes;
import javax.naming.directory.DirContext;
import javax.naming.ldap.LdapContext;
-import org.apache.directory.api.ldap.model.entry.Entry;
-import org.apache.directory.api.ldap.model.exception.LdapException;
-import org.apache.directory.api.ldap.model.exception.LdapInvalidDnException;
-import org.apache.directory.api.ldap.model.name.Dn;
import org.apache.directory.server.constants.ServerDNConstants;
-import org.apache.directory.server.core.entry.ServerEntry;
import org.apache.directory.server.unit.AbstractServerTest;
-import org.apache.directory.shared.ldap.name.LdapDN;
class InternalLdapServer extends AbstractServerTest {
Modified:
jackrabbit/oak/trunk/oak-auth-ldap/src/test/java/org/apache/jackrabbit/oak/security/authentication/ldap/LdapLoginTestBase.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-auth-ldap/src/test/java/org/apache/jackrabbit/oak/security/authentication/ldap/LdapLoginTestBase.java?rev=1577399&r1=1577398&r2=1577399&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-auth-ldap/src/test/java/org/apache/jackrabbit/oak/security/authentication/ldap/LdapLoginTestBase.java
(original)
+++
jackrabbit/oak/trunk/oak-auth-ldap/src/test/java/org/apache/jackrabbit/oak/security/authentication/ldap/LdapLoginTestBase.java
Fri Mar 14 00:50:12 2014
@@ -20,6 +20,7 @@ import java.security.Principal;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
+
import javax.jcr.SimpleCredentials;
import javax.security.auth.login.LoginException;
@@ -30,10 +31,13 @@ import org.apache.jackrabbit.oak.api.Aut
import org.apache.jackrabbit.oak.api.ContentSession;
import org.apache.jackrabbit.oak.api.Tree;
import org.apache.jackrabbit.oak.namepath.NamePathMapper;
+import org.apache.jackrabbit.oak.plugins.value.ValueFactoryImpl;
import
org.apache.jackrabbit.oak.security.authentication.ldap.impl.LdapIdentityProvider;
import
org.apache.jackrabbit.oak.security.authentication.ldap.impl.LdapProviderConfig;
import
org.apache.jackrabbit.oak.spi.security.authentication.external.ExternalIdentityProvider;
import
org.apache.jackrabbit.oak.spi.security.authentication.external.ExternalLoginModuleTestBase;
+import
org.apache.jackrabbit.oak.spi.security.authentication.external.ExternalUser;
+import
org.apache.jackrabbit.oak.spi.security.authentication.external.impl.DefaultSyncConfig;
import org.apache.jackrabbit.oak.spi.security.principal.PrincipalConfiguration;
import org.apache.jackrabbit.oak.spi.security.principal.PrincipalProvider;
import org.apache.jackrabbit.oak.spi.security.user.UserConfiguration;
@@ -67,15 +71,15 @@ public abstract class LdapLoginTestBase
protected static String GROUP_DN;
- protected static int CONCURRENT_LOGINS = 10;
+ protected static int NUM_CONCURRENT_LOGINS = 10;
+ private static String[] CONCURRENT_TEST_USERS = new
String[NUM_CONCURRENT_LOGINS];
+ private static String[] CONCURRENT_GROUP_TEST_USERS = new
String[NUM_CONCURRENT_LOGINS];
//initialize LDAP server only once (fast, but might turn out to be not
sufficiently flexible in the future)
protected static final boolean USE_COMMON_LDAP_FIXTURE = true;
protected UserManager userManager;
- protected LdapIdentityProvider idp;
-
@BeforeClass
public static void beforeClass() throws Exception {
if (USE_COMMON_LDAP_FIXTURE) {
@@ -130,6 +134,14 @@ public abstract class LdapLoginTestBase
}
@Override
+ protected void setSyncConfig(DefaultSyncConfig cfg) {
+ if (cfg != null) {
+ cfg.user().getPropertyMapping().put(USER_PROP, USER_ATTR);
+ }
+ super.setSyncConfig(cfg);
+ }
+
+ @Override
protected ExternalIdentityProvider createIDP() {
LdapProviderConfig cfg = new LdapProviderConfig()
.setName("ldap")
@@ -146,7 +158,14 @@ public abstract class LdapLoginTestBase
.setBaseDN(ServerDNConstants.GROUPS_SYSTEM_DN)
.setObjectClasses(InternalLdapServer.GROUP_CLASS_ATTR);
- return new LdapIdentityProvider(cfg);
+ LdapIdentityProvider ldapIDP = new LdapIdentityProvider(cfg);
+ ldapIDP.disableConnectionPooling = true;
+ return ldapIDP;
+ }
+
+ @Override
+ protected void destroyIDP(ExternalIdentityProvider idp) {
+ ((LdapIdentityProvider) idp).close();
}
/**
@@ -183,7 +202,6 @@ public abstract class LdapLoginTestBase
}
}
- @Ignore() // FIXME
@Test
public void testSyncCreateUser() throws Exception {
ContentSession cs = null;
@@ -206,7 +224,6 @@ public abstract class LdapLoginTestBase
}
}
- @Ignore() // FIXME
@Test
public void testSyncCreateGroup() throws Exception {
ContentSession cs = null;
@@ -214,8 +231,8 @@ public abstract class LdapLoginTestBase
cs = login(new SimpleCredentials(USER_ID, USER_PWD.toCharArray()));
root.refresh();
- assertNull(userManager.getAuthorizable(USER_ID));
- assertNull(userManager.getAuthorizable(GROUP_DN));
+ assertNotNull(userManager.getAuthorizable(USER_ID));
+ assertNotNull(userManager.getAuthorizable(GROUP_NAME));
} finally {
if (cs != null) {
cs.close();
@@ -224,11 +241,12 @@ public abstract class LdapLoginTestBase
}
}
- @Ignore() // FIXME
@Test
public void testSyncUpdate() throws Exception {
// create user upfront in order to test update mode
- userManager.createUser(USER_ID, null);
+ Authorizable user = userManager.createUser(USER_ID, null);
+ ExternalUser externalUser = idp.getUser(USER_ID);
+ user.setProperty("rep:externalId", new ValueFactoryImpl(root,
NamePathMapper.DEFAULT).createValue(externalUser.getExternalId().getString()));
root.commit();
ContentSession cs = null;
@@ -236,7 +254,7 @@ public abstract class LdapLoginTestBase
cs = login(new SimpleCredentials(USER_ID, USER_PWD.toCharArray()));
root.refresh();
- Authorizable user = userManager.getAuthorizable(USER_ID);
+ user = userManager.getAuthorizable(USER_ID);
assertNotNull(user);
assertTrue(user.hasProperty(USER_PROP));
assertNull(userManager.getAuthorizable(GROUP_DN));
@@ -248,7 +266,6 @@ public abstract class LdapLoginTestBase
}
}
- @Ignore() // FIXME
@Test
public void testLoginSetsAuthInfo() throws Exception {
ContentSession cs = null;
@@ -268,7 +285,6 @@ public abstract class LdapLoginTestBase
}
}
- @Ignore() // FIXME
@Test
public void testPrincipalsFromAuthInfo() throws Exception {
ContentSession cs = null;
@@ -282,30 +298,6 @@ public abstract class LdapLoginTestBase
root.refresh();
PrincipalProvider pp =
getSecurityProvider().getConfiguration(PrincipalConfiguration.class).getPrincipalProvider(root,
NamePathMapper.DEFAULT);
Set<? extends Principal> expected = pp.getPrincipals(USER_ID);
- assertEquals(2, expected.size());
- assertEquals(expected, ai.getPrincipals());
-
- } finally {
- if (cs != null) {
- cs.close();
- }
- }
- }
-
- @Ignore() // FIXME
- @Test
- public void testPrincipalsFromAuthInfo2() throws Exception {
- ContentSession cs = null;
- try {
- SimpleCredentials sc = new SimpleCredentials(USER_ID,
USER_PWD.toCharArray());
- sc.setAttribute("attr", "val");
-
- cs = login(sc);
- AuthInfo ai = cs.getAuthInfo();
-
- root.refresh();
- PrincipalProvider pp =
getSecurityProvider().getConfiguration(PrincipalConfiguration.class).getPrincipalProvider(root,
NamePathMapper.DEFAULT);
- Set<? extends Principal> expected = pp.getPrincipals(USER_ID);
assertEquals(3, expected.size());
assertEquals(expected, ai.getPrincipals());
@@ -316,7 +308,6 @@ public abstract class LdapLoginTestBase
}
}
- @Ignore() // FIXME
@Test
public void testReLogin() throws Exception {
ContentSession cs = null;
@@ -331,6 +322,7 @@ public abstract class LdapLoginTestBase
cs.close();
// login again
cs = login(new SimpleCredentials(USER_ID, USER_PWD.toCharArray()));
+ root.refresh();
assertEquals(USER_ID, cs.getAuthInfo().getUserID());
} finally {
if (cs != null) {
@@ -340,33 +332,27 @@ public abstract class LdapLoginTestBase
}
}
- @Ignore // FIXME
@Test
+ @Ignore("OAK-1541")
public void testConcurrentLogin() throws Exception {
- concurrentLogin(false);
+ concurrentLogin(CONCURRENT_TEST_USERS);
}
- @Ignore // FIXME
@Test
+ @Ignore("OAK-1541")
public void testConcurrentLoginSameGroup() throws Exception {
- concurrentLogin(true);
+ concurrentLogin(CONCURRENT_GROUP_TEST_USERS);
}
- private void concurrentLogin(boolean sameGroup) throws Exception {
+ private void concurrentLogin(String [] users) throws Exception {
final List<Exception> exceptions = new ArrayList<Exception>();
List<Thread> workers = new ArrayList<Thread>();
- for (int i = 0; i < CONCURRENT_LOGINS; i++) {
- final String userId = "user-" + i;
- final String pass = "secret";
- String userDN = LDAP_SERVER.addUser(userId, "test", userId, pass);
- if (sameGroup) {
- LDAP_SERVER.addMember(GROUP_DN, userDN);
- }
+ for (String userId: users) {
+ final String uid = userId;
workers.add(new Thread(new Runnable() {
public void run() {
try {
- login(new SimpleCredentials(
- userId, pass.toCharArray())).close();
+ login(new SimpleCredentials(uid,
USER_PWD.toCharArray())).close();
} catch (Exception e) {
exceptions.add(e);
}
@@ -391,5 +377,15 @@ public abstract class LdapLoginTestBase
LDAP_SERVER.addMember(
GROUP_DN = LDAP_SERVER.addGroup(GROUP_NAME),
LDAP_SERVER.addUser(USER_FIRSTNAME, USER_LASTNAME, USER_ID,
USER_PWD));
+ for (int i = 0; i < NUM_CONCURRENT_LOGINS * 2; i++) {
+ final String userId = "user-" + i;
+ String userDN = LDAP_SERVER.addUser(userId, "test", userId,
USER_PWD);
+ if (i%2 == 0) {
+ CONCURRENT_GROUP_TEST_USERS[i/2] = userId;
+ LDAP_SERVER.addMember(GROUP_DN, userDN);
+ } else {
+ CONCURRENT_TEST_USERS[i/2] = userId;
+ }
+ }
}
}
Modified:
jackrabbit/oak/trunk/oak-auth-ldap/src/test/java/org/apache/jackrabbit/oak/security/authentication/ldap/LdapProviderTest.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-auth-ldap/src/test/java/org/apache/jackrabbit/oak/security/authentication/ldap/LdapProviderTest.java?rev=1577399&r1=1577398&r2=1577399&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-auth-ldap/src/test/java/org/apache/jackrabbit/oak/security/authentication/ldap/LdapProviderTest.java
(original)
+++
jackrabbit/oak/trunk/oak-auth-ldap/src/test/java/org/apache/jackrabbit/oak/security/authentication/ldap/LdapProviderTest.java
Fri Mar 14 00:50:12 2014
@@ -31,7 +31,6 @@ import org.apache.jackrabbit.oak.securit
import
org.apache.jackrabbit.oak.security.authentication.ldap.impl.LdapProviderConfig;
import
org.apache.jackrabbit.oak.spi.security.authentication.external.ExternalGroup;
import
org.apache.jackrabbit.oak.spi.security.authentication.external.ExternalIdentity;
-import
org.apache.jackrabbit.oak.spi.security.authentication.external.ExternalIdentityException;
import
org.apache.jackrabbit.oak.spi.security.authentication.external.ExternalIdentityProvider;
import
org.apache.jackrabbit.oak.spi.security.authentication.external.ExternalIdentityRef;
import
org.apache.jackrabbit.oak.spi.security.authentication.external.ExternalUser;
@@ -110,7 +109,9 @@ public class LdapProviderTest {
.setBaseDN(ServerDNConstants.GROUPS_SYSTEM_DN)
.setObjectClasses("groupOfUniqueNames");
- return new LdapIdentityProvider(providerConfig);
+ LdapIdentityProvider ldapIDP = new
LdapIdentityProvider(providerConfig);
+ ldapIDP.disableConnectionPooling = true;
+ return ldapIDP;
}
protected static void initLdapFixture(InternalLdapServer server) throws
Exception {