MuleEvent responseEvent = new OutboundRoutingTestEvent(message, session, muleContext);
ImmutableEndpoint ep = (ImmutableEndpoint) router.getRoute(2, responseEvent);
assertEquals("test://foo?bar&exchangePattern=request-response", ep.getEndpointURI().toString());
when(mockEndpoint1.process(any(MuleEvent.class))).thenAnswer(new MuleEventCheckAnswer(responseEvent));
when(mockEndpoint2.process(any(MuleEvent.class))).thenAnswer(new MuleEventCheckAnswer(responseEvent));
when(mockEndpoint3.process(any(MuleEvent.class))).thenAnswer(new MuleEventCheckAnswer(responseEvent));
final MuleEvent result = router.route(new OutboundRoutingTestEvent(message, session, muleContext));
assertNotNull("This is a sync call, we need a result returned.", result);
assertEquals(message, result.getMessage());
}