I have the following route configuration:
@Component
public class MyRoute extends RouteBuilder {
@Override
public void configure() throws Exception {
from("direct:in").to("direct:out");
}
}
When I try to test it:
@RunWith(CamelSpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = { MyRouteTest.TestConfig.class }, loader = CamelSpringDelegatingTestContextLoader.class)
@MockEndpoints
public class MyRouteTest {
@EndpointInject(uri = "mock:direct:out")
private MockEndpoint mockEndpoint;
@Produce(uri = "direct:in")
private ProducerTemplate producerTemplate;
@Configuration
public static class TestConfig extends SingleRouteCamelConfiguration {
@Bean
@Override
public RouteBuilder route() {
return new MyRoute();
}
}
@Test
public void testRoute() throws Exception {
mockEndpoint.expectedBodiesReceived("Test Message");
producerTemplate.sendBody("Test Message");
mockEndpoint.assertIsSatisfied();
}
}
I get this exception:
org.apache.camel.component.direct.DirectConsumerNotAvailableException: No consumers available on endpoint: Endpoint[direct://out]. Exchange[Message: Test Message]
It looks like the Mock is not picking up the message from the endpoint.
What am I doing wrong?
Aucun commentaire:
Enregistrer un commentaire