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);
+ }
+
+ });
}
};
}