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.