Repository: james-project
Updated Branches:
  refs/heads/master d87faa70b -> 303b4be21


JAMES-2059 Run MPT tests on random ports


Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/303b4be2
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/303b4be2
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/303b4be2

Branch: refs/heads/master
Commit: 303b4be2151929c38a008a3895f6cdb5f5da7e8e
Parents: d87faa7
Author: Antoine Duprat <adup...@linagora.com>
Authored: Thu Jun 15 11:33:14 2017 +0200
Committer: benwa <btell...@linagora.com>
Committed: Fri Jun 16 10:09:11 2017 +0700

----------------------------------------------------------------------
 .../test/java/org/apache/james/mpt/ant/TestAddUser.java | 12 +++++-------
 .../java/org/apache/james/mpt/ant/TestRunScripts.java   | 10 ++++------
 .../test/java/org/apache/james/mpt/DiscardProtocol.java | 11 +++++++----
 .../java/org/apache/james/mpt/TestDiscardProtocol.java  |  6 ++----
 .../org/apache/james/mpt/TestExternalHostSystem.java    |  6 ++----
 .../org/apache/james/mpt/TestScriptedUserAdder.java     |  6 ++----
 6 files changed, 22 insertions(+), 29 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/303b4be2/mpt/antlib/src/test/java/org/apache/james/mpt/ant/TestAddUser.java
----------------------------------------------------------------------
diff --git a/mpt/antlib/src/test/java/org/apache/james/mpt/ant/TestAddUser.java 
b/mpt/antlib/src/test/java/org/apache/james/mpt/ant/TestAddUser.java
index 91a7d1c..ba4ee14 100644
--- a/mpt/antlib/src/test/java/org/apache/james/mpt/ant/TestAddUser.java
+++ b/mpt/antlib/src/test/java/org/apache/james/mpt/ant/TestAddUser.java
@@ -19,16 +19,14 @@
 
 package org.apache.james.mpt.ant;
 
-import junit.framework.TestCase;
-
 import org.apache.james.mpt.DiscardProtocol;
 import org.apache.tools.ant.Project;
 import org.apache.tools.ant.types.resources.Union;
 
+import junit.framework.TestCase;
+
 public class TestAddUser extends TestCase {
 
-    private static final int PORT = 10001;
-    
     DiscardProtocol fakeServer;
     
     DiscardProtocol.Record record;
@@ -37,13 +35,13 @@ public class TestAddUser extends TestCase {
     
     protected void setUp() throws Exception {
         super.setUp();
-        fakeServer = new DiscardProtocol(PORT);
+        fakeServer = new DiscardProtocol();
         fakeServer.start();
         record = fakeServer.recordNext();
         
         subject = new MailProtocolTestTask();
         subject.setHost("127.0.0.1");
-        subject.setPort(PORT+1);
+        subject.setPort(fakeServer.getPort());
         subject.add(new Union());
         subject.setProject(new Project());
     }
@@ -55,7 +53,7 @@ public class TestAddUser extends TestCase {
 
     public void testShouldExecuteScriptAgainstPort() throws Exception {
         MailProtocolTestTask.AddUser user = subject.createAddUser();
-        user.setPort(PORT);
+        user.setPort(fakeServer.getPort());
         user.setPasswd("PASSWORD");
         user.setUser("USER");
         final String script = "This script adds a user";

http://git-wip-us.apache.org/repos/asf/james-project/blob/303b4be2/mpt/antlib/src/test/java/org/apache/james/mpt/ant/TestRunScripts.java
----------------------------------------------------------------------
diff --git 
a/mpt/antlib/src/test/java/org/apache/james/mpt/ant/TestRunScripts.java 
b/mpt/antlib/src/test/java/org/apache/james/mpt/ant/TestRunScripts.java
index 78efb37..d3ff9c0 100644
--- a/mpt/antlib/src/test/java/org/apache/james/mpt/ant/TestRunScripts.java
+++ b/mpt/antlib/src/test/java/org/apache/james/mpt/ant/TestRunScripts.java
@@ -23,20 +23,18 @@ import java.io.File;
 import java.io.FileWriter;
 import java.io.InputStream;
 
-import junit.framework.TestCase;
-
 import org.apache.james.mpt.DiscardProtocol;
 import org.apache.tools.ant.Project;
 import org.apache.tools.ant.types.Resource;
 import org.apache.tools.ant.types.resources.StringResource;
 import org.apache.tools.ant.types.resources.Union;
 
+import junit.framework.TestCase;
+
 public class TestRunScripts extends TestCase {
 
     private static final String SCRIPT = "A script";
 
-    private static final int PORT = 10001;
-    
     Union stubResourceCollection;
     Resource stubResource;
     
@@ -47,7 +45,7 @@ public class TestRunScripts extends TestCase {
     
     protected void setUp() throws Exception {
         super.setUp();
-        fakeServer = new DiscardProtocol(PORT);
+        fakeServer = new DiscardProtocol();
         fakeServer.start();
         record = fakeServer.recordNext();
         
@@ -57,7 +55,7 @@ public class TestRunScripts extends TestCase {
         
         subject = new MailProtocolTestTask();
         subject.setHost("127.0.0.1");
-        subject.setPort(PORT);
+        subject.setPort(fakeServer.getPort());
         subject.setProject(new Project());
     }
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/303b4be2/mpt/core/src/test/java/org/apache/james/mpt/DiscardProtocol.java
----------------------------------------------------------------------
diff --git a/mpt/core/src/test/java/org/apache/james/mpt/DiscardProtocol.java 
b/mpt/core/src/test/java/org/apache/james/mpt/DiscardProtocol.java
index 19e3343..f1cb19b 100644
--- a/mpt/core/src/test/java/org/apache/james/mpt/DiscardProtocol.java
+++ b/mpt/core/src/test/java/org/apache/james/mpt/DiscardProtocol.java
@@ -47,7 +47,7 @@ public class DiscardProtocol {
     private static final Log LOG = LogFactory.getLog(DiscardProtocol.class);
     
     /** Serve on this port */
-    private final int port;
+    private int port;
     
     /** 
      * Queues requests for recordings.
@@ -64,9 +64,8 @@ public class DiscardProtocol {
     private volatile ServerSocketChannel socket;
     
 
-    public DiscardProtocol(int port) {
+    public DiscardProtocol() {
         super();
-        this.port = port;
         queue = new LinkedList<Server>();
         runningServers = new LinkedList<Server>();
     }
@@ -81,7 +80,8 @@ public class DiscardProtocol {
         {
             if (socket == null) {
                 socket = ServerSocketChannel.open();
-                socket.socket().bind(new InetSocketAddress(port));
+                socket.socket().bind(new InetSocketAddress(0));
+                port = socket.socket().getLocalPort();
                 // only going to record a single conversation
                 socket.configureBlocking(false);
                 
@@ -94,6 +94,9 @@ public class DiscardProtocol {
         }
     }
     
+    public int getPort() {
+        return port;
+    }
     
     public Record recordNext() {
         synchronized (queue)

http://git-wip-us.apache.org/repos/asf/james-project/blob/303b4be2/mpt/core/src/test/java/org/apache/james/mpt/TestDiscardProtocol.java
----------------------------------------------------------------------
diff --git 
a/mpt/core/src/test/java/org/apache/james/mpt/TestDiscardProtocol.java 
b/mpt/core/src/test/java/org/apache/james/mpt/TestDiscardProtocol.java
index 0f0b525..1bde877 100644
--- a/mpt/core/src/test/java/org/apache/james/mpt/TestDiscardProtocol.java
+++ b/mpt/core/src/test/java/org/apache/james/mpt/TestDiscardProtocol.java
@@ -52,8 +52,6 @@ public class TestDiscardProtocol extends TestCase {
 
     private static final String INPUT = "One, two, three - Testing";
 
-    private static final int PORT = 10001;
-    
     private DiscardProtocol protocol;
     private Socket socket;
 
@@ -62,9 +60,9 @@ public class TestDiscardProtocol extends TestCase {
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        protocol = new DiscardProtocol(PORT);
+        protocol = new DiscardProtocol();
         protocol.start();
-        socket = SocketFactory.getDefault().createSocket("127.0.0.1", PORT);
+        socket = SocketFactory.getDefault().createSocket("127.0.0.1", 
protocol.getPort());
         record = protocol.recordNext();
     }
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/303b4be2/mpt/core/src/test/java/org/apache/james/mpt/TestExternalHostSystem.java
----------------------------------------------------------------------
diff --git 
a/mpt/core/src/test/java/org/apache/james/mpt/TestExternalHostSystem.java 
b/mpt/core/src/test/java/org/apache/james/mpt/TestExternalHostSystem.java
index 28956d2..d914af2 100644
--- a/mpt/core/src/test/java/org/apache/james/mpt/TestExternalHostSystem.java
+++ b/mpt/core/src/test/java/org/apache/james/mpt/TestExternalHostSystem.java
@@ -39,8 +39,6 @@ public class TestExternalHostSystem extends 
MockObjectTestCase {
 
     private static final String SHABANG = "This Is The Shabang";
 
-    private static final int PORT = 10001;
-
     private static final ImapFeatures SUPPORTED_FEATURES = 
ImapFeatures.of(Feature.NAMESPACE_SUPPORT);
 
     
@@ -57,7 +55,7 @@ public class TestExternalHostSystem extends 
MockObjectTestCase {
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        protocol = new DiscardProtocol(PORT);
+        protocol = new DiscardProtocol();
         protocol.start();
         record = protocol.recordNext();
         continuation = (Continuation) mock(Continuation.class).proxy();
@@ -91,7 +89,7 @@ public class TestExternalHostSystem extends 
MockObjectTestCase {
     }
 
     private ExternalHostSystem buildSystem(String shabang) {
-        return new ExternalHostSystem(SUPPORTED_FEATURES, "localhost", PORT ,
+        return new ExternalHostSystem(SUPPORTED_FEATURES, "localhost", 
protocol.getPort(),
                 new NullMonitor(), shabang, userAdder);
     }
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/303b4be2/mpt/core/src/test/java/org/apache/james/mpt/TestScriptedUserAdder.java
----------------------------------------------------------------------
diff --git 
a/mpt/core/src/test/java/org/apache/james/mpt/TestScriptedUserAdder.java 
b/mpt/core/src/test/java/org/apache/james/mpt/TestScriptedUserAdder.java
index bc2c23a..940bf35 100644
--- a/mpt/core/src/test/java/org/apache/james/mpt/TestScriptedUserAdder.java
+++ b/mpt/core/src/test/java/org/apache/james/mpt/TestScriptedUserAdder.java
@@ -25,15 +25,13 @@ import junit.framework.TestCase;
 
 public class TestScriptedUserAdder extends TestCase {
     
-    private static final int PORT = 10001;
-    
     private DiscardProtocol protocol;
     
     private DiscardProtocol.Record record;
     
     protected void setUp() throws Exception {
         super.setUp();
-        protocol = new DiscardProtocol(PORT);
+        protocol = new DiscardProtocol();
         protocol.start();
         record = protocol.recordNext();
     }
@@ -44,7 +42,7 @@ public class TestScriptedUserAdder extends TestCase {
     }
 
     public void testShouldExecuteScriptAgainstPort() throws Exception {
-        ScriptedUserAdder adder = new ScriptedUserAdder("localhost", PORT, "C: 
USER='${user}' password='${password}'");
+        ScriptedUserAdder adder = new ScriptedUserAdder("localhost", 
protocol.getPort(), "C: USER='${user}' password='${password}'");
         adder.addUser("A User", "Some Password");
         assertEquals("USER='A User' password='Some Password'\r\n", 
record.complete());
     }


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org
For additional commands, e-mail: server-dev-h...@james.apache.org

Reply via email to