From 6a43174e1beb66446601e5c87063d07de92d2418 Mon Sep 17 00:00:00 2001
From: Chris Ridd <chris.ridd@forgerock.com>
Date: Thu, 22 May 2014 09:46:17 +0000
Subject: [PATCH] Fix OPENDJ-1466: Improve initialization of InetSocketAddress in SDK to prevent cached DNS data.

---
 opendj-grizzly/src/test/java/org/forgerock/opendj/grizzly/GrizzlyLDAPConnectionFactoryTestCase.java |   18 +++++++++++++-----
 1 files changed, 13 insertions(+), 5 deletions(-)

diff --git a/opendj-grizzly/src/test/java/org/forgerock/opendj/grizzly/GrizzlyLDAPConnectionFactoryTestCase.java b/opendj-grizzly/src/test/java/org/forgerock/opendj/grizzly/GrizzlyLDAPConnectionFactoryTestCase.java
index a6f4f18..980e64b 100644
--- a/opendj-grizzly/src/test/java/org/forgerock/opendj/grizzly/GrizzlyLDAPConnectionFactoryTestCase.java
+++ b/opendj-grizzly/src/test/java/org/forgerock/opendj/grizzly/GrizzlyLDAPConnectionFactoryTestCase.java
@@ -35,6 +35,7 @@
 import static org.mockito.Mockito.*;
 
 import java.io.IOException;
+import java.net.InetSocketAddress;
 import java.util.concurrent.Semaphore;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.TimeoutException;
@@ -104,8 +105,9 @@
     private final AtomicReference<LDAPClientContext> context =
             new AtomicReference<LDAPClientContext>();
     private final LDAPListener server = createServer();
-    private final ConnectionFactory factory = new LDAPConnectionFactory(server.getSocketAddress(),
-            new LDAPOptions().setTimeout(1, TimeUnit.MILLISECONDS));
+    private final InetSocketAddress socketAddress = server.getSocketAddress();
+    private final ConnectionFactory factory = new LDAPConnectionFactory(socketAddress.getHostName(),
+            socketAddress.getPort(), new LDAPOptions().setTimeout(1, TimeUnit.MILLISECONDS));
     private final ConnectionFactory pool = Connections.newFixedConnectionPool(factory, 10);
     private volatile ServerConnection<Integer> serverConnection;
 
@@ -293,7 +295,9 @@
     @Test
     public void testCreateLDAPConnectionFactory() throws Exception {
         // test no exception is thrown, which means transport provider is correctly loaded
-        LDAPConnectionFactory factory = new LDAPConnectionFactory(findFreeSocketAddress());
+        InetSocketAddress socketAddress = findFreeSocketAddress();
+        LDAPConnectionFactory factory = new LDAPConnectionFactory(socketAddress.getHostName(),
+                socketAddress.getPort());
         factory.close();
     }
 
@@ -301,7 +305,9 @@
             expectedExceptionsMessageRegExp = "^The requested provider 'unknown' .*")
     public void testCreateLDAPConnectionFactoryFailureProviderNotFound() throws Exception {
         LDAPOptions options = new LDAPOptions().setTransportProvider("unknown");
-        LDAPConnectionFactory factory = new LDAPConnectionFactory(findFreeSocketAddress(), options);
+        InetSocketAddress socketAddress = findFreeSocketAddress();
+        LDAPConnectionFactory factory = new LDAPConnectionFactory(socketAddress.getHostName(),
+                socketAddress.getPort(), options);
         factory.close();
     }
 
@@ -311,7 +317,9 @@
         LDAPOptions options =
                 new LDAPOptions().setProviderClassLoader(Thread.currentThread()
                         .getContextClassLoader());
-        LDAPConnectionFactory factory = new LDAPConnectionFactory(findFreeSocketAddress(), options);
+        InetSocketAddress socketAddress = findFreeSocketAddress();
+        LDAPConnectionFactory factory = new LDAPConnectionFactory(socketAddress.getHostName(),
+                socketAddress.getPort(), options);
         factory.close();
     }
 

--
Gitblit v1.10.0