You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by dk...@apache.org on 2009/05/22 02:38:14 UTC

svn commit: r777336 - /cxf/branches/2.1.x-fixes/systests/src/test/java/org/apache/cxf/systest/dispatch/DispatchClientServerTest.java

Author: dkulp
Date: Fri May 22 00:38:13 2009
New Revision: 777336

URL: http://svn.apache.org/viewvc?rev=777336&view=rev
Log:
Port some more tests from trunk

Modified:
    cxf/branches/2.1.x-fixes/systests/src/test/java/org/apache/cxf/systest/dispatch/DispatchClientServerTest.java

Modified: cxf/branches/2.1.x-fixes/systests/src/test/java/org/apache/cxf/systest/dispatch/DispatchClientServerTest.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.1.x-fixes/systests/src/test/java/org/apache/cxf/systest/dispatch/DispatchClientServerTest.java?rev=777336&r1=777335&r2=777336&view=diff
==============================================================================
--- cxf/branches/2.1.x-fixes/systests/src/test/java/org/apache/cxf/systest/dispatch/DispatchClientServerTest.java (original)
+++ cxf/branches/2.1.x-fixes/systests/src/test/java/org/apache/cxf/systest/dispatch/DispatchClientServerTest.java Fri May 22 00:38:13 2009
@@ -20,7 +20,6 @@
 package org.apache.cxf.systest.dispatch;
 
 import java.io.InputStream;
-import java.net.SocketTimeoutException;
 import java.net.URL;
 import java.util.concurrent.ExecutionException;
 import java.util.concurrent.Future;
@@ -40,6 +39,7 @@
 import javax.xml.ws.Response;
 import javax.xml.ws.Service;
 
+import org.w3c.dom.Document;
 import org.w3c.dom.Node;
 
 import org.xml.sax.InputSource;
@@ -49,9 +49,12 @@
 import org.apache.cxf.bus.spring.SpringBusFactory;
 import org.apache.cxf.helpers.DOMUtils;
 import org.apache.cxf.helpers.XMLUtils;
+import org.apache.cxf.interceptor.LoggingInInterceptor;
+import org.apache.cxf.interceptor.LoggingOutInterceptor;
 import org.apache.cxf.testutil.common.AbstractBusClientServerTestBase;
 import org.apache.cxf.testutil.common.AbstractBusTestServerBase;
 import org.apache.cxf.transports.http.configuration.HTTPClientPolicy;
+import org.apache.hello_world_soap_http.BadRecordLitFault;
 import org.apache.hello_world_soap_http.GreeterImpl;
 import org.apache.hello_world_soap_http.SOAPService;
 import org.apache.hello_world_soap_http.types.GreetMe;
@@ -92,6 +95,23 @@
     public static void startServers() throws Exception {
         assertTrue("server did not launch correctly", launchServer(Server.class));
     }
+    
+    @org.junit.Before
+    public void setUp() {
+        BusFactory.getDefaultBus().getOutInterceptors().add(new LoggingOutInterceptor());
+        BusFactory.getDefaultBus().getInInterceptors().add(new LoggingInInterceptor());
+    }
+    
+    private void waitForFuture(Future fd) throws Exception {
+        int count = 0;
+        while (!fd.isDone()) {
+            ++count;
+            if (count > 500) {
+                fail("Did not finish in 10 seconds");
+            }
+            Thread.sleep(20);
+        }
+    }
 
     @Test
     public void testSOAPMessage() throws Exception {
@@ -141,9 +161,8 @@
         TestSOAPMessageHandler tsmh = new TestSOAPMessageHandler();
         Future f = disp.invokeAsync(soapReqMsg3, tsmh);
         assertNotNull(f);
-        while (!f.isDone()) {
-            // wait
-        }
+        waitForFuture(f);
+        
         String expected3 = "Hello TestSOAPInputMessage3";
         assertEquals("Response should be : Hello TestSOAPInputMessage3", 
                      expected3, tsmh.getReplyBuffer().trim());
@@ -206,9 +225,7 @@
         TestDOMSourceHandler tdsh = new TestDOMSourceHandler();
         Future fd = disp.invokeAsync(domReqMsg3, tdsh);
         assertNotNull(fd);
-        while (!fd.isDone()) {
-            // wait
-        }
+        waitForFuture(fd);
         String expected3 = "Hello TestSOAPInputMessage3";
         assertEquals("Response should be : Hello TestSOAPInputMessage3", expected3, 
                      tdsh.getReplyBuffer().trim());
@@ -216,6 +233,7 @@
     
     @Test
     public void testDOMSourcePAYLOAD() throws Exception {
+        
         /*URL wsdl = getClass().getResource("/wsdl/hello_world.wsdl");
         assertNotNull(wsdl);
 
@@ -238,8 +256,15 @@
         
         assertNotNull(domResMsg);
         String expected = "Hello TestSOAPInputMessage";
-        assertEquals("Response should be : Hello TestSOAPInputMessage", expected, domResMsg.getNode()
-            .getTextContent().trim());
+        
+        Node node = domResMsg.getNode();
+        assertNotNull(node);
+        if (node instanceof Document) {
+            node = ((Document)node).getDocumentElement();
+        }
+        String content = node.getTextContent();
+        assertNotNull(content);
+        assertEquals("Response should be : Hello TestSOAPInputMessage", expected, content.trim());
 
         InputStream is1 = getClass().getResourceAsStream("resources/GreetMeDocLiteralReq1.xml");
         SOAPMessage soapReqMsg1 = MessageFactory.newInstance().createMessage(null, is1);
@@ -257,8 +282,16 @@
         DOMSource domRespMsg2 = (DOMSource)response.get();
         assertNotNull(domRespMsg2);
         String expected2 = "Hello TestSOAPInputMessage2";
-        assertEquals("Response should be : Hello TestSOAPInputMessage2", expected2, domRespMsg2.getNode()
-            .getTextContent().trim());
+        
+        node = domRespMsg2.getNode();
+        assertNotNull(node);
+        if (node instanceof Document) {
+            node = ((Document)node).getDocumentElement();
+        }
+        content = node.getTextContent();
+        assertNotNull(content);
+
+        assertEquals("Response should be : Hello TestSOAPInputMessage2", expected2, content.trim());
 
         InputStream is3 = getClass().getResourceAsStream("resources/GreetMeDocLiteralReq3.xml");
         SOAPMessage soapReqMsg3 = MessageFactory.newInstance().createMessage(null, is3);
@@ -268,9 +301,7 @@
         TestDOMSourceHandler tdsh = new TestDOMSourceHandler();
         Future fd = disp.invokeAsync(domReqMsg3, tdsh);
         assertNotNull(fd);
-        while (!fd.isDone()) {
-            // wait
-        }
+        waitForFuture(fd);
         String expected3 = "Hello TestSOAPInputMessage3";
         assertEquals("Response should be : Hello TestSOAPInputMessage3", 
                      expected3, tdsh.getReplyBuffer().trim());
@@ -310,12 +341,25 @@
         TestJAXBHandler tjbh = new TestJAXBHandler();
         Future fd = disp.invokeAsync(greetMe, tjbh);
         assertNotNull(fd);
-        while (!fd.isDone()) {
-            // wait
-        }
+        waitForFuture(fd);
+
         String responseValue3 = ((GreetMeResponse)tjbh.getResponse()).getResponseType();
         assertTrue("Expected string, " + expected, expected.equals(responseValue3));
         
+        org.apache.hello_world_soap_http.types.TestDocLitFault fr = 
+            new  org.apache.hello_world_soap_http.types.TestDocLitFault();
+        fr.setFaultType(BadRecordLitFault.class.getSimpleName());
+            
+        tjbh = new TestJAXBHandler();
+        fd = disp.invokeAsync(fr, tjbh);
+        waitForFuture(fd);
+        try {
+            fd.get();
+            fail("did not get expected exception");
+        } catch (ExecutionException ex) {
+            //expected
+        }
+        
         GreetMeLater later = new GreetMeLater();
         later.setRequestType(1000);
         
@@ -327,7 +371,7 @@
             o.get(10, TimeUnit.SECONDS);
             fail("Should have gotten a SocketTimeoutException");
         } catch (ExecutionException ex) {
-            assertTrue(ex.getCause() instanceof SocketTimeoutException);
+            //ignore - expected
         }
 
         later.setRequestType(20000);
@@ -433,9 +477,8 @@
         TestSAXSourceHandler tssh = new TestSAXSourceHandler();
         Future fd = disp.invokeAsync(saxSourceReq3, tssh);
         assertNotNull(fd);
-        while (!fd.isDone()) {
-            //wait
-        }
+        waitForFuture(fd);
+
         String expected3 = "Hello TestSOAPInputMessage3";
         SAXSource saxSourceResp3 = tssh.getSAXSource();
         assertNotNull(saxSourceResp3);
@@ -502,9 +545,8 @@
         TestSAXSourceHandler tssh = new TestSAXSourceHandler();
         Future fd = disp.invokeAsync(saxSourceReq3, tssh);
         assertNotNull(fd);
-        while (!fd.isDone()) {
-            //wait
-        }
+        waitForFuture(fd);
+
         String expected3 = "Hello TestSOAPInputMessage3";
         SAXSource saxSourceResp3 = tssh.getSAXSource();
         assertNotNull(saxSourceResp3);
@@ -549,9 +591,8 @@
         TestStreamSourceHandler tssh = new TestStreamSourceHandler();
         Future fd = disp.invokeAsync(streamSourceReq3, tssh);
         assertNotNull(fd);
-        while (!fd.isDone()) {
-            //wait
-        }
+        waitForFuture(fd);
+
         String expected3 = "Hello TestSOAPInputMessage3";
         StreamSource streamSourceResp3 = tssh.getStreamSource();
         assertNotNull(streamSourceResp3);
@@ -600,9 +641,8 @@
         TestStreamSourceHandler tssh = new TestStreamSourceHandler();
         Future fd = disp.invokeAsync(streamSourceReq3, tssh);
         assertNotNull(fd);
-        while (!fd.isDone()) {
-            //wait
-        }
+        waitForFuture(fd);
+        
         String expected3 = "Hello TestSOAPInputMessage3";
         StreamSource streamSourceResp3 = tssh.getStreamSource();
         assertNotNull(streamSourceResp3);