You can use the hasEndpoint method on CamelContext

On Tue, Sep 17, 2013 at 5:34 AM, Simmons Jr, Robert <rsimmon...@ea.com> wrote:
> Greetings,
>
> I have some camel tests using TestNG and CamelTestSupport. The problem I am 
> having is that I can get mock endpoints that don't exist. This makes it a 
> pain to debug the tests with complex routes. I was wondering if there is 
> something like assertIsReal() to determine if a mock endpoint is actually 
> connected to a real endpoint in the route. For example:
>
>
>     this.context.getRouteDefinition(ROUTE_ID).adviceWith(this.context, new 
> AdviceWithRouteBuilder() {
>
>       @Override
>
>       public void configure() throws Exception {
>
>         // mock only log endpoints
>
>         mockEndpointsAndSkip("activemq:*");
>
>       }
>
>     });
>
> Then
>
>
>     final MockEndpoint first = 
> getMockEndpoint("mock:activemq:queue:escalated-cases");
>
>     fifa.expectedBodiesReceived(gson.toJson(fc));
>
>     final MockEndpoint xe = getMandatoryEndpoint("mock:activemq:queue:" + 
> "blah", MockEndpoint.class);
>
> In this case the "first" endpoint points to an actual node in the route but 
> the xe one does not. The problem is if I get the URI slightly wrong, I spend 
> 20 minutes chancing ghosts to figure out if the mock is real. It would be 
> better if getMockEndpoint() would throw an exception if there is no backing 
> component.
>
> And then the code would throw exceptions if it didn't find the real component.
>
>
> Robert Simmons Jr. MSc. | Lead Java Architect | EA - Worldwide Customer 
> Experience
>



-- 
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

Reply via email to