Author: veithen
Date: Sat May 15 10:32:42 2010
New Revision: 944609

URL: http://svn.apache.org/viewvc?rev=944609&view=rev
Log:
Use dynamic port allocation in HTTP tests (instead of hardcoded port 8280).

Added:
    
axis/axis2/java/transports/trunk/modules/testkit/src/main/java/org/apache/axis2/transport/testkit/http/HttpTestEnvironment.java
   (with props)
Modified:
    
axis/axis2/java/transports/trunk/modules/http/test/org/apache/axis2/transport/http/HttpTransportDescriptionFactory.java
    
axis/axis2/java/transports/trunk/modules/http/test/org/apache/axis2/transport/http/SimpleHTTPServerTest.java
    
axis/axis2/java/transports/trunk/modules/testkit/src/main/java/org/apache/axis2/transport/testkit/http/HttpChannel.java
    
axis/axis2/java/transports/trunk/modules/testkit/src/main/java/org/apache/axis2/transport/testkit/http/JettyServer.java

Modified: 
axis/axis2/java/transports/trunk/modules/http/test/org/apache/axis2/transport/http/HttpTransportDescriptionFactory.java
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/transports/trunk/modules/http/test/org/apache/axis2/transport/http/HttpTransportDescriptionFactory.java?rev=944609&r1=944608&r2=944609&view=diff
==============================================================================
--- 
axis/axis2/java/transports/trunk/modules/http/test/org/apache/axis2/transport/http/HttpTransportDescriptionFactory.java
 (original)
+++ 
axis/axis2/java/transports/trunk/modules/http/test/org/apache/axis2/transport/http/HttpTransportDescriptionFactory.java
 Sat May 15 10:32:42 2010
@@ -23,13 +23,16 @@ import org.apache.axis2.description.Para
 import org.apache.axis2.description.TransportInDescription;
 import org.apache.axis2.description.TransportOutDescription;
 import org.apache.axis2.transport.testkit.axis2.TransportDescriptionFactory;
+import org.apache.axis2.transport.testkit.http.HttpTestEnvironment;
+import org.apache.axis2.transport.testkit.tests.Setup;
 import 
org.apache.axis2.transport.testkit.util.LifecycleFixTransportListenerProxy;
 
 public class HttpTransportDescriptionFactory implements 
TransportDescriptionFactory {
-    private final int port;
+    private int port;
     
-    public HttpTransportDescriptionFactory(int port) {
-        this.port = port;
+    @Setup @SuppressWarnings("unused")
+    private void setUp(HttpTestEnvironment env) {
+        port = env.getServerPort();
     }
 
     public TransportInDescription createTransportInDescription() throws 
Exception {

Modified: 
axis/axis2/java/transports/trunk/modules/http/test/org/apache/axis2/transport/http/SimpleHTTPServerTest.java
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/transports/trunk/modules/http/test/org/apache/axis2/transport/http/SimpleHTTPServerTest.java?rev=944609&r1=944608&r2=944609&view=diff
==============================================================================
--- 
axis/axis2/java/transports/trunk/modules/http/test/org/apache/axis2/transport/http/SimpleHTTPServerTest.java
 (original)
+++ 
axis/axis2/java/transports/trunk/modules/http/test/org/apache/axis2/transport/http/SimpleHTTPServerTest.java
 Sat May 15 10:32:42 2010
@@ -30,7 +30,7 @@ public class SimpleHTTPServerTest extend
     public static TestSuite suite() throws Exception {
         ManagedTestSuite suite = new 
ManagedTestSuite(SimpleHTTPServerTest.class);
         
-        TransportDescriptionFactory tdf = new 
HttpTransportDescriptionFactory(8280);
+        TransportDescriptionFactory tdf = new 
HttpTransportDescriptionFactory();
         
         new HttpTransportTestSuiteBuilder(suite, tdf).build();
         

Modified: 
axis/axis2/java/transports/trunk/modules/testkit/src/main/java/org/apache/axis2/transport/testkit/http/HttpChannel.java
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/transports/trunk/modules/testkit/src/main/java/org/apache/axis2/transport/testkit/http/HttpChannel.java?rev=944609&r1=944608&r2=944609&view=diff
==============================================================================
--- 
axis/axis2/java/transports/trunk/modules/testkit/src/main/java/org/apache/axis2/transport/testkit/http/HttpChannel.java
 (original)
+++ 
axis/axis2/java/transports/trunk/modules/testkit/src/main/java/org/apache/axis2/transport/testkit/http/HttpChannel.java
 Sat May 15 10:32:42 2010
@@ -19,7 +19,6 @@
 
 package org.apache.axis2.transport.testkit.http;
 
-import java.net.InetSocketAddress;
 import java.util.UUID;
 
 import org.apache.axis2.addressing.EndpointReference;
@@ -28,14 +27,15 @@ import org.apache.axis2.transport.testki
 import org.apache.axis2.transport.testkit.tests.Setup;
 import org.apache.axis2.transport.testkit.tests.TearDown;
 import org.apache.axis2.transport.testkit.tests.Transient;
-import org.apache.axis2.transport.testkit.util.tcpmon.Tunnel;
 
 public class HttpChannel implements AsyncChannel, RequestResponseChannel {
+    private int serverPort;
     private @Transient String serviceName;
 //    private @Transient Tunnel tunnel;
     
     @Setup @SuppressWarnings("unused")
-    private void setUp() throws Exception {
+    private void setUp(HttpTestEnvironment env) throws Exception {
+        serverPort = env.getServerPort();
         serviceName = "TestService-" + UUID.randomUUID();
 //        tunnel = new Tunnel(new InetSocketAddress("127.0.0.1", 8280));
 //        tunnel.start();
@@ -51,6 +51,6 @@ public class HttpChannel implements Asyn
     }
 
     public EndpointReference getEndpointReference() throws Exception {
-        return new EndpointReference("http://localhost:"; + /* tunnel.getPort() 
*/ 8280 + CONTEXT_PATH + "/" + serviceName);
+        return new EndpointReference("http://localhost:"; + /* tunnel.getPort() 
*/ serverPort + CONTEXT_PATH + "/" + serviceName);
     }
 }
\ No newline at end of file

Added: 
axis/axis2/java/transports/trunk/modules/testkit/src/main/java/org/apache/axis2/transport/testkit/http/HttpTestEnvironment.java
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/transports/trunk/modules/testkit/src/main/java/org/apache/axis2/transport/testkit/http/HttpTestEnvironment.java?rev=944609&view=auto
==============================================================================
--- 
axis/axis2/java/transports/trunk/modules/testkit/src/main/java/org/apache/axis2/transport/testkit/http/HttpTestEnvironment.java
 (added)
+++ 
axis/axis2/java/transports/trunk/modules/testkit/src/main/java/org/apache/axis2/transport/testkit/http/HttpTestEnvironment.java
 Sat May 15 10:32:42 2010
@@ -0,0 +1,49 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+
+package org.apache.axis2.transport.testkit.http;
+
+import org.apache.axis2.transport.testkit.tests.Setup;
+import org.apache.axis2.transport.testkit.tests.TearDown;
+import org.apache.axis2.transport.testkit.tests.Transient;
+import org.apache.axis2.transport.testkit.util.PortAllocator;
+
+public class HttpTestEnvironment {
+    public static final HttpTestEnvironment INSTANCE = new 
HttpTestEnvironment();
+    
+    private @Transient PortAllocator portAllocator;
+    private int serverPort;
+
+    private HttpTestEnvironment() {}
+    
+    @Setup @SuppressWarnings("unused")
+    private void setUp(PortAllocator portAllocator) throws Exception {
+        this.portAllocator = portAllocator;
+        serverPort = portAllocator.allocatePort();
+    }
+
+    public int getServerPort() {
+        return serverPort;
+    }
+    
+    @TearDown @SuppressWarnings("unused")
+    private void tearDown() throws Exception {
+        portAllocator.releasePort(serverPort);
+    }
+}

Propchange: 
axis/axis2/java/transports/trunk/modules/testkit/src/main/java/org/apache/axis2/transport/testkit/http/HttpTestEnvironment.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: 
axis/axis2/java/transports/trunk/modules/testkit/src/main/java/org/apache/axis2/transport/testkit/http/JettyServer.java
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/transports/trunk/modules/testkit/src/main/java/org/apache/axis2/transport/testkit/http/JettyServer.java?rev=944609&r1=944608&r2=944609&view=diff
==============================================================================
--- 
axis/axis2/java/transports/trunk/modules/testkit/src/main/java/org/apache/axis2/transport/testkit/http/JettyServer.java
 (original)
+++ 
axis/axis2/java/transports/trunk/modules/testkit/src/main/java/org/apache/axis2/transport/testkit/http/JettyServer.java
 Sat May 15 10:32:42 2010
@@ -36,10 +36,10 @@ public class JettyServer {
     private JettyServer() {}
     
     @Setup @SuppressWarnings("unused")
-    private void setUp() throws Exception {
+    private void setUp(HttpTestEnvironment env) throws Exception {
         server = new Server();
         SocketListener listener = new SocketListener();
-        listener.setPort(8280);
+        listener.setPort(env.getServerPort());
         server.addListener(listener);
         context = new HttpContext(server, Channel.CONTEXT_PATH + "/*");
         server.start();


Reply via email to