Sorry for missing this important information. It's 2.17.6 ________________________________ Von: Claus Ibsen <[email protected]> Gesendet: Freitag, 27. Oktober 2017 16:51:27 An: [email protected] Betreff: Re: Sprint Unit test fails when OnCompletion configured
What version of CAmel do you use On Fri, Oct 27, 2017 at 4:12 PM, Oliver Wulff <[email protected]> wrote: > Hi all > > > I've got a very simple route which reads from a file, does some processing > and then sends it by mail. I've also created a unit test based on > CamelSpringTestSupport where I mock the smtp endpoint and update the > consuming endpoint: > > > @Override > protected void doPostSetup() throws Exception { > > > context.getRouteDefinition(ROUTE_ID).adviceWith(context, new > AdviceWithRouteBuilder() { > @Override > public void configure() throws Exception { > replaceFromWith("direct:teststart"); > weaveAddFirst().convertBodyTo(String.class); > weaveAddLast().log(LoggingLevel.DEBUG, "End: > ${body}"); > > } > }); > > > @Override > public String isMockEndpointsAndSkip() { > return "smtp*"; > } > > > > This is the route: > > > <onCompletion> > <to uri="jms:topic:MON?disableReplyTo=true" /> > </onCompletion> > > <route id="email-deliver"> > <from uri="file://{{src.folder}}?include=.*.xml" /> > <unmarshal> > <jaxb contextPath="com.example.email.jaxb"/> > </unmarshal> > <process ref="dummy" /> > <to uri="smtp://{{smtp.hostname}}?contentType=text/html" /> > </route> > > > > When I run the maven project without <onCompletion> it works but if I > activate <onCompletion> it fails with the following error: > > > > Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 4.577 sec <<< > FAILURE! - in com.example.email.CamelRouteTest > testSendingMail(com.example.email.CamelRouteTest) Time elapsed: 4.514 sec > <<< ERROR! > java.lang.IllegalArgumentException: There are no outputs which matches: * in > the route: Route(email-deliver)[[From[direct:teststart]] -> > [onCompletion[[To[jms:topic:MON?disableReplyTo=true]]], > Unmarshal[org.apache.camel.model.dataformat.JaxbDataFormat@7ea08277], > process[ref:dummy], To[smtp://{{smtp.hostname}}?contentType=text/html]]] > at > org.apache.camel.builder.AdviceWithTasks$3.task(AdviceWithTasks.java:305) > at > org.apache.camel.model.RouteDefinition.adviceWith(RouteDefinition.java:281) > at > com.example.email.CamelRouteTest.doPostSetup(CamelRouteTest.java:37) > > > Results : > > Tests in error: > CamelRouteTest>CamelTestSupport.setUp:240->doPostSetup:37 ยป IllegalArgument > Th... > > Tests run: 1, Failures: 0, Errors: 1, Skipped: 0 > > > > I've searched in the internet for this error "There are no outputs which > matches: *" but haven't found anything which explains why I've discovered > this behaviour. > > > What do I have to change to fix the unit test. > > > Thanks for your feedback > > Oli > > -- Claus Ibsen ----------------- http://davsclaus.com @davsclaus Camel in Action 2: https://www.manning.com/ibsen2
