You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by js...@apache.org on 2007/11/20 12:55:09 UTC

svn commit: r596635 - in /activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/issues: ExceptionTest.java RomeksExceptionTest.java

Author: jstrachan
Date: Tue Nov 20 03:55:06 2007
New Revision: 596635

URL: http://svn.apache.org/viewvc?rev=596635&view=rev
Log:
added a test case for this error  : http://www.nabble.com/Exceptions-handling-once-again-tf4764253s22882.html

Added:
    activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/issues/RomeksExceptionTest.java   (contents, props changed)
      - copied, changed from r596264, activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/issues/ExceptionTest.java
Modified:
    activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/issues/ExceptionTest.java

Modified: activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/issues/ExceptionTest.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/issues/ExceptionTest.java?rev=596635&r1=596634&r2=596635&view=diff
==============================================================================
--- activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/issues/ExceptionTest.java (original)
+++ activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/issues/ExceptionTest.java Tue Nov 20 03:55:06 2007
@@ -95,7 +95,7 @@
                 }
                 from("direct:start").process(exceptionThrower).to("mock:result");
                 from("direct:start2").to("direct:intermediate").to("mock:result");
-                from("direct:intermediate").setBody(constant("<some-value/>")).process(exceptionThrower).to("mock:resuilt");
+                from("direct:intermediate").setBody(constant("<some-value/>")).process(exceptionThrower).to("mock:result");
             }
         };
     }

Copied: activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/issues/RomeksExceptionTest.java (from r596264, activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/issues/ExceptionTest.java)
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/issues/RomeksExceptionTest.java?p2=activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/issues/RomeksExceptionTest.java&p1=activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/issues/ExceptionTest.java&r1=596264&r2=596635&rev=596635&view=diff
==============================================================================
--- activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/issues/ExceptionTest.java (original)
+++ activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/issues/RomeksExceptionTest.java Tue Nov 20 03:55:06 2007
@@ -17,67 +17,52 @@
  */
 package org.apache.camel.issues;
 
+import java.util.List;
+
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
 
 /**
  * @version $Revision: 1.1 $
  */
-public class ExceptionTest extends ContextTestSupport {
-
-    public void testExceptionWithoutHandler() throws Exception {
-        MockEndpoint resultEndpoint = getMockEndpoint("mock:result");
+public class RomeksExceptionTest extends ContextTestSupport {
+    private static final transient Log LOG = LogFactory.getLog(RomeksExceptionTest.class);
 
-        resultEndpoint.expectedMessageCount(0);
-
-        template.sendBody("direct:start", "<body/>");
-
-        assertMockEndpointsSatisifed();
+    public void testRouteA() throws Exception {
+        assertErrorHandlingWorks("a");
     }
 
-    public void testExceptionWithHandler() throws Exception {
-        MockEndpoint resultEndpoint = getMockEndpoint("mock:result");
-        MockEndpoint exceptionEndpoint = getMockEndpoint("mock:exception");
-
-        exceptionEndpoint.expectedMessageCount(1);
-        resultEndpoint.expectedMessageCount(0);
-
-        template.sendBody("direct:start", "<body/>");
-
-        assertMockEndpointsSatisifed();
+    public void testRouteB() throws Exception {
+        assertErrorHandlingWorks("b");
     }
 
-    public void testExceptionWithLongHandler() throws Exception {
+    protected void assertErrorHandlingWorks(String route) throws InterruptedException {
         MockEndpoint resultEndpoint = getMockEndpoint("mock:result");
         MockEndpoint exceptionEndpoint = getMockEndpoint("mock:exception");
 
-        exceptionEndpoint.expectedBodiesReceived("<handled/>");
         resultEndpoint.expectedMessageCount(0);
+        exceptionEndpoint.expectedBodiesReceived("<exception/>");
 
-        template.sendBody("direct:start", "<body/>");
+        template.sendBodyAndHeader("direct:start", "<body/>", "route", route);
 
         assertMockEndpointsSatisifed();
-    }
-    
-    public void testLongRouteWithHandler() throws Exception {
-        MockEndpoint resultEndpoint = getMockEndpoint("mock:result");
-        MockEndpoint exceptionEndpoint = getMockEndpoint("mock:exception");
-
-        exceptionEndpoint.expectedMessageCount(1);
-        resultEndpoint.expectedMessageCount(0);
 
-        template.sendBody("direct:start2", "<body/>");
-
-        assertMockEndpointsSatisifed();
+        List<Exchange> list = exceptionEndpoint.getReceivedExchanges();
+        Exchange exchange = list.get(0);
+        LOG.debug("Received: " + exchange.getIn());
     }
-    
+
     @Override
     protected RouteBuilder createRouteBuilder() throws Exception {
         final Processor exceptionThrower = new Processor() {
             public void process(Exchange exchange) throws Exception {
+                LOG.debug("About to throw exception on " + exchange);
+
                 exchange.getIn().setBody("<exception/>");
                 throw new IllegalArgumentException("Exception thrown intentionally.");
             }
@@ -85,19 +70,22 @@
 
         return new RouteBuilder() {
             public void configure() {
-                if (getName().endsWith("WithLongHandler")) {
-                    log.debug("Using long exception handler");
-                    exception(IllegalArgumentException.class).setBody(constant("<handled/>")).
-                        to("mock:exception");
-                } else if (getName().endsWith("WithHandler")) {
-                    log.debug("Using exception handler");
-                    exception(IllegalArgumentException.class).to("mock:exception");
-                }
-                from("direct:start").process(exceptionThrower).to("mock:result");
-                from("direct:start2").to("direct:intermediate").to("mock:result");
-                from("direct:intermediate").setBody(constant("<some-value/>")).process(exceptionThrower).to("mock:resuilt");
+                exception(IllegalArgumentException.class).to("mock:exception");
+
+                from("direct:start").
+                        recipientList().simple("direct:${header.route}").
+                        to("mock:result");
+
+                from("direct:a").
+                        setBody(constant("<some-value/>")).
+                        process(exceptionThrower).
+                        to("mock:result");
+
+                from("direct:b").
+                        process(exceptionThrower).
+                        setBody(constant("<some-value/>")).
+                        to("mock:result");
             }
         };
     }
-}
-
+}
\ No newline at end of file

Propchange: activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/issues/RomeksExceptionTest.java
------------------------------------------------------------------------------
    svn:eol-style = native