From f89c99bee37103772b4009fea14387fa92f9da98 Mon Sep 17 00:00:00 2001
From: Nicolas Capponi <nicolas.capponi@forgerock.com>
Date: Tue, 08 Oct 2013 16:12:52 +0000
Subject: [PATCH] OPENDJ-346 Consider using java.util.ServiceLoader for loading extensions and requesting transport implementations

---
 opendj3/opendj-ldap-sdk/src/test/java/org/forgerock/opendj/ldap/LDAPConnectionFactoryTestCase.java |   43 ++++++++++++++++++++++++-------------------
 1 files changed, 24 insertions(+), 19 deletions(-)

diff --git a/opendj3/opendj-ldap-sdk/src/test/java/org/forgerock/opendj/ldap/LDAPConnectionFactoryTestCase.java b/opendj3/opendj-ldap-sdk/src/test/java/org/forgerock/opendj/ldap/LDAPConnectionFactoryTestCase.java
index 171df62..93c70d0 100644
--- a/opendj3/opendj-ldap-sdk/src/test/java/org/forgerock/opendj/ldap/LDAPConnectionFactoryTestCase.java
+++ b/opendj3/opendj-ldap-sdk/src/test/java/org/forgerock/opendj/ldap/LDAPConnectionFactoryTestCase.java
@@ -27,7 +27,6 @@
 
 import static org.fest.assertions.Assertions.assertThat;
 import static org.forgerock.opendj.ldap.TestCaseUtils.findFreeSocketAddress;
-import static org.forgerock.opendj.ldap.TestCaseUtils.getLDAPTestOptions;
 import static org.mockito.Mockito.mock;
 
 import java.io.IOException;
@@ -48,14 +47,23 @@
     @Test
     public void testCreateLDAPConnectionFactory() throws Exception {
         // test no exception is thrown, which means transport provider is correctly loaded
-        LDAPConnectionFactory factory = new LDAPConnectionFactory(findFreeSocketAddress(), getLDAPTestOptions());
+        LDAPConnectionFactory factory = new LDAPConnectionFactory(findFreeSocketAddress());
+        factory.close();
+    }
+
+    @Test
+    public void testCreateLDAPConnectionFactoryWithCustomClassLoader() throws Exception {
+        // test no exception is thrown, which means transport provider is correctly loaded
+        LDAPOptions options = new LDAPOptions().
+                setProviderClassLoader(Thread.currentThread().getContextClassLoader());
+        LDAPConnectionFactory factory = new LDAPConnectionFactory(findFreeSocketAddress(), options);
         factory.close();
     }
 
     @Test(expectedExceptions = { ProviderNotFoundException.class },
             expectedExceptionsMessageRegExp = "^The requested provider 'unknown' .*")
     public void testCreateLDAPConnectionFactoryFailureProviderNotFound() throws Exception {
-        LDAPOptions options = getLDAPTestOptions().setTransportProvider("unknown");
+        LDAPOptions options = new LDAPOptions().setTransportProvider("unknown");
         LDAPConnectionFactory factory = new LDAPConnectionFactory(findFreeSocketAddress(), options);
         factory.close();
     }
@@ -69,8 +77,7 @@
         final AtomicReference<LDAPClientContext> context = new AtomicReference<LDAPClientContext>();
         final Semaphore latch = new Semaphore(0);
         final LDAPListener server = createServer(latch, context);
-        final ConnectionFactory factory = new LDAPConnectionFactory(server.getSocketAddress(),
-                getLDAPTestOptions());
+        final ConnectionFactory factory = new LDAPConnectionFactory(server.getSocketAddress());
         try {
             for (int i = 0; i < 100; i++) {
                 // Connect to the server.
@@ -97,19 +104,17 @@
         }
     }
 
-    private LDAPListener createServer(final Semaphore latch,
-            final AtomicReference<LDAPClientContext> context) throws IOException {
-        return new LDAPListener(findFreeSocketAddress(),
-                new ServerConnectionFactory<LDAPClientContext, Integer>() {
-                    @SuppressWarnings("unchecked")
-                    @Override
-                    public ServerConnection<Integer> handleAccept(
-                            final LDAPClientContext clientContext) throws ErrorResultException {
-                        context.set(clientContext);
-                        latch.release();
-                        return mock(ServerConnection.class);
-                    }
-                },
-                TestCaseUtils.getLDAPListenerTestOptions());
+    private LDAPListener createServer(final Semaphore latch, final AtomicReference<LDAPClientContext> context)
+            throws IOException {
+        return new LDAPListener(findFreeSocketAddress(), new ServerConnectionFactory<LDAPClientContext, Integer>() {
+            @SuppressWarnings("unchecked")
+            @Override
+            public ServerConnection<Integer> handleAccept(final LDAPClientContext clientContext)
+                    throws ErrorResultException {
+                context.set(clientContext);
+                latch.release();
+                return mock(ServerConnection.class);
+            }
+        });
     }
 }

--
Gitblit v1.10.0