You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by ch...@apache.org on 2015/07/02 12:09:27 UTC

svn commit: r1688802 - /jackrabbit/oak/trunk/oak-remote/src/test/java/org/apache/jackrabbit/oak/remote/http/handler/RemoteServerIT.java

Author: chetanm
Date: Thu Jul  2 10:09:27 2015
New Revision: 1688802

URL: http://svn.apache.org/r1688802
Log:
OAK-3065 - RemoteServerIT failing due to address already in use

Applying patch from Francesco Mari

Modified:
    jackrabbit/oak/trunk/oak-remote/src/test/java/org/apache/jackrabbit/oak/remote/http/handler/RemoteServerIT.java

Modified: jackrabbit/oak/trunk/oak-remote/src/test/java/org/apache/jackrabbit/oak/remote/http/handler/RemoteServerIT.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-remote/src/test/java/org/apache/jackrabbit/oak/remote/http/handler/RemoteServerIT.java?rev=1688802&r1=1688801&r2=1688802&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-remote/src/test/java/org/apache/jackrabbit/oak/remote/http/handler/RemoteServerIT.java (original)
+++ jackrabbit/oak/trunk/oak-remote/src/test/java/org/apache/jackrabbit/oak/remote/http/handler/RemoteServerIT.java Thu Jul  2 10:09:27 2015
@@ -41,9 +41,9 @@ import org.junit.Test;
 
 import javax.jcr.SimpleCredentials;
 import java.io.ByteArrayInputStream;
-import java.io.File;
 import java.io.InputStream;
 import java.math.BigDecimal;
+import java.net.ServerSocket;
 import java.util.Calendar;
 import java.util.List;
 import java.util.regex.Matcher;
@@ -71,6 +71,8 @@ public class RemoteServerIT extends OakB
 
     private RemoteServer remoteServer;
 
+    private int port;
+
     public RemoteServerIT(NodeStoreFixture fixture) {
         super(fixture);
     }
@@ -103,16 +105,21 @@ public class RemoteServerIT extends OakB
         return repository.login(new SimpleCredentials("admin", "admin".toCharArray()), null);
     }
 
-    private String getHost() {
-        return "localhost";
-    }
+    private int getRandomPort() throws Exception {
+        ServerSocket serverSocket = null;
 
-    private int getPort() {
-        return 28080;
+        try {
+            serverSocket = new ServerSocket(0);
+            return serverSocket.getLocalPort();
+        } finally {
+            if (serverSocket != null) {
+                serverSocket.close();
+            }
+        }
     }
 
     private String resource(String path) {
-        return "http://" + getHost() + ":" + getPort() + path;
+        return "http://localhost:" + port + path;
     }
 
     private String load(String name) throws Exception {
@@ -127,10 +134,11 @@ public class RemoteServerIT extends OakB
 
     @Before
     public void setUp() throws Exception {
+        port = getRandomPort();
         contentRepository = getContentRepository();
         contentSession = getContentSession(contentRepository);
         remoteRepository = getRemoteRepository(contentRepository);
-        remoteServer = getRemoteServer(remoteRepository, getHost(), getPort());
+        remoteServer = getRemoteServer(remoteRepository, "localhost", port);
         remoteServer.start();
     }