Hi

You cannot advice the predicates inside the eips such as the CBR. You
can instead replace the entire CBR with your own which you can provide
in the route builder.

On Wed, Jun 18, 2014 at 11:58 AM, ascetic <kamne...@gmail.com> wrote:
> Hello. I have a route
>
> from("direct:slr").routeId("slr")
>                         .choice()
>                             .when(slrBookPredicate()).id("slrBookPredicate")
>                                 .process(slrDBLogger()).id("slrDBLogger")
>                                 .beanRef("jmsSlrLogger",
> "handle").id("jmsSlrLogger")
>                             .otherwise()
>                                 .process(setNotFacingUs(SLR))
>                                 .choice()
>
> .when(tpmtTradeListPredicate(slrTradeListDAO))
>                                         .process(slrDBLogger())
>                                         .beanRef("jmsSlrLogger", "handle")
>                                  .otherwise()
>                                     .process(slrFilteredLogger())
>                                 .endChoice()
>                         .endChoice()
>                 .end();
>
> And i need to write a unit test to test the flow. Here a part of my test
> code
>
>         final Predicate successPredicate = createMock(Predicate.class);
>
> expect(successPredicate.matches(anyObject(Exchange.class))).andReturn(true);
>
>         final Processor slrDBLogger = createMock(Processor.class);
>         slrDBLogger.process(anyObject(Exchange.class));
>
>         final IMessageHandler<DocumentMessage> jmsSlrLogger =
> createMock(IMessageHandler.class);
>         jmsSlrLogger.handle(message);
> .........
> ModelCamelContext tempModelCamelContext = (ModelCamelContext) camelContext;
>         RouteDefinition tempRouteDefinition =
> tempModelCamelContext.getRouteDefinition("slr");
>         tempRouteDefinition.adviceWith(tempModelCamelContext, new
> AdviceWithRouteBuilder() {
>             @Override
>             public void configure() throws Exception {
>                 //weaveById("slrBookPredicate").replace(); //with
> what???????
>                 weaveById("slrDBLogger").replace().bean(slrDBLogger); //mock
>                 weaveById("jmsSlrLogger").replace().bean(jmsSlrLogger);
>             }
>         });
>
> I want to mock all used processors and predicates.
> With processors everything works fine - i'm just replacing them the the
> mocks. But when it comes to predicates i have a problems. How can i do that?
> May be i should not replace them, and where is another solution exists?
>
>
>
> --
> View this message in context: 
> http://camel.465427.n5.nabble.com/Mocking-predicate-in-existing-camel-route-tp5752497.html
> Sent from the Camel - Users mailing list archive at Nabble.com.



-- 
Claus Ibsen
-----------------
Red Hat, Inc.
Email: cib...@redhat.com
Twitter: davsclaus
Blog: http://davsclaus.com
Author of Camel in Action: http://www.manning.com/ibsen
hawtio: http://hawt.io/
fabric8: http://fabric8.io/

Reply via email to