Hi ,
Here is a sample test for my Camel route.
I am overriding the camel context to replace a JMS Endpoint with a Mock.
And setting the expectations on the route and trying to assert it. But this
test is failing. Can anyone see a problem in my test ? Instead of adding a
mock to my production route, I am changing the JMS to Mock on the fly in the
unit test. Can this be done ? If yes, What is wrong in my unit test ?
Please help.
public class EventListenerRouteMockTest extends CamelSpringTestSupport {
@EndpointInject(uri = "jms:queue/jbossEventQueue")
protected MockEndpoint mock;
@EndpointInject(uri = "jms:queue/jbossEventQueue")
Endpoint endPoint;
@Produce(uri = "direct:eventMessageList")
protected ProducerTemplate producer;
@Test
public void testSendMatchingMessage() throws Exception {
System.out.println("Starting the test ...");
EventQueue event = new EventQueue();
event.setEventMessage("TestMessage");
List<EventQueue> expectedBodies = new
ArrayList<EventQueue>();
expectedBodies.add(event);
mock.setExpectedMessageCount(1);
mock.expectedBodiesReceived(expectedBodies);
producer.sendBody("direct:eventMessageList", event);
mock.assertIsSatisfied();
}
@Override
protected RouteBuilder createRouteBuilder() {
System.out.println("Creating RouteBuilder ...");
//return new EventListenerRoute();
return new RouteBuilder() {
public void configure() {
from("direct:eventMessageList").id("PseudoEventQueue")
.to("log:{exchange}?level=INFO")
.to("jms:queue");
}
};
}
@Override
protected CamelContext createCamelContext() throws Exception {
System.out.println("Overriding JMS with Mock ...");
CamelContext context = super.createCamelContext();
context.addComponent("jms",
context.getComponent("mock"));
return context;
}
@Override
protected AbstractApplicationContext createApplicationContext()
{
System.out.println("createApplicationContext() method");
return new
ClassPathXmlApplicationContext("META-INF/spring/testCamelContext.xml");
}
}
--
View this message in context:
http://camel.465427.n5.nabble.com/Issue-Replacing-a-component-with-Mock-in-Camel-Context-tp5728195.html
Sent from the Camel - Users mailing list archive at Nabble.com.