Quantcast
Channel: Apache Timeline
Viewing all articles
Browse latest Browse all 5648

Unit Test the FROM URI of a route.

$
0
0
Hi Team

I want to unit test a route for which i used the AdviceWith function
replaceFromWith("Direct:Start"); with which i unit tested the route. I got
success on that.

But the issue is I replaced the FROM URI which is itself very complicated ,
Given Below :

*<from
uri="file:{{inbound_home}}?include=.*Camel.dat橪;move={{data_home}}/${file:onlyname.noext}_${date:now:yyyyMMdd-HHmmss}.TXT橪;moveFailed={{data_home}}/errorfile/${file:onlyname.noext}_${date:now:yyyyMMdd-HHmmss}.TXT橪;doneFileName=CAMELTRIGGER"/>*

I want to unit test the FROM URI , i used the
weaveByType(ToDefinition.class).selectFirst().replace().to("mock:out");

This replaced the TO URI with MOCK:OUT But i am unable to keep the route in
start mode.
How can i use the Producer Template or Is there any other method by which i
can test this , without making any changes to my CamelContext.xml

Given below is the code :

Public class CamelAdviceWith extends CamelSpringTestSupport{

@Override
protected AbstractApplicationContext createApplicationContext() {
return new ClassPathXmlApplicationContext("Camelcontext.xml");

@Override
public boolean isUseAdviceWith() {
return true;

@Test
public void testAdviceWith() throws Exception

context.getRouteDefinition("gsm-inbound").adviceWith(context, new
AdviceWithRouteBuilder() {

@Override
public void configure() throws Exception {

weaveByType(ToDefinition.class).selectFirst().replace().to("mock:out");

});

context.start();

// template.sendBody(?????????????); --- Commented Code, What should i use
here..

context.stop();

Viewing all articles
Browse latest Browse all 5648

Trending Articles