I am going crazy here (literally).
This is all I know at this point.
If I use this method exacly as I have it (endpoint names), then all my tests
pass as expected. But if I change anything in the endpoint names, even to be
mock:success, verse mock:success1 then several of my tests fail with
messages not getting routed correctly:
*public void testCreateInvalidChangeRequest(String inputDestinationURI,
String messageInputBody,
String messageOutputBody
)
throws Exception {
MockEndpoint mockFailureEndpoint = getMockEndpoint("mock:failed1");
MockEndpoint mockSuccessEndpoint = getMockEndpoint("mock:success1");
mockFailureEndpoint.expectedBodiesReceived(messageInputBody);
mockFailureEndpoint.expectedMessageCount(1);
mockSuccessEndpoint.expectedMessageCount(0);
try {
camelContext.addRoutes(new RouteBuilder() {
public void configure() throws Exception {
from("direct:start1")
.errorHandler(deadLetterChannel("mock:failed1"))
.process(changeRequestProcessor)
.to("mock:success1");
}
});
producerTemplate.sendBody("direct:start1", messageInputBody);
Assert.fail("Should have thrown a RuntimeCamelException");
} catch (RuntimeCamelException e) {
//assertIsInstanceOf(e, IllegalArgumentException.class);
assertIsInstanceOf(e, RuntimeCamelException.class);
}
testMocksAreValid();
MockEndpoint.assertIsSatisfied(mockFailureEndpoint,
mockSuccessEndpoint);
}
*
I have attached my basetest, and this test in question as well.