hello Jerome,

i've attached a new version done with kdesvn instead of Eclipse (previous 
version).


On Thu January 15 2009 06:59:06 Jerome Louvel wrote:
> Hi Raif,
>
> That sounds like a useful thing to do. I was trying to apply the patch
> but got issues with the paths of the patched files.
>
> Could you try to use SVN instead to generate it, starting at the root of
> the SVN trunk instead?
>
> For Spring it should be possible to inject the static value into the bean
> property. I don't remember the exact syntax, but we can figure this out.
> Any Spring wizard listening?
>
> Best regards,
> Jerome Louvel
> --
> Restlet ~ Founder and Lead developer ~ http://www.restlet.org
> Noelios Technologies ~ Co-founder ~ http://www.noelios.com
>
>
> -----Message d'origine-----
> De : Raif S. Naffah [mailto:tig...@naffah-raif.name]
> Envoye : samedi 10 janvier 2009 07:48
> A : discuss@restlet.tigris.org
> Objet : Patch to parameterize port numbers in JUnit tests
>
> hello there,
>
> the JUnit tests (in org.restlet.test) have hard-wired port numbers which
> may not suit every developer's environment.  this patch introduces a new
> property in the main build.xml, and injects at as a system environment
> variable.
>
> when more than one port is required, the property value is used as a
> base; i.e. second port number is valueOf(property) + 1, etc.
>
> the only test i was not able to parametrize was the Spring test (and its
> .xml file).
>
>
> cheers;
> rsn
>
> ------------------------------------------------------
> http://restlet.tigris.org/ds/viewMessage.do?dsForumId=4447&dsMessageId=10
>24775


cheers;
rsn
Index: build/build.properties
===================================================================
--- build/build.properties      (revision 4122)
+++ build/build.properties      (working copy)
@@ -58,7 +58,8 @@

 # Indicates if the NSIS tool should be run over the
 # distribution files
-nsis: true
+#nsis: true
+nsis: false
 nsis-makensis-path: /usr/bin

 # Verbose flag currently used during Java compilation
@@ -73,3 +74,6 @@

 # Indicates if the final packaging phase should be done.
 package: true
+
+# Port number to use for JUnit tests
+port-number: 30000
Index: modules/org.restlet.test/src/org/restlet/test/ComponentXmlTestCase.java
===================================================================
--- modules/org.restlet.test/src/org/restlet/test/ComponentXmlTestCase.java     
(revision 4122)
+++ modules/org.restlet.test/src/org/restlet/test/ComponentXmlTestCase.java     
(working copy)
@@ -42,9 +42,9 @@
  */
 public class ComponentXmlTestCase extends TestCase {

-    private final int port = 8182;
+    private final int port = RestletTestSuite.PORT;

-    private final int port2 = 8183;
+    private final int port2 = port + 1;

     public void testComponentXMLConfig() throws Exception {
         final StringBuilder builder = new StringBuilder();
Index: modules/org.restlet.test/src/org/restlet/test/RangeTestCase.java
===================================================================
--- modules/org.restlet.test/src/org/restlet/test/RangeTestCase.java    
(revision 4122)
+++ modules/org.restlet.test/src/org/restlet/test/RangeTestCase.java    
(working copy)
@@ -178,7 +178,7 @@
     @Override
     protected void setUp() throws Exception {
         component = new Component();
-        component.getServers().add(Protocol.HTTP, 8182);
+        component.getServers().add(Protocol.HTTP, RestletTestSuite.PORT);
         component.getClients().add(Protocol.FILE);
         component.getDefaultHost().attach(new TestRangeApplication());
         component.start();
@@ -199,13 +199,14 @@
         Client client = new Client(Protocol.HTTP);
         // Test partial Get.
         Request request = new Request(Method.GET,
-                "http://localhost:8182/testGet";);
+                "http://localhost:"; + RestletTestSuite.PORT + "/testGet");
         Response response = client.handle(request);
         assertEquals(Status.SUCCESS_OK, response.getStatus());
         assertEquals("1234567890", response.getEntity().getText());
         assertEquals(10, response.getEntity().getSize());

-        request = new Request(Method.GET, "http://localhost:8182/testGet";);
+        request = new Request(Method.GET, "http://localhost:";
+                + RestletTestSuite.PORT +"/testGet");
         request.setRanges(Arrays.asList(new Range(0, 10)));
         response = client.handle(request);
         assertEquals(Status.SUCCESS_PARTIAL_CONTENT, response.getStatus());
@@ -268,7 +269,7 @@

         // PUT on a file that does not exist
         Request request = new Request(Method.PUT,
-                "http://localhost:8182/testPut/essai.txt";);
+                "http://localhost:"; + RestletTestSuite.PORT 
+"/testPut/essai.txt");
         request.setEntity(new StringRepresentation("1234567890"));
         request.setRanges(Arrays.asList(new Range(0, 10)));
         Response response = client.handle(request);
@@ -280,7 +281,7 @@
         // Partial PUT on a file, the provided representation overflowed the
         // existing file
         request = new Request(Method.PUT,
-                "http://localhost:8182/testPut/essai.txt";);
+                "http://localhost:"; + RestletTestSuite.PORT 
+"/testPut/essai.txt");
         request.setEntity(new StringRepresentation("0000000000"));
         request.setRanges(Arrays.asList(new Range(1, 10)));
         response = client.handle(request);
@@ -292,7 +293,7 @@
         // Partial PUT on a file that does not exists, the provided range
         // does not start at the 0 index.
         request = new Request(Method.PUT,
-                "http://localhost:8182/testPut/essai2.txt";);
+                "http://localhost:"; + RestletTestSuite.PORT+ 
"/testPut/essai2.txt");
         request.setEntity(new StringRepresentation("0000000000"));
         request.setRanges(Arrays.asList(new Range(1, 10)));
         response = client.handle(request);
@@ -304,7 +305,7 @@

         // Partial PUT on a file, simple range
         request = new Request(Method.PUT,
-                "http://localhost:8182/testPut/essai.txt";);
+                "http://localhost:"; + RestletTestSuite.PORT + 
"/testPut/essai.txt");
         request.setEntity(new StringRepresentation("22"));
         request.setRanges(Arrays.asList(new Range(2, 2)));
         response = client.handle(request);
@@ -316,7 +317,7 @@
         // Partial PUT on a file, the provided representation will be padded
         // at the very end of the file.
         request = new Request(Method.PUT,
-                "http://localhost:8182/testPut/essai.txt";);
+                "http://localhost:"; + RestletTestSuite.PORT + 
"/testPut/essai.txt");
         request.setEntity(new StringRepresentation("888"));
         request.setRanges(Arrays.asList(new Range(8, Range.SIZE_MAX)));
         response = client.handle(request);
@@ -328,7 +329,7 @@
         // Partial PUT on a file that does not exist, the range does not
         // specify the range size.
         request = new Request(Method.PUT,
-                "http://localhost:8182/testPut/essai3.txt";);
+                "http://localhost:"; + RestletTestSuite.PORT + 
"/testPut/essai3.txt");
         request.setEntity(new StringRepresentation("888"));
         request.setRanges(Arrays.asList(new Range(8, Range.SIZE_MAX)));
         response = client.handle(request);
@@ -341,7 +342,7 @@
         // Partial PUT on a file, the provided representation will be padded
         // just before the end of the file.
         request = new Request(Method.PUT,
-                "http://localhost:8182/testPut/essai.txt";);
+                "http://localhost:"; + RestletTestSuite.PORT + 
"/testPut/essai.txt");
         request.setEntity(new StringRepresentation("99"));
         request.setRanges(Arrays.asList(new Range(8, Range.SIZE_MAX)));
         response = client.handle(request);
@@ -351,7 +352,7 @@
         assertEquals("10220000998", response.getEntity().getText());

         request = new Request(Method.GET,
-                "http://localhost:8182/testPut/essai.txt";);
+                "http://localhost:"; + RestletTestSuite.PORT + 
"/testPut/essai.txt");
         request.setRanges(Arrays.asList(new Range(3, Range.SIZE_MAX)));
         response = client.handle(request);
         assertEquals(Status.SUCCESS_PARTIAL_CONTENT, response.getStatus());
@@ -370,27 +371,27 @@

         // Test "range" header.
         Request request = new Request(Method.GET,
-                "http://localhost:8182/test?range=0-500";);
+                "http://localhost:"; + RestletTestSuite.PORT + 
"/test?range=0-500");
         request.setRanges(Arrays.asList(new Range(0, 500)));
         assertEquals(Status.SUCCESS_OK, client.handle(request).getStatus());

         request = new Request(Method.GET,
-                "http://localhost:8182/test?range=-500";);
+                "http://localhost:"; + RestletTestSuite.PORT + 
"/test?range=-500");
         request.setRanges(Arrays.asList(new Range(Range.INDEX_LAST, 500)));
         assertEquals(Status.SUCCESS_OK, client.handle(request).getStatus());

         request = new Request(Method.GET,
-                "http://localhost:8182/test?range=500-";);
+                "http://localhost:"; + RestletTestSuite.PORT + 
"/test?range=500-");
         request.setRanges(Arrays.asList(new Range(500, Range.SIZE_MAX)));
         assertEquals(Status.SUCCESS_OK, client.handle(request).getStatus());

         request = new Request(Method.GET,
-                "http://localhost:8182/test?range=500-1000";);
+                "http://localhost:"; + RestletTestSuite.PORT + 
"/test?range=500-1000");
         request.setRanges(Arrays.asList(new Range(500, 500)));
         assertEquals(Status.SUCCESS_OK, client.handle(request).getStatus());

         request = new Request(Method.GET,
-                "http://localhost:8182/test?range=500-1000&range=500-";);
+                "http://localhost:"; + RestletTestSuite.PORT + 
"/test?range=500-1000&range=500-");
         request.setRanges(Arrays.asList(new Range(500, 500), new Range(500,
                 Range.SIZE_MAX)));
         assertEquals(Status.SUCCESS_OK, client.handle(request).getStatus());
Index: modules/org.restlet.test/src/org/restlet/test/RestletTestSuite.java
===================================================================
--- modules/org.restlet.test/src/org/restlet/test/RestletTestSuite.java 
(revision 4122)
+++ modules/org.restlet.test/src/org/restlet/test/RestletTestSuite.java 
(working copy)
@@ -40,6 +40,9 @@
  * @author Jerome Louvel
  */
 public class RestletTestSuite extends TestSuite {
+    public static final int PORT =
+            Integer.getInteger("org.restlet.test.port", 10080);
+
     /**
      * JUnit constructor.
      *
Index: modules/org.restlet.test/src/org/restlet/test/RedirectTestCase.java
===================================================================
--- modules/org.restlet.test/src/org/restlet/test/RedirectTestCase.java 
(revision 4122)
+++ modules/org.restlet.test/src/org/restlet/test/RedirectTestCase.java 
(working copy)
@@ -94,7 +94,7 @@
         originComponent.getDefaultHost().attach("", trace);

         // Create the server connectors
-        proxyComponent.getServers().add(Protocol.HTTP, 8182);
+        proxyComponent.getServers().add(Protocol.HTTP, RestletTestSuite.PORT);
         originComponent.getServers().add(Protocol.HTTP, 9090);

         // Now, let's start the components!
@@ -104,15 +104,18 @@

         // Tests
         final Context context = clientComponent.getContext();
-        String uri = "http://localhost:8182/?foo=bar";;
+        String uri = "http://localhost:"; + RestletTestSuite.PORT + "/?foo=bar";
         testCall(context, Method.GET, uri);
         testCall(context, Method.DELETE, uri);

-        uri = "http://localhost:8182/abcd/efgh/ijkl?foo=bar&foo=beer";;
+        uri = "http://localhost:"; + RestletTestSuite.PORT
+                + "/abcd/efgh/ijkl?foo=bar&foo=beer";
         testCall(context, Method.GET, uri);
         testCall(context, Method.DELETE, uri);

-        uri = 
"http://localhost:8182/v1/client/kwse/CnJlNUQV9%252BNNqbUf7Lhs2BYEK2Y%253D/user/johnm/uVGYTDK4kK4zsu96VHGeTCzfwso%253D/";;
+        uri = "http://localhost:"; + RestletTestSuite.PORT
+                + "/v1/client/kwse/CnJlNUQV9%252BNNqbUf7Lhs2BYEK2Y%253D"
+                + "/user/johnm/uVGYTDK4kK4zsu96VHGeTCzfwso%253D/";
         testCall(context, Method.GET, uri);

         // Stop the components
Index: modules/org.restlet.test/src/org/restlet/test/DigestTestCase.java
===================================================================
--- modules/org.restlet.test/src/org/restlet/test/DigestTestCase.java   
(revision 4122)
+++ modules/org.restlet.test/src/org/restlet/test/DigestTestCase.java   
(working copy)
@@ -85,7 +85,7 @@
     @Override
     protected void setUp() throws Exception {
         component = new Component();
-        component.getServers().add(Protocol.HTTP, 8182);
+        component.getServers().add(Protocol.HTTP, RestletTestSuite.PORT);
         component.getDefaultHost().attach(new TestDigestApplication());
         component.start();
     }
@@ -105,7 +105,8 @@
     public void testGet() throws IOException, NoSuchAlgorithmException {
         Client client = new Client(Protocol.HTTP);
         // Test partial Get.
-        Request request = new Request(Method.PUT, "http://localhost:8182/";);
+        Request request = new Request(Method.PUT, "http://localhost:";
+                + RestletTestSuite.PORT + "/");
         StringRepresentation rep = new StringRepresentation("0123456789");
         rep.setDigest(rep.computeDigest(Digest.ALGORITHM_MD5));
         request.setEntity(rep);
Index: modules/org.restlet.test/src/org/restlet/test/SpringTestCase.xml
===================================================================
--- modules/org.restlet.test/src/org/restlet/test/SpringTestCase.xml    
(revision 4122)
+++ modules/org.restlet.test/src/org/restlet/test/SpringTestCase.xml    
(working copy)
@@ -18,7 +18,7 @@
    </bean>
    <bean id="server" class="org.restlet.ext.spring.SpringServer">
       <constructor-arg value="http" />
-      <constructor-arg value="8182" />
+      <constructor-arg value="30000" /><!-- FIXME - should be parameterized -->
       <property name="parameters">
          <props>
             <prop key="key1">value1</prop>
Index: modules/org.restlet.test/src/org/restlet/test/TemplateFilterTestCase.java
===================================================================
--- modules/org.restlet.test/src/org/restlet/test/TemplateFilterTestCase.java   
(revision 4122)
+++ modules/org.restlet.test/src/org/restlet/test/TemplateFilterTestCase.java   
(working copy)
@@ -198,7 +198,7 @@

             // Create a new component
             final Component component = new Component();
-            component.getServers().add(Protocol.HTTP, 8182);
+            component.getServers().add(Protocol.HTTP, RestletTestSuite.PORT);
             component.getClients().add(Protocol.FILE);

             // Create an application filtered with Freemarker
@@ -220,28 +220,28 @@
             freemarkerApplication.getTunnelService().setExtensionsTunnel(true);
             velocityApplication.getTunnelService().setExtensionsTunnel(true);
             final Client client = new Client(Protocol.HTTP);
-            Response response = client.get("http://localhost:8182/freemarker/";
-                    + testFileFm1.getName());
+            Response response = client.get("http://localhost:";
+                    + RestletTestSuite.PORT +"/freemarker/" + 
testFileFm1.getName());
             if (response.isEntityAvailable()) {
                 assertEquals(response.getEntity().getText(),
-                        "Method=GET/Authority=localhost:8182");
+                        "Method=GET/Authority=localhost:" + 
RestletTestSuite.PORT);
             }
-            response = client.get("http://localhost:8182/freemarker/";
-                    + testFileFm2.getName());
+            response = client.get("http://localhost:"; + RestletTestSuite.PORT
+                    + "/freemarker/" + testFileFm2.getName());
             assertTrue(response.getStatus().isSuccess());
             if (response.isEntityAvailable()) {
                 assertEquals(response.getEntity().getText(),
                         "Method=${m}/Authority=${ra}");
             }

-            response = client.get("http://localhost:8182/velocity/";
-                    + testFileVl1.getName());
+            response = client.get("http://localhost:"; + RestletTestSuite.PORT
+                    + "/velocity/" + testFileVl1.getName());
             if (response.isEntityAvailable()) {
                 assertEquals(response.getEntity().getText(),
                         "Method=GET/Path=/velocity/testVl1");
             }
-            response = client.get("http://localhost:8182/velocity/";
-                    + testFileVl2.getName());
+            response = client.get("http://localhost:"; + RestletTestSuite.PORT
+                    + "/velocity/" + testFileVl2.getName());
             assertTrue(response.getStatus().isSuccess());
             if (response.isEntityAvailable()) {
                 assertEquals(response.getEntity().getText(),
Index: modules/org.restlet.test/src/org/restlet/test/RestartTestCase.java
===================================================================
--- modules/org.restlet.test/src/org/restlet/test/RestartTestCase.java  
(revision 4122)
+++ modules/org.restlet.test/src/org/restlet/test/RestartTestCase.java  
(working copy)
@@ -42,7 +42,8 @@
     public void testRestart() throws Exception {
         final int waitTime = 100;

-        final Server connector = new Server(Protocol.HTTP, 8182, null);
+        final Server connector =
+                new Server(Protocol.HTTP, RestletTestSuite.PORT, null);

         System.out.print("Starting connector... ");
         connector.start();
Index: modules/org.restlet.test/src/org/restlet/test/HeaderTestCase.java
===================================================================
--- modules/org.restlet.test/src/org/restlet/test/HeaderTestCase.java   
(revision 4122)
+++ modules/org.restlet.test/src/org/restlet/test/HeaderTestCase.java   
(working copy)
@@ -65,8 +65,6 @@

     private static final String HTTP_HEADERS = "org.restlet.http.headers";

-    private static final int PORT = 8182;
-
     /**
      * Name of a test header field
      */
@@ -101,20 +99,21 @@
     private Response getWithParams(Parameter... parameters) {
         final Client client = new Client(Protocol.HTTP);
         final Request request = new Request(Method.GET, "http://localhost:";
-                + PORT);
+                + RestletTestSuite.PORT);
         final Form headers = getHttpHeaders(request);
         for (final Parameter p : parameters) {
             headers.add(p);
         }

-        return client.handle(request);
+        Response result = client.handle(request);
+        return result;
     }

     @Override
     public void setUp() throws Exception {
         if (this.component == null) {
             this.component = new Component();
-            this.component.getServers().add(Protocol.HTTP, PORT);
+            this.component.getServers().add(Protocol.HTTP, 
RestletTestSuite.PORT);
             this.component.getDefaultHost().attachDefault(
                     new TestHeaderRestlet());
         }
Index: 
modules/org.restlet.test/src/org/restlet/test/engine/UserAgentTunnelFilterTestCase.java
===================================================================
--- 
modules/org.restlet.test/src/org/restlet/test/engine/UserAgentTunnelFilterTestCase.java
     (revision 4122)
+++ 
modules/org.restlet.test/src/org/restlet/test/engine/UserAgentTunnelFilterTestCase.java
     (working copy)
@@ -38,6 +38,7 @@
 import org.restlet.data.Request;
 import org.restlet.data.Response;
 import org.restlet.data.Status;
+import org.restlet.test.RestletTestSuite;

 /**
  * Tests cases for the tunneling of preferences based on user agent.
@@ -45,7 +46,8 @@
 public class UserAgentTunnelFilterTestCase extends TestCase {

     /** . */
-    private static final String URL = "http://localhost:8182/test";;
+    private static final String URL = "http://localhost:";
+        + RestletTestSuite.PORT +"/test";

     private Application application;

Attachment: signature.asc
Description: This is a digitally signed message part.

Reply via email to