Repository: camel Updated Branches: refs/heads/master 7a6d7238a -> 2254699d3
Added unit test based on user forum issue Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/2254699d Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/2254699d Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/2254699d Branch: refs/heads/master Commit: 2254699d3153adf483f4db4cf003dd94f1e9185f Parents: 7a6d723 Author: Claus Ibsen <davscl...@apache.org> Authored: Fri Jan 23 13:27:01 2015 +0100 Committer: Claus Ibsen <davscl...@apache.org> Committed: Fri Jan 23 13:27:01 2015 +0100 ---------------------------------------------------------------------- .../RecipientListExchangePropertyTest.java | 53 ++++++++++++-------- 1 file changed, 32 insertions(+), 21 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/2254699d/camel-core/src/test/java/org/apache/camel/processor/RecipientListExchangePropertyTest.java ---------------------------------------------------------------------- diff --git a/camel-core/src/test/java/org/apache/camel/processor/RecipientListExchangePropertyTest.java b/camel-core/src/test/java/org/apache/camel/processor/RecipientListExchangePropertyTest.java index d450c84..784c5ed 100644 --- a/camel-core/src/test/java/org/apache/camel/processor/RecipientListExchangePropertyTest.java +++ b/camel-core/src/test/java/org/apache/camel/processor/RecipientListExchangePropertyTest.java @@ -17,44 +17,55 @@ package org.apache.camel.processor; import org.apache.camel.ContextTestSupport; -import org.apache.camel.Exchange; import org.apache.camel.builder.RouteBuilder; -import org.apache.camel.component.mock.MockEndpoint; /** * @version */ public class RecipientListExchangePropertyTest extends ContextTestSupport { - public void testRecipientExchangeProperty() throws Exception { - getMockEndpoint("mock:a").expectedPropertyReceived(Exchange.RECIPIENT_LIST_ENDPOINT, "direct://a"); - getMockEndpoint("mock:a").expectedPropertyReceived(Exchange.TO_ENDPOINT, "mock://a"); - getMockEndpoint("mock:b").expectedPropertyReceived(Exchange.RECIPIENT_LIST_ENDPOINT, "direct://b"); - getMockEndpoint("mock:b").expectedPropertyReceived(Exchange.TO_ENDPOINT, "mock://b"); - getMockEndpoint("mock:c").expectedPropertyReceived(Exchange.RECIPIENT_LIST_ENDPOINT, "direct://c"); - getMockEndpoint("mock:c").expectedPropertyReceived(Exchange.TO_ENDPOINT, "mock://c"); + private final MyStuff myStuff = new MyStuff("Blah"); - MockEndpoint mock = getMockEndpoint("mock:result"); - mock.expectedBodiesReceived("Hello c"); - // would be the last one - mock.expectedPropertyReceived(Exchange.RECIPIENT_LIST_ENDPOINT, "direct://c"); + public void testExchangeProperty() throws Exception { + getMockEndpoint("mock:x").expectedBodiesReceived("Hello World"); + getMockEndpoint("mock:x").message(0).property("foo").isEqualTo(myStuff); + getMockEndpoint("mock:y").expectedBodiesReceived("Hello World"); + getMockEndpoint("mock:y").message(0).property("foo").isEqualTo(myStuff); + getMockEndpoint("mock:z").expectedBodiesReceived("Hello World"); + getMockEndpoint("mock:z").message(0).property("foo").isEqualTo(myStuff); + getMockEndpoint("mock:result").expectedBodiesReceived("Hello World"); + getMockEndpoint("mock:result").message(0).property("foo").isEqualTo(myStuff); - String out = template.requestBodyAndHeader("direct:start", "Hello World", "slip", "direct:a,direct:b,direct:c", String.class); - assertEquals("Hello c", out); + template.sendBodyAndProperty("direct:a", "Hello World", "foo", myStuff); assertMockEndpointsSatisfied(); + + MyStuff stuff = getMockEndpoint("mock:result").getReceivedExchanges().get(0).getProperty("foo", MyStuff.class); + assertSame("Should be same instance", myStuff, stuff); } protected RouteBuilder createRouteBuilder() { return new RouteBuilder() { public void configure() { - from("direct:start").recipientList(header("slip")).to("mock:result"); - - from("direct:a").to("mock:a").transform(constant("Hello a")); - from("direct:b").to("mock:b").transform(constant("Hello b")); - from("direct:c").to("mock:c").transform(constant("Hello c")); + from("direct:a") + .recipientList(constant("mock:x,mock:y,mock:z")) + .to("mock:result"); } }; + + } + + private static class MyStuff { + + private String name; + + private MyStuff(String name) { + this.name = name; + } + + public String getName() { + return name; + } } -} \ No newline at end of file +}