[jbossws-commits] JBossWS SVN: r15956 - in shared-testsuite/branches/jbossws-shared-testsuite-4.0.x: testsuite/src/test/java/org/jboss/test/helper and 5 other directories.

jbossws-commits at lists.jboss.org jbossws-commits at lists.jboss.org
Wed Mar 14 11:53:53 EDT 2012


Author: alessio.soldano at jboss.com
Date: 2012-03-14 11:53:52 -0400 (Wed, 14 Mar 2012)
New Revision: 15956

Modified:
   shared-testsuite/branches/jbossws-shared-testsuite-4.0.x/src/main/java/org/jboss/wsf/test/AppclientHelper.java
   shared-testsuite/branches/jbossws-shared-testsuite-4.0.x/src/main/java/org/jboss/wsf/test/JBossWSTestHelper.java
   shared-testsuite/branches/jbossws-shared-testsuite-4.0.x/testsuite/src/test/java/org/jboss/test/helper/TestServlet.java
   shared-testsuite/branches/jbossws-shared-testsuite-4.0.x/testsuite/src/test/java/org/jboss/test/ws/jaxws/endpoint/EndpointServlet.java
   shared-testsuite/branches/jbossws-shared-testsuite-4.0.x/testsuite/src/test/java/org/jboss/test/ws/jaxws/jbws3223/TestServlet.java
   shared-testsuite/branches/jbossws-shared-testsuite-4.0.x/testsuite/src/test/java/org/jboss/test/ws/jaxws/jbws3276/Usecase1TestCase.java
   shared-testsuite/branches/jbossws-shared-testsuite-4.0.x/testsuite/src/test/java/org/jboss/test/ws/jaxws/jbws3276/Usecase2TestCase.java
   shared-testsuite/branches/jbossws-shared-testsuite-4.0.x/testsuite/src/test/java/org/jboss/test/ws/jaxws/jbws3367/BothPojoAndEjbInWarTestCase.java
   shared-testsuite/branches/jbossws-shared-testsuite-4.0.x/testsuite/src/test/java/org/jboss/test/ws/jaxws/jbws3367/OnlyEjbInWarTestCase.java
   shared-testsuite/branches/jbossws-shared-testsuite-4.0.x/testsuite/src/test/java/org/jboss/test/ws/publish/EndpointPublishServlet.java
Log:
[JBPAPP-8441] JBossWS testsuite fails with IPv6


Modified: shared-testsuite/branches/jbossws-shared-testsuite-4.0.x/src/main/java/org/jboss/wsf/test/AppclientHelper.java
===================================================================
--- shared-testsuite/branches/jbossws-shared-testsuite-4.0.x/src/main/java/org/jboss/wsf/test/AppclientHelper.java	2012-03-14 15:45:38 UTC (rev 15955)
+++ shared-testsuite/branches/jbossws-shared-testsuite-4.0.x/src/main/java/org/jboss/wsf/test/AppclientHelper.java	2012-03-14 15:53:52 UTC (rev 15956)
@@ -119,7 +119,14 @@
             args.add(appclientArg);
          }
       }
-      ap.process = new ProcessBuilder().command(args).start();
+      final ProcessBuilder pb = new ProcessBuilder().command(args);
+      // always propagate IPv6 related properties
+      final StringBuilder javaOptsValue = new StringBuilder();
+      javaOptsValue.append("\"-Djboss.bind.address=").append(undoIPv6Brackets(System.getProperty("jboss.bind.address", "localhost"))).append("\" ");
+      javaOptsValue.append("\"-Djava.net.preferIPv4Stack=").append(System.getProperty("java.net.preferIPv4Stack", "true")).append("\" ");
+      javaOptsValue.append("\"-Djava.net.preferIPv6Addresses=").append(System.getProperty("java.net.preferIPv6Addresses", "false")).append("\" ");
+      pb.environment().put("JAVA_OPTS", javaOptsValue.toString());
+      ap.process = pb.start();
       ap.log = new FileOutputStream(new File(getAppclientOutputDir(), appclientShortName + ".log-" + System.currentTimeMillis()));
       // appclient out
       ap.outTask = new CopyJob(ap.process.getInputStream(),
@@ -132,6 +139,11 @@
       return ap;
    }
 
+   private static String undoIPv6Brackets(final String s)
+   {
+      return s.startsWith("[") ? s.substring(1, s.length() - 1) : s; 
+   }
+
    private static void shutdownAppclient(final String archive, final OutputStream os) throws IOException, InterruptedException
    {
       final File killFile = new File(getKillFileName(archive));

Modified: shared-testsuite/branches/jbossws-shared-testsuite-4.0.x/src/main/java/org/jboss/wsf/test/JBossWSTestHelper.java
===================================================================
--- shared-testsuite/branches/jbossws-shared-testsuite-4.0.x/src/main/java/org/jboss/wsf/test/JBossWSTestHelper.java	2012-03-14 15:45:38 UTC (rev 15955)
+++ shared-testsuite/branches/jbossws-shared-testsuite-4.0.x/src/main/java/org/jboss/wsf/test/JBossWSTestHelper.java	2012-03-14 15:53:52 UTC (rev 15956)
@@ -207,6 +207,21 @@
    {
       try
       {
+         if (host.startsWith(":"))
+         {
+            throw new IllegalArgumentException("JBossWS test suite requires IPv6 addresses to be wrapped with [] brackets. Expected format is: [" + host + "]");
+         }
+         if (host.startsWith("["))
+         {
+            if (System.getProperty("java.net.preferIPv4Stack") == null)
+            {
+               throw new IllegalStateException("always provide java.net.preferIPv4Stack JVM property when using IPv6 address format");
+            }
+            if (System.getProperty("java.net.preferIPv6Addresses") == null)
+            {
+               throw new IllegalStateException("always provide java.net.preferIPv6Addresses JVM property when using IPv6 address format");
+            }
+         }
          final boolean isIPv6Address = InetAddress.getByName(host) instanceof Inet6Address;
          final boolean isIPv6Formatted = isIPv6Address && host.startsWith("[");
          return isIPv6Address && !isIPv6Formatted ? "[" + host + "]" : host;

Modified: shared-testsuite/branches/jbossws-shared-testsuite-4.0.x/testsuite/src/test/java/org/jboss/test/helper/TestServlet.java
===================================================================
--- shared-testsuite/branches/jbossws-shared-testsuite-4.0.x/testsuite/src/test/java/org/jboss/test/helper/TestServlet.java	2012-03-14 15:45:38 UTC (rev 15955)
+++ shared-testsuite/branches/jbossws-shared-testsuite-4.0.x/testsuite/src/test/java/org/jboss/test/helper/TestServlet.java	2012-03-14 15:53:52 UTC (rev 15956)
@@ -58,7 +58,12 @@
       try
       {
          ClientHelper helper = (ClientHelper) Class.forName(helperClassName).newInstance();
-         helper.setTargetEndpoint("http://" + System.getProperty("jboss.bind.address", "localhost") + ":8080" + path);
+         String jbossBindAddress = System.getProperty("jboss.bind.address", "localhost");
+         if (jbossBindAddress.startsWith(":"))
+         {
+            jbossBindAddress = "[" + jbossBindAddress + "]"; 
+         }
+         helper.setTargetEndpoint("http://" + jbossBindAddress + ":8080" + path);
          List<String> failedTests = new LinkedList<String>();
          List<String> errorTests = new LinkedList<String>();
          Method[] methods = helper.getClass().getMethods();

Modified: shared-testsuite/branches/jbossws-shared-testsuite-4.0.x/testsuite/src/test/java/org/jboss/test/ws/jaxws/endpoint/EndpointServlet.java
===================================================================
--- shared-testsuite/branches/jbossws-shared-testsuite-4.0.x/testsuite/src/test/java/org/jboss/test/ws/jaxws/endpoint/EndpointServlet.java	2012-03-14 15:45:38 UTC (rev 15955)
+++ shared-testsuite/branches/jbossws-shared-testsuite-4.0.x/testsuite/src/test/java/org/jboss/test/ws/jaxws/endpoint/EndpointServlet.java	2012-03-14 15:53:52 UTC (rev 15956)
@@ -83,6 +83,7 @@
    {
       // Create the port
       String hostName = System.getProperty("jboss.bind.address", "localhost");
+      hostName = hostName.indexOf(":") != -1 ? "[" + hostName + "]" : hostName;
 //    URL wsdlURL = getServletContext().getResource("/WEB-INF/wsdl/TestService.wsdl");
       URL wsdlURL = new URL("http://" + hostName + ":8081/jaxws-endpoint?wsdl");
       QName qname = new QName("http://org.jboss.ws/jaxws/endpoint", "EndpointService");

Modified: shared-testsuite/branches/jbossws-shared-testsuite-4.0.x/testsuite/src/test/java/org/jboss/test/ws/jaxws/jbws3223/TestServlet.java
===================================================================
--- shared-testsuite/branches/jbossws-shared-testsuite-4.0.x/testsuite/src/test/java/org/jboss/test/ws/jaxws/jbws3223/TestServlet.java	2012-03-14 15:45:38 UTC (rev 15955)
+++ shared-testsuite/branches/jbossws-shared-testsuite-4.0.x/testsuite/src/test/java/org/jboss/test/ws/jaxws/jbws3223/TestServlet.java	2012-03-14 15:53:52 UTC (rev 15956)
@@ -40,9 +40,12 @@
       String param = req.getParameter("param");
       boolean clCheck = Boolean.parseBoolean(req.getParameter("clCheck"));
       Client client = new Client(clCheck);
-      String hostName = System.getProperty("jboss.bind.address", "localhost");
-      //URL wsdlURL = getServletContext().getResource("/WEB-INF/wsdl/TestService.wsdl");
-      URL wsdlURL = new URL("http://" + hostName + ":8080/jaxws-jbws3223?wsdl");
+      String jbossBindAddress = System.getProperty("jboss.bind.address", "localhost");
+      if (jbossBindAddress.startsWith(":"))
+      {
+         jbossBindAddress = "[" + jbossBindAddress + "]"; 
+      }
+      URL wsdlURL = new URL("http://" + jbossBindAddress + ":8080/jaxws-jbws3223?wsdl");
       String retStr = client.run(param, wsdlURL);
       
       // Return the result

Modified: shared-testsuite/branches/jbossws-shared-testsuite-4.0.x/testsuite/src/test/java/org/jboss/test/ws/jaxws/jbws3276/Usecase1TestCase.java
===================================================================
--- shared-testsuite/branches/jbossws-shared-testsuite-4.0.x/testsuite/src/test/java/org/jboss/test/ws/jaxws/jbws3276/Usecase1TestCase.java	2012-03-14 15:45:38 UTC (rev 15955)
+++ shared-testsuite/branches/jbossws-shared-testsuite-4.0.x/testsuite/src/test/java/org/jboss/test/ws/jaxws/jbws3276/Usecase1TestCase.java	2012-03-14 15:53:52 UTC (rev 15956)
@@ -48,7 +48,7 @@
    public void testAnonymousEndpoint() throws Exception
    {
       final QName serviceName = new QName("org.jboss.test.ws.jaxws.jbws3276", "AnonymousPOJOService");
-      final URL wsdlURL = new URL("http://localhost:8080/jaxws-jbws3276-usecase1/AnonymousPOJOService?wsdl");
+      final URL wsdlURL = new URL("http://" + getServerHost() +  ":8080/jaxws-jbws3276-usecase1/AnonymousPOJOService?wsdl");
       final Service service = Service.create(wsdlURL, serviceName);
       final POJOIface port = service.getPort(POJOIface.class);
       final String result = port.echo("hello");
@@ -58,7 +58,7 @@
    public void testDeclaredEndpoint() throws Exception
    {
       final QName serviceName = new QName("org.jboss.test.ws.jaxws.jbws3276", "POJOImplService");
-      final URL wsdlURL = new URL("http://localhost:8080/jaxws-jbws3276-usecase1/POJOService?wsdl");
+      final URL wsdlURL = new URL("http://" + getServerHost() +  ":8080/jaxws-jbws3276-usecase1/POJOService?wsdl");
       final Service service = Service.create(wsdlURL, serviceName);
       final POJOIface port = service.getPort(POJOIface.class);
       final String result = port.echo("hello");

Modified: shared-testsuite/branches/jbossws-shared-testsuite-4.0.x/testsuite/src/test/java/org/jboss/test/ws/jaxws/jbws3276/Usecase2TestCase.java
===================================================================
--- shared-testsuite/branches/jbossws-shared-testsuite-4.0.x/testsuite/src/test/java/org/jboss/test/ws/jaxws/jbws3276/Usecase2TestCase.java	2012-03-14 15:45:38 UTC (rev 15955)
+++ shared-testsuite/branches/jbossws-shared-testsuite-4.0.x/testsuite/src/test/java/org/jboss/test/ws/jaxws/jbws3276/Usecase2TestCase.java	2012-03-14 15:53:52 UTC (rev 15956)
@@ -48,7 +48,7 @@
    public void testAnonymousEndpoint() throws Exception
    {
       final QName serviceName = new QName("org.jboss.test.ws.jaxws.jbws3276", "AnonymousPOJOService");
-      final URL wsdlURL = new URL("http://localhost:8080/jaxws-jbws3276-usecase2/AnonymousPOJOService?wsdl");
+      final URL wsdlURL = new URL("http://" + getServerHost() +  ":8080/jaxws-jbws3276-usecase2/AnonymousPOJOService?wsdl");
       final Service service = Service.create(wsdlURL, serviceName);
       final POJOIface port = service.getPort(POJOIface.class);
       final String result = port.echo("hello");

Modified: shared-testsuite/branches/jbossws-shared-testsuite-4.0.x/testsuite/src/test/java/org/jboss/test/ws/jaxws/jbws3367/BothPojoAndEjbInWarTestCase.java
===================================================================
--- shared-testsuite/branches/jbossws-shared-testsuite-4.0.x/testsuite/src/test/java/org/jboss/test/ws/jaxws/jbws3367/BothPojoAndEjbInWarTestCase.java	2012-03-14 15:45:38 UTC (rev 15955)
+++ shared-testsuite/branches/jbossws-shared-testsuite-4.0.x/testsuite/src/test/java/org/jboss/test/ws/jaxws/jbws3367/BothPojoAndEjbInWarTestCase.java	2012-03-14 15:53:52 UTC (rev 15956)
@@ -50,7 +50,7 @@
    public void testPOJOEndpoint() throws Exception
    {
       final QName serviceName = new QName("org.jboss.test.ws.jaxws.jbws3367", "POJOEndpointService");
-      final URL wsdlURL = new URL("http://localhost:8080/jbws3367-customized/POJOEndpoint?wsdl");
+      final URL wsdlURL = new URL("http://" + getServerHost() +  ":8080/jbws3367-customized/POJOEndpoint?wsdl");
       final Service service = Service.create(wsdlURL, serviceName);
       final EndpointIface port = service.getPort(EndpointIface.class);
       final String result = port.echo("hello");
@@ -60,7 +60,7 @@
    public void testEJB3Endpoint() throws Exception
    {
       final QName serviceName = new QName("org.jboss.test.ws.jaxws.jbws3367", "EJB3EndpointService");
-      final URL wsdlURL = new URL("http://localhost:8080/jbws3367-customized/EJB3Endpoint?wsdl");
+      final URL wsdlURL = new URL("http://" + getServerHost() +  ":8080/jbws3367-customized/EJB3Endpoint?wsdl");
       final Service service = Service.create(wsdlURL, serviceName);
       final EndpointIface port = service.getPort(EndpointIface.class);
       final String result = port.echo("hello");

Modified: shared-testsuite/branches/jbossws-shared-testsuite-4.0.x/testsuite/src/test/java/org/jboss/test/ws/jaxws/jbws3367/OnlyEjbInWarTestCase.java
===================================================================
--- shared-testsuite/branches/jbossws-shared-testsuite-4.0.x/testsuite/src/test/java/org/jboss/test/ws/jaxws/jbws3367/OnlyEjbInWarTestCase.java	2012-03-14 15:45:38 UTC (rev 15955)
+++ shared-testsuite/branches/jbossws-shared-testsuite-4.0.x/testsuite/src/test/java/org/jboss/test/ws/jaxws/jbws3367/OnlyEjbInWarTestCase.java	2012-03-14 15:53:52 UTC (rev 15956)
@@ -50,7 +50,7 @@
    public void testEJB3Endpoint() throws Exception
    {
       final QName serviceName = new QName("org.jboss.test.ws.jaxws.jbws3367", "EJB3EndpointService");
-      final URL wsdlURL = new URL("http://localhost:8080/jbws3367-customized/EJB3Endpoint?wsdl");
+      final URL wsdlURL = new URL("http://" + getServerHost() +  ":8080/jbws3367-customized/EJB3Endpoint?wsdl");
       final Service service = Service.create(wsdlURL, serviceName);
       final EndpointIface port = service.getPort(EndpointIface.class);
       final String result = port.echo("hello");

Modified: shared-testsuite/branches/jbossws-shared-testsuite-4.0.x/testsuite/src/test/java/org/jboss/test/ws/publish/EndpointPublishServlet.java
===================================================================
--- shared-testsuite/branches/jbossws-shared-testsuite-4.0.x/testsuite/src/test/java/org/jboss/test/ws/publish/EndpointPublishServlet.java	2012-03-14 15:45:38 UTC (rev 15955)
+++ shared-testsuite/branches/jbossws-shared-testsuite-4.0.x/testsuite/src/test/java/org/jboss/test/ws/publish/EndpointPublishServlet.java	2012-03-14 15:53:52 UTC (rev 15956)
@@ -88,10 +88,15 @@
          }
          
          //call endpoint
-         invoke(new URL("http://localhost:8080/ep-publish-test/pattern?wsdl"), new QName("http://publish.ws.test.jboss.org/", "EndpointService"));
-         invoke(new URL("http://localhost:8080/ep-publish-test/pattern2?wsdl"), new QName("http://publish.ws.test.jboss.org/", "EndpointService2"));
-         invoke(new URL("http://localhost:8080/ep-publish-test/pattern3?wsdl"), new QName("http://publish.ws.test.jboss.org/", "EndpointService3"));
-         invoke(new URL("http://localhost:8080/ep-publish-test/pattern4?wsdl"), new QName("http://publish.ws.test.jboss.org/", "EndpointService4"));
+         String jbossBindAddress = System.getProperty("jboss.bind.address", "localhost");
+         if (jbossBindAddress.startsWith(":"))
+         {
+            jbossBindAddress = "[" + jbossBindAddress + "]"; 
+         }
+         invoke(new URL("http://" + jbossBindAddress + ":8080/ep-publish-test/pattern?wsdl"), new QName("http://publish.ws.test.jboss.org/", "EndpointService"));
+         invoke(new URL("http://" + jbossBindAddress + ":8080/ep-publish-test/pattern2?wsdl"), new QName("http://publish.ws.test.jboss.org/", "EndpointService2"));
+         invoke(new URL("http://" + jbossBindAddress + ":8080/ep-publish-test/pattern3?wsdl"), new QName("http://publish.ws.test.jboss.org/", "EndpointService3"));
+         invoke(new URL("http://" + jbossBindAddress + ":8080/ep-publish-test/pattern4?wsdl"), new QName("http://publish.ws.test.jboss.org/", "EndpointService4"));
          
          res.getWriter().print("1");
       }



More information about the jbossws-commits mailing list