Author: davsclaus Date: Sun Sep 26 11:49:03 2010 New Revision: 1001415 URL: http://svn.apache.org/viewvc?rev=1001415&view=rev Log: Added more LB failover test.
Added: camel/trunk/camel-core/src/test/java/org/apache/camel/processor/FailOverAllFailedExceptionTest.java - copied, changed from r1001371, camel/trunk/camel-core/src/test/java/org/apache/camel/processor/FailOverNotCatchedExceptionTest.java Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/processor/FailOverNotCatchedExceptionTest.java Copied: camel/trunk/camel-core/src/test/java/org/apache/camel/processor/FailOverAllFailedExceptionTest.java (from r1001371, camel/trunk/camel-core/src/test/java/org/apache/camel/processor/FailOverNotCatchedExceptionTest.java) URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/FailOverAllFailedExceptionTest.java?p2=camel/trunk/camel-core/src/test/java/org/apache/camel/processor/FailOverAllFailedExceptionTest.java&p1=camel/trunk/camel-core/src/test/java/org/apache/camel/processor/FailOverNotCatchedExceptionTest.java&r1=1001371&r2=1001415&rev=1001415&view=diff ============================================================================== --- camel/trunk/camel-core/src/test/java/org/apache/camel/processor/FailOverNotCatchedExceptionTest.java (original) +++ camel/trunk/camel-core/src/test/java/org/apache/camel/processor/FailOverAllFailedExceptionTest.java Sun Sep 26 11:49:03 2010 @@ -16,7 +16,6 @@ */ package org.apache.camel.processor; -import java.io.IOException; import java.net.SocketException; import org.apache.camel.CamelExecutionException; @@ -26,7 +25,7 @@ import org.apache.camel.Processor; import org.apache.camel.builder.RouteBuilder; import org.apache.camel.component.mock.MockEndpoint; -public class FailOverNotCatchedExceptionTest extends ContextTestSupport { +public class FailOverAllFailedExceptionTest extends ContextTestSupport { protected MockEndpoint x; protected MockEndpoint y; @@ -44,15 +43,9 @@ public class FailOverNotCatchedException protected RouteBuilder createRouteBuilder() { return new RouteBuilder() { public void configure() { - // START SNIPPET: e1 from("direct:start") - // here we will load balance if IOException was thrown - // any other kind of exception will result in the Exchange as failed - // to failover over any kind of exception we can just omit the exception - // in the failOver DSL - .loadBalance().failover(IOException.class) + .loadBalance().failover(2, false, true) .to("direct:x", "direct:y", "direct:z"); - // END SNIPPET: e1 from("direct:x").to("mock:x").process(new Processor() { public void process(Exchange exchange) throws Exception { @@ -66,24 +59,26 @@ public class FailOverNotCatchedException } }); - from("direct:z").to("mock:z"); + from("direct:z").to("mock:z").process(new Processor() { + public void process(Exchange exchange) throws Exception { + throw new SocketException("Not Again"); + } + }); } }; } - public void testExceptionNotCatched() throws Exception { + public void testAllFailed() throws Exception { x.expectedMessageCount(1); y.expectedMessageCount(1); - z.expectedMessageCount(0); - - // to test that if a processor throw an exception that the failover loadbalancer - // do not catch then the exception is propagated back + z.expectedMessageCount(1); try { template.sendBody("direct:start", "Hello World"); + fail("Should have thrown exception"); } catch (CamelExecutionException e) { - assertEquals("Illegal", e.getCause().getMessage()); - assertIsInstanceOf(IllegalArgumentException.class, e.getCause()); + assertEquals("Not Again", e.getCause().getMessage()); + assertIsInstanceOf(SocketException.class, e.getCause()); } assertMockEndpointsSatisfied(); Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/processor/FailOverNotCatchedExceptionTest.java URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/FailOverNotCatchedExceptionTest.java?rev=1001415&r1=1001414&r2=1001415&view=diff ============================================================================== --- camel/trunk/camel-core/src/test/java/org/apache/camel/processor/FailOverNotCatchedExceptionTest.java (original) +++ camel/trunk/camel-core/src/test/java/org/apache/camel/processor/FailOverNotCatchedExceptionTest.java Sun Sep 26 11:49:03 2010 @@ -81,6 +81,7 @@ public class FailOverNotCatchedException try { template.sendBody("direct:start", "Hello World"); + fail("Should have thrown exception"); } catch (CamelExecutionException e) { assertEquals("Illegal", e.getCause().getMessage()); assertIsInstanceOf(IllegalArgumentException.class, e.getCause());