Author: ningjiang
Date: Fri Apr 29 02:10:02 2011
New Revision: 1097669

URL: http://svn.apache.org/viewvc?rev=1097669&view=rev
Log:
Enhance an itest to test throws the exception across the jms endpoint and send 
the exception back to the CXF endpoint

Added:
    camel/trunk/tests/camel-itest/src/test/resources/wsdl/binding.xml   (with 
props)
Modified:
    camel/trunk/tests/camel-itest/pom.xml
    
camel/trunk/tests/camel-itest/src/test/java/org/apache/camel/itest/greeter/CamelGreeterConsumerTest.java
    
camel/trunk/tests/camel-itest/src/test/java/org/apache/camel/itest/greeter/JmsPrepareRequest.java
    
camel/trunk/tests/camel-itest/src/test/java/org/apache/camel/itest/greeter/JmsPrepareResponse.java
    
camel/trunk/tests/camel-itest/src/test/java/org/apache/camel/itest/security/GreeterClientTest.java
    
camel/trunk/tests/camel-itest/src/test/resources/org/apache/camel/itest/greeter/CamelGreeterConsumerTest-context.xml

Modified: camel/trunk/tests/camel-itest/pom.xml
URL: 
http://svn.apache.org/viewvc/camel/trunk/tests/camel-itest/pom.xml?rev=1097669&r1=1097668&r2=1097669&view=diff
==============================================================================
--- camel/trunk/tests/camel-itest/pom.xml (original)
+++ camel/trunk/tests/camel-itest/pom.xml Fri Apr 29 02:10:02 2011
@@ -322,6 +322,9 @@
                                     <wsdl>
                                         
${basedir}/src/test/resources/wsdl/hello_world.wsdl
                                     </wsdl>
+                                    <bindingFiles>
+                                        
<bindingFile>${basedir}/src/test/resources/wsdl/binding.xml</bindingFile>
+                                    </bindingFiles>
                                 </wsdlOption>
                             </wsdlOptions>
                         </configuration>

Modified: 
camel/trunk/tests/camel-itest/src/test/java/org/apache/camel/itest/greeter/CamelGreeterConsumerTest.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/tests/camel-itest/src/test/java/org/apache/camel/itest/greeter/CamelGreeterConsumerTest.java?rev=1097669&r1=1097668&r2=1097669&view=diff
==============================================================================
--- 
camel/trunk/tests/camel-itest/src/test/java/org/apache/camel/itest/greeter/CamelGreeterConsumerTest.java
 (original)
+++ 
camel/trunk/tests/camel-itest/src/test/java/org/apache/camel/itest/greeter/CamelGreeterConsumerTest.java
 Fri Apr 29 02:10:02 2011
@@ -20,9 +20,11 @@ import java.util.ArrayList;
 import java.util.List;
 
 import org.apache.camel.CamelContext;
+import org.apache.camel.CamelExecutionException;
 import org.apache.camel.ExchangePattern;
 import org.apache.camel.ProducerTemplate;
 import org.apache.camel.component.cxf.CxfConstants;
+import org.apache.hello_world_soap_http.PingMeFault;
 import org.junit.Test;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.test.context.ContextConfiguration;
@@ -31,6 +33,7 @@ import org.springframework.test.context.
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
 
 @ContextConfiguration
 public class CamelGreeterConsumerTest extends AbstractJUnit4SpringContextTests 
{
@@ -39,7 +42,7 @@ public class CamelGreeterConsumerTest ex
     protected CamelContext camelContext;
 
     @Test
-    public void testMocksAreValid() throws Exception {
+    public void testInvokeServers() throws Exception {
         assertNotNull(camelContext);
 
         ProducerTemplate template = camelContext.createProducerTemplate();
@@ -49,7 +52,14 @@ public class CamelGreeterConsumerTest ex
                                                    params, 
CxfConstants.OPERATION_NAME, "greetMe");
         assertTrue("Result is a list instance ", result instanceof List);
         assertEquals("Get the wrong response", ((List)result).get(0), 
"HelloWillem");
-
+        try {
+            template.sendBodyAndHeader("cxf://bean:serviceEndpoint", 
ExchangePattern.InOut , 
+                                            params, 
CxfConstants.OPERATION_NAME, "pingMe");
+            fail("Expect exception here.");
+        } catch (Exception ex) {
+            assertTrue("Get a wrong exception.", ex instanceof 
CamelExecutionException);
+            assertTrue("Get a wrong exception cause. ", ex.getCause() 
instanceof PingMeFault);
+        }
         template.stop();
     }
 

Modified: 
camel/trunk/tests/camel-itest/src/test/java/org/apache/camel/itest/greeter/JmsPrepareRequest.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/tests/camel-itest/src/test/java/org/apache/camel/itest/greeter/JmsPrepareRequest.java?rev=1097669&r1=1097668&r2=1097669&view=diff
==============================================================================
--- 
camel/trunk/tests/camel-itest/src/test/java/org/apache/camel/itest/greeter/JmsPrepareRequest.java
 (original)
+++ 
camel/trunk/tests/camel-itest/src/test/java/org/apache/camel/itest/greeter/JmsPrepareRequest.java
 Fri Apr 29 02:10:02 2011
@@ -22,7 +22,8 @@ import org.apache.camel.Processor;
 public class JmsPrepareRequest implements Processor {
 
     public void process(Exchange exchange) throws Exception {
-        String request = exchange.getIn().getBody(String.class);       
+        String request = exchange.getIn().getBody(String.class);
+        exchange.getOut().setHeaders(exchange.getIn().getHeaders());
         exchange.getOut().setBody(request);
     }
 

Modified: 
camel/trunk/tests/camel-itest/src/test/java/org/apache/camel/itest/greeter/JmsPrepareResponse.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/tests/camel-itest/src/test/java/org/apache/camel/itest/greeter/JmsPrepareResponse.java?rev=1097669&r1=1097668&r2=1097669&view=diff
==============================================================================
--- 
camel/trunk/tests/camel-itest/src/test/java/org/apache/camel/itest/greeter/JmsPrepareResponse.java
 (original)
+++ 
camel/trunk/tests/camel-itest/src/test/java/org/apache/camel/itest/greeter/JmsPrepareResponse.java
 Fri Apr 29 02:10:02 2011
@@ -17,12 +17,27 @@
 package org.apache.camel.itest.greeter;
 
 import org.apache.camel.Exchange;
+import org.apache.camel.Message;
 import org.apache.camel.Processor;
+import org.apache.camel.component.cxf.CxfConstants;
+import org.apache.hello_world_soap_http.PingMeFault;
+import org.apache.hello_world_soap_http.types.FaultDetail;
 
 public class JmsPrepareResponse implements Processor {
 
     public void process(Exchange exchange) throws Exception {
-        String request = exchange.getIn().getBody(String.class);               
-        exchange.getOut().setBody("Hello" + request);
+        Message in = exchange.getIn();
+        if ("greetMe".equals(in.getHeader(CxfConstants.OPERATION_NAME))) {
+            String request = in.getBody(String.class);               
+            exchange.getOut().setBody("Hello" + request);
+        } else {
+            // throw the Exception
+            FaultDetail faultDetail = new FaultDetail();
+            faultDetail.setMajor((short)2);
+            faultDetail.setMinor((short)1);
+            exchange.getOut().setBody(new PingMeFault("PingMeFault raised by 
server", faultDetail));
+            exchange.getOut().setFault(true);
+            
+        }
     }
 }

Modified: 
camel/trunk/tests/camel-itest/src/test/java/org/apache/camel/itest/security/GreeterClientTest.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/tests/camel-itest/src/test/java/org/apache/camel/itest/security/GreeterClientTest.java?rev=1097669&r1=1097668&r2=1097669&view=diff
==============================================================================
--- 
camel/trunk/tests/camel-itest/src/test/java/org/apache/camel/itest/security/GreeterClientTest.java
 (original)
+++ 
camel/trunk/tests/camel-itest/src/test/java/org/apache/camel/itest/security/GreeterClientTest.java
 Fri Apr 29 02:10:02 2011
@@ -91,8 +91,10 @@ public class GreeterClientTest extends A
             fail("should fail");
         } catch (Exception ex) {
             assertTrue("Get a wrong type exception.", ex instanceof 
SOAPFaultException);
-            assertTrue("Get a wrong exception message", 
ex.getMessage().startsWith("The security token could not be authenticated or 
authorized;"));
-            assertTrue("Get a wrong exception message", 
ex.getMessage().endsWith("java.io.IOException: Wrong password!"));
+            System.out.println("Exception message is " + ex.getMessage());
+            assertTrue("Get a wrong exception message", 
ex.getMessage().startsWith("The security token could not be authenticated or 
authorized"));
+            // CXF 2.4.0 WSecurity doesn't put the authentication exception
+            //assertTrue("Get a wrong exception message", 
ex.getMessage().endsWith("java.io.IOException: Wrong password!"));
         }
 
     }

Modified: 
camel/trunk/tests/camel-itest/src/test/resources/org/apache/camel/itest/greeter/CamelGreeterConsumerTest-context.xml
URL: 
http://svn.apache.org/viewvc/camel/trunk/tests/camel-itest/src/test/resources/org/apache/camel/itest/greeter/CamelGreeterConsumerTest-context.xml?rev=1097669&r1=1097668&r2=1097669&view=diff
==============================================================================
--- 
camel/trunk/tests/camel-itest/src/test/resources/org/apache/camel/itest/greeter/CamelGreeterConsumerTest-context.xml
 (original)
+++ 
camel/trunk/tests/camel-itest/src/test/resources/org/apache/camel/itest/greeter/CamelGreeterConsumerTest-context.xml
 Fri Apr 29 02:10:02 2011
@@ -52,10 +52,10 @@
     <route>        
         <from uri="cxf://bean:serviceEndpoint"/>
         <process ref="jmsPrepareRequest"/>
-        <to uri="jms:responseQueue"/>              
+        <to 
uri="jms:responseQueue?transferException=true&amp;jmsMessageType=Object"/>      
        
     </route>
     <route>
-        <from uri="jms:responseQueue"/>
+        <from 
uri="jms:responseQueue?transferException=true&amp;jmsMessageType=Object"/>
         <process ref="jmsPrepareResponse"/>
     </route>    
   </camelContext>

Added: camel/trunk/tests/camel-itest/src/test/resources/wsdl/binding.xml
URL: 
http://svn.apache.org/viewvc/camel/trunk/tests/camel-itest/src/test/resources/wsdl/binding.xml?rev=1097669&view=auto
==============================================================================
--- camel/trunk/tests/camel-itest/src/test/resources/wsdl/binding.xml (added)
+++ camel/trunk/tests/camel-itest/src/test/resources/wsdl/binding.xml Fri Apr 
29 02:10:02 2011
@@ -0,0 +1,11 @@
+<jxb:bindings version="1.0" wsdlLocation="hello_world.wsdl"
+          xmlns:jaxws="http://java.sun.com/xml/ns/jaxws";
+          xmlns:jxb="http://java.sun.com/xml/ns/jaxb";
+          xmlns:xs="http://www.w3.org/2001/XMLSchema";
+          xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";>
+    <jxb:bindings>
+        <jxb:globalBindings>
+            <jxb:serializable/>
+        </jxb:globalBindings>
+    </jxb:bindings>
+</jxb:bindings>

Propchange: camel/trunk/tests/camel-itest/src/test/resources/wsdl/binding.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: camel/trunk/tests/camel-itest/src/test/resources/wsdl/binding.xml
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Propchange: camel/trunk/tests/camel-itest/src/test/resources/wsdl/binding.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml


Reply via email to