Author: davsclaus Date: Wed Apr 28 04:22:17 2010 New Revision: 938778 URL: http://svn.apache.org/viewvc?rev=938778&view=rev Log: Added test based on user forum issue
Added: camel/trunk/camel-core/src/test/java/org/apache/camel/processor/ChoiceNoActionTest.java - copied, changed from r938776, camel/trunk/camel-core/src/test/java/org/apache/camel/processor/ChoiceTest.java Copied: camel/trunk/camel-core/src/test/java/org/apache/camel/processor/ChoiceNoActionTest.java (from r938776, camel/trunk/camel-core/src/test/java/org/apache/camel/processor/ChoiceTest.java) URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/ChoiceNoActionTest.java?p2=camel/trunk/camel-core/src/test/java/org/apache/camel/processor/ChoiceNoActionTest.java&p1=camel/trunk/camel-core/src/test/java/org/apache/camel/processor/ChoiceTest.java&r1=938776&r2=938778&rev=938778&view=diff ============================================================================== --- camel/trunk/camel-core/src/test/java/org/apache/camel/processor/ChoiceTest.java (original) +++ camel/trunk/camel-core/src/test/java/org/apache/camel/processor/ChoiceNoActionTest.java Wed Apr 28 04:22:17 2010 @@ -18,76 +18,37 @@ package org.apache.camel.processor; import org.apache.camel.ContextTestSupport; import org.apache.camel.builder.RouteBuilder; -import org.apache.camel.component.mock.MockEndpoint; -import static org.apache.camel.component.mock.MockEndpoint.expectsMessageCount; /** * @version $Revision$ */ -public class ChoiceTest extends ContextTestSupport { - protected MockEndpoint x; - protected MockEndpoint y; - protected MockEndpoint z; - protected MockEndpoint end; - - public void testSendToFirstWhen() throws Exception { - String body = "<one/>"; - x.expectedBodiesReceived(body); - end.expectedBodiesReceived(body); - // The SpringChoiceTest.java can't setup the header by Spring configure file - // x.expectedHeaderReceived("name", "a"); - expectsMessageCount(0, y, z); +public class ChoiceNoActionTest extends ContextTestSupport { - sendMessage("bar", body); + public void testWhen() throws Exception { + getMockEndpoint("mock:world").expectedMessageCount(1); - assertMockEndpointsSatisfied(); - } - - public void testSendToSecondWhen() throws Exception { - String body = "<two/>"; - y.expectedBodiesReceived(body); - end.expectedBodiesReceived(body); - expectsMessageCount(0, x, z); - - sendMessage("cheese", body); + template.sendBody("direct:start", "Hello World"); assertMockEndpointsSatisfied(); } - public void testSendToOtherwiseClause() throws Exception { - String body = "<three/>"; - z.expectedBodiesReceived(body); - end.expectedBodiesReceived(body); - expectsMessageCount(0, x, y); + public void testNoAction() throws Exception { + getMockEndpoint("mock:world").expectedMessageCount(0); - sendMessage("somethingUndefined", body); + template.sendBody("direct:start", "No action please"); assertMockEndpointsSatisfied(); } - protected void sendMessage(final Object headerValue, final Object body) throws Exception { - template.sendBodyAndHeader("direct:start", body, "foo", headerValue); - } - - @Override - protected void setUp() throws Exception { - super.setUp(); - - x = getMockEndpoint("mock:x"); - y = getMockEndpoint("mock:y"); - z = getMockEndpoint("mock:z"); - end = getMockEndpoint("mock:end"); - } - protected RouteBuilder createRouteBuilder() { return new RouteBuilder() { public void configure() { - from("direct:start").choice() - .when().xpath("$foo = 'bar'").to("mock:x") - .when().xpath("$foo = 'cheese'").to("mock:y") - .otherwise().to("mock:z").end().to("mock:end"); + from("direct:start") + .choice() + .when(body().isEqualTo("Hello World")).to("mock:world"); + // other kind of messages take no action } }; } -} +} \ No newline at end of file