package camelinaction; import org.apache.camel.test.spring.CamelSpringTestSupport; import org.junit.Test; import org.springframework.context.support.AbstractXmlApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; /** * An example how to use Routing Slip EIP. * <p/> * This example uses a bean to compute the initial routing slip * which is used directly as a header on the RoutingSlip EIP */ public class SpringRoutingSlipHeaderTest extends CamelSpringTestSupport { @Override protected AbstractXmlApplicationContext createApplicationContext() { return new ClassPathXmlApplicationContext("META-INF/spring/routingslip-header.xml"); } @Test public void testRoutingSlip() throws Exception { // setup expectations that only A and C will receive the message getMockEndpoint("mock:a").expectedMessageCount(1); getMockEndpoint("mock:b").expectedMessageCount(0); getMockEndpoint("mock:c").expectedMessageCount(1); // send the incoming message template.sendBody("direct:start", "Hello World"); assertMockEndpointsSatisfied(); } @Test public void testRoutingSlipCool() throws Exception { // setup expectations that all will receive the message getMockEndpoint("mock:a").expectedMessageCount(1); getMockEndpoint("mock:b").expectedMessageCount(1); getMockEndpoint("mock:c").expectedMessageCount(1); template.sendBody("direct:start", "We are Cool"); assertMockEndpointsSatisfied(); } }