From 1952987fd5889d7fce4cd68da5ecd3ace0536638 Mon Sep 17 00:00:00 2001 From: Ulrik Sandberg Date: Sun, 17 Oct 2010 21:59:01 +0000 Subject: [PATCH] Fixed LDAP-189, The constructor DefaultDirContextValidator(int searchScope) does not actually set scope in SearchControls --- .../validation/DefaultDirContextValidator.java | 1 + .../DefaultDirContextValidatorTest.java | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+) diff --git a/core/src/main/java/org/springframework/ldap/pool/validation/DefaultDirContextValidator.java b/core/src/main/java/org/springframework/ldap/pool/validation/DefaultDirContextValidator.java index f4ce1559..046c442e 100644 --- a/core/src/main/java/org/springframework/ldap/pool/validation/DefaultDirContextValidator.java +++ b/core/src/main/java/org/springframework/ldap/pool/validation/DefaultDirContextValidator.java @@ -99,6 +99,7 @@ public class DefaultDirContextValidator implements DirContextValidator { */ public DefaultDirContextValidator(int searchScope) { this.searchControls = new SearchControls(); + this.searchControls.setSearchScope(searchScope); this.searchControls.setCountLimit(1); this.searchControls.setReturningAttributes(new String[] { "objectclass" }); this.searchControls.setTimeLimit(500); diff --git a/core/src/test/java/org/springframework/ldap/pool/validation/DefaultDirContextValidatorTest.java b/core/src/test/java/org/springframework/ldap/pool/validation/DefaultDirContextValidatorTest.java index b3eba294..db487c12 100644 --- a/core/src/test/java/org/springframework/ldap/pool/validation/DefaultDirContextValidatorTest.java +++ b/core/src/test/java/org/springframework/ldap/pool/validation/DefaultDirContextValidatorTest.java @@ -69,7 +69,25 @@ public class DefaultDirContextValidatorTest extends TestCase { namingEnumerationControl.verify(); dirContextControl.verify(); } + + // LDAP-189 + public void testSearchScopeOneLevelScopeSetInConstructorIsUsed() throws Exception { + DefaultDirContextValidator tested = new DefaultDirContextValidator(SearchControls.ONELEVEL_SCOPE); + assertEquals("ONELEVEL_SCOPE, ", SearchControls.ONELEVEL_SCOPE, tested.getSearchControls().getSearchScope()); + } + + // LDAP-189 + public void testSearchScopeSubTreeScopeSetInConstructorIsUsed() throws Exception { + DefaultDirContextValidator tested = new DefaultDirContextValidator(SearchControls.SUBTREE_SCOPE); + assertEquals("SUBTREE_SCOPE, ", SearchControls.SUBTREE_SCOPE, tested.getSearchControls().getSearchScope()); + } + // LDAP-189 + public void testSearchScopeObjectScopeSetInConstructorIsUsed() throws Exception { + DefaultDirContextValidator tested = new DefaultDirContextValidator(SearchControls.OBJECT_SCOPE); + assertEquals("OBJECT_SCOPE, ", SearchControls.OBJECT_SCOPE, tested.getSearchControls().getSearchScope()); + } + public void testProperties() throws Exception { final DefaultDirContextValidator dirContextValidator = new DefaultDirContextValidator();