[
https://issues.apache.org/jira/browse/CAMEL-5283?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13278328#comment-13278328
]
Christian Müller commented on CAMEL-5283:
-----------------------------------------
If I change the route to:
{code}
public void configure() throws Exception {
from("file://target/inbox")
.to("file://target/outbox")
.to("http://localhost:8088");
}
{code}
I get the following (expected) exception:
{code}
org.apache.camel.FailedToCreateRouteException: Failed to create route route1
at: >>> To[http://localhost:8088] <<< in route:
Route[[From[file://target/inbox]] -> [To[file://target/outbo... because of
Failed to resolve endpoint: http://localhost:8088 due to: No component found
with scheme: http
at
org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:855)
at
org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:168)
at
org.apache.camel.impl.DefaultCamelContext.startRoute(DefaultCamelContext.java:709)
at
org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:1733)
at
org.apache.camel.impl.DefaultCamelContext.doStartCamel(DefaultCamelContext.java:1525)
at
org.apache.camel.impl.DefaultCamelContext.doStart(DefaultCamelContext.java:1420)
at org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:60)
at
org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:1388)
at
org.apache.camel.test.junit4.CamelTestSupport.startCamelContext(CamelTestSupport.java:410)
at
org.apache.camel.test.junit4.CamelTestSupport.doSetUp(CamelTestSupport.java:277)
at
org.apache.camel.test.junit4.CamelTestSupport.setUp(CamelTestSupport.java:204)
at camelinaction.FirstTest.setUp(FirstTest.java:38)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:45)
at
org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at
org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:42)
at
org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:27)
at
org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:30)
at org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:47)
at org.junit.rules.RunRules.evaluate(RunRules.java:18)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:263)
at
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:68)
at
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:47)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222)
at
org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:30)
at org.junit.runners.ParentRunner.run(ParentRunner.java:300)
at
org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:59)
at
org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:115)
at
org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:102)
at org.apache.maven.surefire.Surefire.run(Surefire.java:180)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:350)
at
org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:1021)
Caused by: org.apache.camel.ResolveEndpointFailedException: Failed to resolve
endpoint: http://localhost:8088 due to: No component found with scheme: http
at
org.apache.camel.impl.DefaultCamelContext.getEndpoint(DefaultCamelContext.java:461)
at
org.apache.camel.util.CamelContextHelper.getMandatoryEndpoint(CamelContextHelper.java:48)
at
org.apache.camel.model.RouteDefinition.resolveEndpoint(RouteDefinition.java:183)
at
org.apache.camel.impl.DefaultRouteContext.resolveEndpoint(DefaultRouteContext.java:107)
at
org.apache.camel.impl.DefaultRouteContext.resolveEndpoint(DefaultRouteContext.java:113)
at
org.apache.camel.model.SendDefinition.resolveEndpoint(SendDefinition.java:61)
at
org.apache.camel.model.SendDefinition.createProcessor(SendDefinition.java:55)
at
org.apache.camel.model.ProcessorDefinition.makeProcessor(ProcessorDefinition.java:440)
at
org.apache.camel.model.ProcessorDefinition.addRoutes(ProcessorDefinition.java:178)
at
org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:852)
... 42 more
{code}
What's the issue?
> JUnit @Test silently fails to run when there are missing component
> dependencies
> -------------------------------------------------------------------------------
>
> Key: CAMEL-5283
> URL: https://issues.apache.org/jira/browse/CAMEL-5283
> Project: Camel
> Issue Type: Bug
> Reporter: Nestor Urquiza
>
> As discussed in
> http://camel.465427.n5.nabble.com/JUnit-Test-not-running-when-using-http-endpoint-td5711142.html#a5711368
> it looks like Camel fails to report exceptions related to routes using
> components not present in the classpath.
> Test case:
> ---------
> Use this example
> http://camelinaction.googlecode.com/svn/trunk/chapter6/firsttest/src/test/java/camelinaction/FirstTest.java
> A little change to the route (commented line below) is enough to stop the
> testing method from running.
> @Override
> protected RouteBuilder createRouteBuilder() throws Exception {
> return new RouteBuilder() {
> @Override
> public void configure() throws Exception {
>
> from("file://target/inbox")
> .to("file://target/outbox")
> //.to("http://localhost:8088")
> ;
>
> }
> };
> }
> If camel-http is included then the method gets hit. Camel fails to report any
> errors when camel-http is missing.
> I can confirm this is the case for other missing components as well like
> camel-jackson.
> Thanks!
> -Nestor
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira