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 2010/02/10 10:39:03 UTC
svn commit: r908415 - in /camel/trunk/components:
camel-jetty/src/test/java/org/apache/camel/component/jetty/HttpConverterTest.java
camel-servlet/src/test/java/org/apache/camel/component/servlet/HttpClientRouteTest.java
Author: ningjiang
Date: Wed Feb 10 09:38:53 2010
New Revision: 908415
URL: http://svn.apache.org/viewvc?rev=908415&view=rev
Log:
CAMEL-2453 added the unit test
Modified:
camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/HttpConverterTest.java
camel/trunk/components/camel-servlet/src/test/java/org/apache/camel/component/servlet/HttpClientRouteTest.java
Modified: camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/HttpConverterTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/HttpConverterTest.java?rev=908415&r1=908414&r2=908415&view=diff
==============================================================================
--- camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/HttpConverterTest.java (original)
+++ camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/HttpConverterTest.java Wed Feb 10 09:38:53 2010
@@ -19,8 +19,10 @@
import java.io.InputStream;
import javax.servlet.ServletInputStream;
import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
import org.apache.camel.Exchange;
+import org.apache.camel.Message;
import org.apache.camel.Processor;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.http.HttpConverter;
@@ -37,6 +39,32 @@
public boolean isUseRouteBuilder() {
return false;
}
+
+ @Test
+ public void testToServletRequestAndResponse() throws Exception {
+ context.addRoutes(new RouteBuilder() {
+ @Override
+ public void configure() throws Exception {
+ from("jetty://http://localhost:9080/test")
+ // add this node to make sure the convert can work within DefaultMessageImpl
+ .convertBodyTo(String.class)
+ .process(new Processor() {
+ public void process(Exchange exchange) throws Exception {
+ HttpServletRequest request = exchange.getIn(HttpServletRequest.class);
+ assertNotNull("We should get request object here", request);
+ HttpServletResponse response = exchange.getIn(HttpServletResponse.class);
+ assertNotNull("We should get response object here", response);
+ String s = exchange.getIn().getBody(String.class);
+ assertEquals("Hello World", s);
+ }
+ }).transform(constant("Bye World"));
+ }
+ });
+ context.start();
+
+ String out = template.requestBody("http://localhost:9080/test", "Hello World", String.class);
+ assertEquals("Bye World", out);
+ }
@Test
public void testToServletInputStream() throws Exception {
Modified: camel/trunk/components/camel-servlet/src/test/java/org/apache/camel/component/servlet/HttpClientRouteTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-servlet/src/test/java/org/apache/camel/component/servlet/HttpClientRouteTest.java?rev=908415&r1=908414&r2=908415&view=diff
==============================================================================
--- camel/trunk/components/camel-servlet/src/test/java/org/apache/camel/component/servlet/HttpClientRouteTest.java (original)
+++ camel/trunk/components/camel-servlet/src/test/java/org/apache/camel/component/servlet/HttpClientRouteTest.java Wed Feb 10 09:38:53 2010
@@ -19,6 +19,9 @@
import java.io.ByteArrayInputStream;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
import com.meterware.httpunit.PostMethodWebRequest;
import com.meterware.httpunit.WebRequest;
import com.meterware.httpunit.WebResponse;
@@ -55,6 +58,16 @@
client.setExceptionsThrownOnErrorStatus(false);
}
+ @Test
+ public void testHttpConverter() throws Exception {
+ WebRequest req = new PostMethodWebRequest(CONTEXT_URL + "/services/testConverter", new ByteArrayInputStream(POST_DATA.getBytes()), "text/xml; charset=UTF-8");
+ ServletUnitClient client = newClient();
+ client.setExceptionsThrownOnErrorStatus(false);
+ WebResponse response = client.getResponse(req);
+ assertEquals("The response message is wrong ", "OK", response.getResponseMessage());
+ assertEquals("The response body is wrong", "Bye World", response.getText());
+ }
+
public static class MyServletRoute extends RouteBuilder {
@Override
@@ -62,7 +75,7 @@
errorHandler(noErrorHandler());
// START SNIPPET: route
from("servlet:///hello?matchOnUriPrefix=true").process(new Processor() {
- public void process(Exchange exchange) throws Exception {
+ public void process(Exchange exchange) throws Exception {
String contentType = exchange.getIn().getHeader(Exchange.CONTENT_TYPE, String.class);
String path = exchange.getIn().getHeader(Exchange.HTTP_PATH, String.class);
assertEquals("Get a wrong content type", CONTENT_TYPE, contentType);
@@ -74,7 +87,21 @@
}
});
// END SNIPPET: route
- }
+
+ from("servlet:///testConverter?matchOnUriPrefix=true")
+ .convertBodyTo(String.class)
+ .process(new Processor() {
+ public void process(Exchange exchange) throws Exception {
+ HttpServletRequest request = exchange.getIn(HttpServletRequest.class);
+ assertNotNull("We should get request object here", request);
+ HttpServletResponse response = exchange.getIn(HttpServletResponse.class);
+ assertNotNull("We should get response object here", response);
+ String s = exchange.getIn().getBody(String.class);
+ assertEquals("<request> hello world </request>", s);
+ }
+ }).transform(constant("Bye World"));
+ }
+
}