Return-Path: Delivered-To: apmail-directory-commits-archive@www.apache.org Received: (qmail 87942 invoked from network); 23 Feb 2010 11:40:28 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 23 Feb 2010 11:40:28 -0000 Received: (qmail 54414 invoked by uid 500); 23 Feb 2010 11:40:28 -0000 Delivered-To: apmail-directory-commits-archive@directory.apache.org Received: (qmail 54352 invoked by uid 500); 23 Feb 2010 11:40:28 -0000 Mailing-List: contact commits-help@directory.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@directory.apache.org Delivered-To: mailing list commits@directory.apache.org Received: (qmail 54343 invoked by uid 99); 23 Feb 2010 11:40:28 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 23 Feb 2010 11:40:28 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 23 Feb 2010 11:40:26 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id D8AE023889EB; Tue, 23 Feb 2010 11:40:05 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r915289 - /directory/clients/ldap/trunk/ldap-client-test/src/test/java/org/apache/directory/shared/client/api/operations/ClientSearchRequestTest.java Date: Tue, 23 Feb 2010 11:40:05 -0000 To: commits@directory.apache.org From: kayyagari@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20100223114005.D8AE023889EB@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: kayyagari Date: Tue Feb 23 11:40:05 2010 New Revision: 915289 URL: http://svn.apache.org/viewvc?rev=915289&view=rev Log: o added a test case for searching with alais deref options o modified the searchscope to one level to prevent changing the code when new entries are applied (as the test cases evolve) Modified: directory/clients/ldap/trunk/ldap-client-test/src/test/java/org/apache/directory/shared/client/api/operations/ClientSearchRequestTest.java Modified: directory/clients/ldap/trunk/ldap-client-test/src/test/java/org/apache/directory/shared/client/api/operations/ClientSearchRequestTest.java URL: http://svn.apache.org/viewvc/directory/clients/ldap/trunk/ldap-client-test/src/test/java/org/apache/directory/shared/client/api/operations/ClientSearchRequestTest.java?rev=915289&r1=915288&r2=915289&view=diff ============================================================================== --- directory/clients/ldap/trunk/ldap-client-test/src/test/java/org/apache/directory/shared/client/api/operations/ClientSearchRequestTest.java (original) +++ directory/clients/ldap/trunk/ldap-client-test/src/test/java/org/apache/directory/shared/client/api/operations/ClientSearchRequestTest.java Tue Feb 23 11:40:05 2010 @@ -29,14 +29,17 @@ import org.apache.directory.ldap.client.api.LdapConnection; import org.apache.directory.ldap.client.api.future.SearchFuture; +import org.apache.directory.ldap.client.api.message.SearchRequest; import org.apache.directory.ldap.client.api.message.SearchResponse; import org.apache.directory.ldap.client.api.message.SearchResultDone; import org.apache.directory.server.annotations.CreateLdapServer; import org.apache.directory.server.annotations.CreateTransport; +import org.apache.directory.server.core.annotations.ApplyLdifs; import org.apache.directory.server.core.integ.AbstractLdapTestUnit; import org.apache.directory.server.core.integ.FrameworkRunner; import org.apache.directory.shared.ldap.cursor.Cursor; import org.apache.directory.shared.ldap.filter.SearchScope; +import org.apache.directory.shared.ldap.message.AliasDerefMode; import org.apache.directory.shared.ldap.name.LdapDN; import org.junit.After; import org.junit.Before; @@ -51,8 +54,27 @@ * @version $Rev$, $Date$ */ @RunWith(FrameworkRunner.class) -@CreateLdapServer(transports = - { @CreateTransport(protocol = "LDAP"), @CreateTransport(protocol = "LDAPS") }) +@CreateLdapServer( + transports = + { + @CreateTransport(protocol = "LDAP"), + @CreateTransport(protocol = "LDAPS") + }) +@ApplyLdifs({ + "dn: cn=user1,ou=users,ou=system", + "objectClass: person", + "objectClass: top", + "sn: user1 sn", + "cn: user1", + + // alias to the above entry + "dn: cn=user1-alias,ou=users,ou=system", + "objectClass: alias", + "objectClass: top", + "objectClass: extensibleObject", + "aliasedObjectName: cn=user1,ou=users,ou=system", + "cn: user1-alias" +}) public class ClientSearchRequestTest extends AbstractLdapTestUnit { private LdapConnection connection; @@ -89,7 +111,7 @@ @Test public void testSearch() throws Exception { - Cursor cursor = connection.search( "ou=system", "(objectclass=*)", SearchScope.SUBTREE, "*", + Cursor cursor = connection.search( "ou=system", "(objectclass=*)", SearchScope.ONELEVEL, "*", "+" ); int count = 0; while ( cursor.next() ) @@ -98,14 +120,14 @@ count++; } - assertEquals( 10, count ); + assertEquals( 5, count ); } @Test public void testAsyncSearch() throws Exception { - SearchFuture searchFuture = connection.searchAsync( "ou=system", "(objectclass=*)", SearchScope.SUBTREE, "*", + SearchFuture searchFuture = connection.searchAsync( "ou=system", "(objectclass=*)", SearchScope.ONELEVEL, "*", "+" ); int count = 0; SearchResponse searchResponse = null; @@ -120,7 +142,37 @@ } while ( !( searchResponse instanceof SearchResultDone ) ); - assertEquals( 10, count ); + assertEquals( 5, count ); } + + @Test + public void testSearchWithDerefAlias() throws Exception + { + SearchRequest searchRequest = new SearchRequest(); + searchRequest.setBaseDn( "ou=users,ou=system" ); + searchRequest.setFilter( "(objectClass=*)" ); + searchRequest.setScope( SearchScope.ONELEVEL ); + searchRequest.addAttributes( "*" ); + + int count = 0; + Cursor cursor = connection.search( searchRequest ); + while( cursor.next() ) + { + count++; + } + + // due to dereferencing of aliases we get only one entry + assertEquals( 1, count ); + + count = 0; + searchRequest.setDerefAliases( AliasDerefMode.NEVER_DEREF_ALIASES ); + cursor = connection.search( searchRequest ); + while( cursor.next() ) + { + count++; + } + + assertEquals( 2, count ); + } }