You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by lu...@apache.org on 2014/07/25 22:18:39 UTC

svn commit: r1613510 - in /directory/apacheds/trunk: ./ ldap-client-test/src/test/java/org/apache/directory/ldap/client/template/ ldap-client-test/src/test/java/org/apache/directory/shared/client/api/

Author: lucastheisen
Date: Fri Jul 25 20:18:39 2014
New Revision: 1613510

URL: http://svn.apache.org/r1613510
Log:
DIRAPI-199,DIRAPI-198,DIRAPI-200: Added unit tests, updated the pom dependency versions for next development iteration

Modified:
    directory/apacheds/trunk/ldap-client-test/src/test/java/org/apache/directory/ldap/client/template/LdapConnectionTemplateTest.java
    directory/apacheds/trunk/ldap-client-test/src/test/java/org/apache/directory/shared/client/api/LdapConnectionPoolTest.java
    directory/apacheds/trunk/pom.xml

Modified: directory/apacheds/trunk/ldap-client-test/src/test/java/org/apache/directory/ldap/client/template/LdapConnectionTemplateTest.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/ldap-client-test/src/test/java/org/apache/directory/ldap/client/template/LdapConnectionTemplateTest.java?rev=1613510&r1=1613509&r2=1613510&view=diff
==============================================================================
--- directory/apacheds/trunk/ldap-client-test/src/test/java/org/apache/directory/ldap/client/template/LdapConnectionTemplateTest.java (original)
+++ directory/apacheds/trunk/ldap-client-test/src/test/java/org/apache/directory/ldap/client/template/LdapConnectionTemplateTest.java Fri Jul 25 20:18:39 2014
@@ -26,8 +26,10 @@ import static org.junit.Assert.assertNot
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.fail;
 
+
 import java.util.List;
 
+
 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.message.AddResponse;
@@ -41,6 +43,7 @@ import org.apache.directory.ldap.client.
 import org.apache.directory.server.annotations.CreateLdapConnectionPool;
 import org.apache.directory.server.annotations.CreateLdapServer;
 import org.apache.directory.server.annotations.CreateTransport;
+import org.apache.directory.server.constants.ServerDNConstants;
 import org.apache.directory.server.core.annotations.ApplyLdifFiles;
 import org.apache.directory.server.core.annotations.ContextEntry;
 import org.apache.directory.server.core.annotations.CreateDS;
@@ -90,7 +93,9 @@ import org.junit.Test;
         "ldif/muppets.ldif"
     }
 )
-@CreateLdapConnectionPool
+@CreateLdapConnectionPool(
+        maxActive = 1,
+        maxWait = 5000 )
 public class LdapConnectionTemplateTest
 {
     @ClassRule
@@ -291,6 +296,18 @@ public class LdapConnectionTemplateTest
             fail( "failed to change password" );
         }
     }
+    
+    
+    @Test
+    public void testReauthenticate() throws PasswordException
+    {
+        for ( int i = 0; i < 100; i++ ) {
+            ldapConnectionTemplate.authenticate( 
+                    ldapConnectionTemplate.newDn( 
+                            ServerDNConstants.ADMIN_SYSTEM_DN ),
+                    "secret".toCharArray() );
+        }
+    }
 
     
     @Test

Modified: directory/apacheds/trunk/ldap-client-test/src/test/java/org/apache/directory/shared/client/api/LdapConnectionPoolTest.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/ldap-client-test/src/test/java/org/apache/directory/shared/client/api/LdapConnectionPoolTest.java?rev=1613510&r1=1613509&r2=1613510&view=diff
==============================================================================
--- directory/apacheds/trunk/ldap-client-test/src/test/java/org/apache/directory/shared/client/api/LdapConnectionPoolTest.java (original)
+++ directory/apacheds/trunk/ldap-client-test/src/test/java/org/apache/directory/shared/client/api/LdapConnectionPoolTest.java Fri Jul 25 20:18:39 2014
@@ -20,15 +20,19 @@
 package org.apache.directory.shared.client.api;
 
 
+import static org.junit.Assert.assertNotNull;
+
 import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.TimeUnit;
 
 import org.apache.commons.pool.impl.GenericObjectPool;
+import org.apache.directory.api.ldap.model.exception.LdapException;
 import org.apache.directory.api.ldap.model.name.Dn;
 import org.apache.directory.ldap.client.api.LdapConnection;
 import org.apache.directory.ldap.client.api.LdapConnectionConfig;
 import org.apache.directory.ldap.client.api.LdapConnectionPool;
 import org.apache.directory.ldap.client.api.PoolableLdapConnectionFactory;
+import org.apache.directory.ldap.client.template.exception.PasswordException;
 import org.apache.directory.server.annotations.CreateLdapServer;
 import org.apache.directory.server.annotations.CreateTransport;
 import org.apache.directory.server.constants.ServerDNConstants;
@@ -149,4 +153,47 @@ public class LdapConnectionPoolTest exte
 
         System.out.println( "Time to create and use 10 000 connections = " + ( t1 - t0 ) );
     }
+    
+    
+    @Test
+    public void testRebind() throws Exception
+    {
+        for ( int i = 0; i < 300; i++ ) {
+            LdapConnection connection = pool.getConnection();
+            try 
+            {
+                // uncomment next line to test the unBind()
+                // bind() race condition described here:
+                // http://mail-archives.apache.org/mod_mbox/directory-dev/201407.mbox/%3CEE6ADC61AF2D71408E4FA7F9517DB7710A9C07E5%40IMCMBX03.MITRE.ORG%3E
+                //connection.unBind();
+                connection.bind( ServerDNConstants.ADMIN_SYSTEM_DN, "secret" );
+            }
+            finally
+            {
+                assertNotNull( connection );
+                pool.releaseConnection( connection );
+            }
+        }
+    }
+    
+    
+    @Test
+    public void testSmallPool() throws Exception
+    {
+        LdapConnectionConfig config = new LdapConnectionConfig();
+        config.setLdapHost( "localHost" );
+        config.setLdapPort( getLdapServer().getPort() );
+        config.setName( DEFAULT_ADMIN );
+        config.setCredentials( DEFAULT_PASSWORD );
+        PoolableLdapConnectionFactory factory = new PoolableLdapConnectionFactory( config );
+        LdapConnectionPool pool = new LdapConnectionPool( factory );
+        pool.setMaxActive( 1 );
+        pool.setTestOnBorrow( true );
+        pool.setWhenExhaustedAction( GenericObjectPool.WHEN_EXHAUSTED_FAIL );
+
+        for ( int i = 0; i < 100; i++ ) {
+            LdapConnection connection = pool.getConnection();
+            pool.releaseConnection( connection );
+        }
+    }
 }

Modified: directory/apacheds/trunk/pom.xml
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/pom.xml?rev=1613510&r1=1613509&r2=1613510&view=diff
==============================================================================
--- directory/apacheds/trunk/pom.xml (original)
+++ directory/apacheds/trunk/pom.xml Fri Jul 25 20:18:39 2014
@@ -45,8 +45,8 @@
     <distMgmtSiteUrl>scpexe://people.apache.org/www/directory.apache.org/apacheds/gen-docs/${project.version}/</distMgmtSiteUrl>
 
     <!-- Set versions for depending projects -->
-    <org.apache.directory.api.version>1.0.0-M23</org.apache.directory.api.version>
-    <org.apache.directory.mavibot.version>1.0.0-M5</org.apache.directory.mavibot.version>
+    <org.apache.directory.api.version>1.0.0-M24-SNAPSHOT</org.apache.directory.api.version>
+    <org.apache.directory.mavibot.version>1.0.0-M6-SNAPSHOT</org.apache.directory.mavibot.version>
     <org.apache.directory.checkstyle-configuration.version>0.1</org.apache.directory.checkstyle-configuration.version>
     <org.apache.directory.junit.junit-addons.version>0.1</org.apache.directory.junit.junit-addons.version>
     <org.apache.directory.jdbm.version>2.0.0-M2</org.apache.directory.jdbm.version>