|
@@ -3,7 +3,6 @@ package org.acegisecurity.providers.ldap.search;
|
|
|
import org.acegisecurity.providers.ldap.AbstractLdapServerTestCase;
|
|
|
import org.acegisecurity.providers.ldap.DefaultInitialDirContextFactory;
|
|
|
import org.acegisecurity.providers.ldap.LdapUserInfo;
|
|
|
-import org.acegisecurity.providers.ldap.search.FilterBasedLdapUserSearch;
|
|
|
import org.acegisecurity.userdetails.UsernameNotFoundException;
|
|
|
import org.acegisecurity.BadCredentialsException;
|
|
|
|
|
@@ -15,7 +14,6 @@ import org.acegisecurity.BadCredentialsException;
|
|
|
*/
|
|
|
public class FilterBasedLdapUserSearchTests extends AbstractLdapServerTestCase {
|
|
|
private DefaultInitialDirContextFactory dirCtxFactory;
|
|
|
- private FilterBasedLdapUserSearch locator;
|
|
|
|
|
|
public void setUp() throws Exception {
|
|
|
dirCtxFactory = new DefaultInitialDirContextFactory(PROVIDER_URL);
|
|
@@ -23,10 +21,6 @@ public class FilterBasedLdapUserSearchTests extends AbstractLdapServerTestCase {
|
|
|
dirCtxFactory.setExtraEnvVars(EXTRA_ENV);
|
|
|
dirCtxFactory.setManagerDn(MANAGER_USER);
|
|
|
dirCtxFactory.setManagerPassword(MANAGER_PASSWORD);
|
|
|
- locator = new FilterBasedLdapUserSearch();
|
|
|
- locator.setSearchSubtree(false);
|
|
|
- locator.setSearchTimeLimit(0);
|
|
|
- locator.setInitialDirContextFactory(dirCtxFactory);
|
|
|
}
|
|
|
|
|
|
public FilterBasedLdapUserSearchTests(String string) {
|
|
@@ -38,26 +32,28 @@ public class FilterBasedLdapUserSearchTests extends AbstractLdapServerTestCase {
|
|
|
}
|
|
|
|
|
|
public void testBasicSearch() throws Exception {
|
|
|
- locator.setSearchBase("ou=people");
|
|
|
- locator.setSearchFilter("(uid={0})");
|
|
|
- locator.afterPropertiesSet();
|
|
|
+ FilterBasedLdapUserSearch locator =
|
|
|
+ new FilterBasedLdapUserSearch("ou=people", "(uid={0})", dirCtxFactory);
|
|
|
LdapUserInfo bob = locator.searchForUser("bob");
|
|
|
+ locator.setSearchSubtree(false);
|
|
|
+ locator.setSearchTimeLimit(0);
|
|
|
// name is wrong with embedded apacheDS
|
|
|
// assertEquals("uid=bob,ou=people,"+ROOT_DN, bob.getDn());
|
|
|
}
|
|
|
|
|
|
public void testSubTreeSearchSucceeds() throws Exception {
|
|
|
// Don't set the searchBase, so search from the root.
|
|
|
- locator.setSearchFilter("(cn={0})");
|
|
|
+ FilterBasedLdapUserSearch locator =
|
|
|
+ new FilterBasedLdapUserSearch("", "(cn={0})", dirCtxFactory);
|
|
|
locator.setSearchSubtree(true);
|
|
|
- locator.afterPropertiesSet();
|
|
|
+
|
|
|
LdapUserInfo ben = locator.searchForUser("Ben Alex");
|
|
|
// assertEquals("uid=ben,ou=people,"+ROOT_DN, bob.getDn());
|
|
|
}
|
|
|
|
|
|
public void testSearchForInvalidUserFails() {
|
|
|
- locator.setSearchBase("ou=people");
|
|
|
- locator.setSearchFilter("(uid={0})");
|
|
|
+ FilterBasedLdapUserSearch locator =
|
|
|
+ new FilterBasedLdapUserSearch("ou=people", "(uid={0})", dirCtxFactory);
|
|
|
|
|
|
try {
|
|
|
locator.searchForUser("Joe");
|
|
@@ -67,8 +63,8 @@ public class FilterBasedLdapUserSearchTests extends AbstractLdapServerTestCase {
|
|
|
}
|
|
|
|
|
|
public void testFailsOnMultipleMatches() {
|
|
|
- locator.setSearchBase("ou=people");
|
|
|
- locator.setSearchFilter("(cn=*)");
|
|
|
+ FilterBasedLdapUserSearch locator =
|
|
|
+ new FilterBasedLdapUserSearch("ou=people", "(cn=*)", dirCtxFactory);
|
|
|
|
|
|
try {
|
|
|
locator.searchForUser("Ignored");
|
|
@@ -80,8 +76,10 @@ public class FilterBasedLdapUserSearchTests extends AbstractLdapServerTestCase {
|
|
|
// Try some funny business with filters.
|
|
|
|
|
|
public void testExtraFilterPartToExcludeBob() throws Exception {
|
|
|
- locator.setSearchBase("ou=people");
|
|
|
- locator.setSearchFilter("(&(cn=*)(!(|(uid={0})(uid=marissa))))");
|
|
|
+ FilterBasedLdapUserSearch locator =
|
|
|
+ new FilterBasedLdapUserSearch("ou=people",
|
|
|
+ "(&(cn=*)(!(|(uid={0})(uid=marissa))))",
|
|
|
+ dirCtxFactory);
|
|
|
|
|
|
// Search for bob, get back ben...
|
|
|
LdapUserInfo ben = locator.searchForUser("bob");
|