You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ni...@apache.org on 2012/12/11 08:19:13 UTC

svn commit: r1420015 - in /camel/trunk/camel-core/src/test/java/org/apache/camel/component/bean: MyRequest.java MyResponse.java MyService.java MyServiceProxyTest.java

Author: ningjiang
Date: Tue Dec 11 07:19:12 2012
New Revision: 1420015

URL: http://svn.apache.org/viewvc?rev=1420015&view=rev
Log:
Added an unit test based on the camel-user mailing list

Added:
    camel/trunk/camel-core/src/test/java/org/apache/camel/component/bean/MyRequest.java
      - copied, changed from r1419757, camel/trunk/camel-core/src/test/java/org/apache/camel/component/bean/MyService.java
    camel/trunk/camel-core/src/test/java/org/apache/camel/component/bean/MyResponse.java
      - copied, changed from r1419757, camel/trunk/camel-core/src/test/java/org/apache/camel/component/bean/MyService.java
Modified:
    camel/trunk/camel-core/src/test/java/org/apache/camel/component/bean/MyService.java
    camel/trunk/camel-core/src/test/java/org/apache/camel/component/bean/MyServiceProxyTest.java

Copied: camel/trunk/camel-core/src/test/java/org/apache/camel/component/bean/MyRequest.java (from r1419757, camel/trunk/camel-core/src/test/java/org/apache/camel/component/bean/MyService.java)
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/component/bean/MyRequest.java?p2=camel/trunk/camel-core/src/test/java/org/apache/camel/component/bean/MyRequest.java&p1=camel/trunk/camel-core/src/test/java/org/apache/camel/component/bean/MyService.java&r1=1419757&r2=1420015&rev=1420015&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/component/bean/MyService.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/component/bean/MyRequest.java Tue Dec 11 07:19:12 2012
@@ -16,11 +16,7 @@
  */
 package org.apache.camel.component.bean;
 
-/**
- * @version 
- */
-public interface MyService {
-
-    String method(String in) throws MyApplicationException;
-
+public class MyRequest {
+    int id;
+    String request;
 }

Copied: camel/trunk/camel-core/src/test/java/org/apache/camel/component/bean/MyResponse.java (from r1419757, camel/trunk/camel-core/src/test/java/org/apache/camel/component/bean/MyService.java)
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/component/bean/MyResponse.java?p2=camel/trunk/camel-core/src/test/java/org/apache/camel/component/bean/MyResponse.java&p1=camel/trunk/camel-core/src/test/java/org/apache/camel/component/bean/MyService.java&r1=1419757&r2=1420015&rev=1420015&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/component/bean/MyService.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/component/bean/MyResponse.java Tue Dec 11 07:19:12 2012
@@ -16,11 +16,7 @@
  */
 package org.apache.camel.component.bean;
 
-/**
- * @version 
- */
-public interface MyService {
-
-    String method(String in) throws MyApplicationException;
-
+public class MyResponse {
+    int id;
+    String response;
 }

Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/component/bean/MyService.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/component/bean/MyService.java?rev=1420015&r1=1420014&r2=1420015&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/component/bean/MyService.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/component/bean/MyService.java Tue Dec 11 07:19:12 2012
@@ -22,5 +22,7 @@ package org.apache.camel.component.bean;
 public interface MyService {
 
     String method(String in) throws MyApplicationException;
+    
+    MyResponse call(MyRequest in) throws MyApplicationException;
 
 }

Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/component/bean/MyServiceProxyTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/component/bean/MyServiceProxyTest.java?rev=1420015&r1=1420014&r2=1420015&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/component/bean/MyServiceProxyTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/component/bean/MyServiceProxyTest.java Tue Dec 11 07:19:12 2012
@@ -17,6 +17,8 @@
 package org.apache.camel.component.bean;
 
 import org.apache.camel.ContextTestSupport;
+import org.apache.camel.Exchange;
+import org.apache.camel.Processor;
 import org.apache.camel.RuntimeCamelException;
 import org.apache.camel.builder.RouteBuilder;
 
@@ -73,6 +75,16 @@ public class MyServiceProxyTest extends 
             assertEquals(7, e.getCode());
         }
     }
+    
+    public void testRequestAndResponse() throws Exception {
+        MyService myService = ProxyHelper.createProxy(context.getEndpoint("direct:request"), MyService.class);
+        MyRequest in = new MyRequest();
+        in.id = 100;
+        in.request = "Camel";
+        MyResponse response = myService.call(in);
+        assertEquals("Get a wrong response id.", 100, response.id);
+        assertEquals("Get a wrong response", "Hi Camel", response.response);
+    }
 
     @Override
     protected RouteBuilder createRouteBuilder() throws Exception {
@@ -86,6 +98,20 @@ public class MyServiceProxyTest extends 
                         .when(body().isEqualTo("Elephant in Action")).throwException(new MyCustomException("Damn", new MyApplicationException("No elephants", 7)))
                         .when(body().isEqualTo("Kaboom")).throwException(new IllegalArgumentException("Damn"))
                         .otherwise().transform(constant("Camel in Action"));
+                
+                from("direct:request").process(new Processor() {
+
+                    @Override
+                    public void process(Exchange exchange) throws Exception {
+                        MyRequest request = exchange.getIn().getBody(MyRequest.class);
+                        MyResponse response = new MyResponse();
+                        response.id = request.id;
+                        response.response = "Hi " + request.request;
+                        // we need to setup the body as a response
+                        exchange.getOut().setBody(response);
+                    }
+
+                });
             }
         };
     }