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