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