Hi

I've been having trouble testing my REST DSL routes in jUnit. It seems that
my camelContext does nok have a HttpSession, which probably is due to some
missing components in my pom.

What id like to do is something like the following test case, which i added
to the example project found her:

https://github.com/apache/camel/tree/master/examples/camel-example-servlet-rest-blueprint

I added the following to the pom, but other than that, the project is as it
is in GitHub:

 <dependency>
      <groupId>org.apache.camel</groupId>
      <artifactId>camel-test-blueprint</artifactId>
      <scope>test</scope>
      <version>2.15.3</version>
  </dependency>

And the testcase i'd like to run, is also pretty basic:

public class RestRouteTest extends CamelBlueprintTestSupport {

    @Override
    protected String getBlueprintDescriptor() {
        return "OSGI-INF/blueprint/camel.xml";
    }

    @Test
    public void testPut() throws Exception {
        String payload = "{ \"id\": 666, \"name\": \"The devil\"}";
        Exchange exchange = createExchangeWithBody(payload);
       
template.send("http://localhost:9090//camel-example-servlet-rest-blueprint/rest/user/123";,
exchange);
        assertMockEndpointsSatisfied();
    }
}

But all i get is the following output, where it complains that it's "waiting
for dependencies [(objectClass=org.osgi.service.http.HttpService)]" , and in
the end "Gave up waiting for service
(objectClass=org.apache.camel.CamelContext)"...

What am i missing? What is the best way of testing REST routes?

2015-08-28 14:40:34,351 [main           ] INFO  CamelBlueprintHelper          
- Using Blueprint XML file:
/projects/fuse/camel/examples/camel-example-servlet-rest-blueprint/target/classes/OSGI-INF/blueprint/camel.xml
2015-08-28 14:40:34,434 [Thread-0       ] INFO  RawBuilder                    
- Copy thread finished.
2015-08-28 14:40:34,485 [main           ] INFO  Activator                     
- Camel activator starting
2015-08-28 14:40:34,498 [main           ] INFO  Activator                     
- Camel activator started
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in
[jar:file:/Users/dbh/.m2/repository/org/slf4j/slf4j-log4j12/1.7.10/slf4j-log4j12-1.7.10.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in
[jar:file:/Users/dbh/.m2/repository/ch/qos/logback/logback-classic/1.0.13/logback-classic-1.0.13.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an
explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
2015-08-28 14:40:35,881 [int Extender: 1] INFO  BlueprintContainerImpl        
- Bundle RestRouteTest is waiting for dependencies
[(objectClass=org.osgi.service.http.HttpService)]
2015-08-28 14:41:04,760 [main           ] INFO  RestRouteTest                 
-
********************************************************************************
2015-08-28 14:41:04,760 [main           ] INFO  RestRouteTest                 
- Testing: testGet(org.apache.camel.example.RestRouteTest)
2015-08-28 14:41:04,761 [main           ] INFO  RestRouteTest                 
-
********************************************************************************
2015-08-28 14:41:34,765 [main           ] WARN  CamelBlueprintHelper          
- Test bundle headers: Bundle-ManifestVersion=2, Bundle-Name=System Bundle,
Bundle-SymbolicName=org.apache.felix.connect, Bundle-Vendor=Apache Software
Foundation, Bundle-Version=0.0.0
2015-08-28 14:41:34,767 [main           ] WARN  CamelBlueprintHelper          
- ServiceReference: [org.apache.camel.spi.DataFormatResolver], bundle:
org.apache.camel.camel-core [1], symbolicName: org.apache.camel.camel-core
2015-08-28 14:41:34,768 [main           ] WARN  CamelBlueprintHelper          
- ServiceReference: [org.apache.felix.cm.PersistenceManager], bundle:
org.apache.felix.configadmin [38], symbolicName:
org.apache.felix.configadmin
2015-08-28 14:41:34,769 [main           ] WARN  CamelBlueprintHelper          
- ServiceReference: [org.apache.camel.spi.ComponentResolver], bundle:
org.apache.camel.camel-core [1], symbolicName: org.apache.camel.camel-core
2015-08-28 14:41:34,769 [main           ] WARN  CamelBlueprintHelper          
- ServiceReference: [org.apache.aries.blueprint.NamespaceHandler], bundle:
org.apache.aries.blueprint.core [24], symbolicName:
org.apache.aries.blueprint.core
2015-08-28 14:41:34,770 [main           ] WARN  CamelBlueprintHelper          
- ServiceReference: [org.osgi.service.cm.ManagedServiceFactory], bundle:
org.apache.felix.fileinstall [39], symbolicName:
org.apache.felix.fileinstall
2015-08-28 14:41:34,771 [main           ] WARN  CamelBlueprintHelper          
- ServiceReference: [org.apache.camel.spi.LanguageResolver], bundle:
org.apache.camel.camel-core [1], symbolicName: org.apache.camel.camel-core
2015-08-28 14:41:34,771 [main           ] WARN  CamelBlueprintHelper          
- ServiceReference: [org.osgi.framework.hooks.bundle.EventHook], bundle:
org.apache.aries.blueprint.core [24], symbolicName:
org.apache.aries.blueprint.core
2015-08-28 14:41:34,772 [main           ] WARN  CamelBlueprintHelper          
- ServiceReference: [org.apache.aries.blueprint.NamespaceHandler], bundle:
org.apache.aries.blueprint.core [24], symbolicName:
org.apache.aries.blueprint.core
2015-08-28 14:41:34,773 [main           ] WARN  CamelBlueprintHelper          
- ServiceReference:
[org.osgi.service.blueprint.container.BlueprintContainer], bundle:
org.apache.aries.blueprint.cm [26], symbolicName:
org.apache.aries.blueprint.cm
2015-08-28 14:41:34,773 [main           ] WARN  CamelBlueprintHelper          
- ServiceReference: [org.osgi.service.url.URLStreamHandlerService], bundle:
org.apache.felix.fileinstall [39], symbolicName:
org.apache.felix.fileinstall
2015-08-28 14:41:34,774 [main           ] WARN  CamelBlueprintHelper          
- ServiceReference: [org.apache.camel.spi.DataFormatResolver], bundle:
org.apache.camel.camel-jackson [10], symbolicName:
org.apache.camel.camel-jackson
2015-08-28 14:41:34,774 [main           ] WARN  CamelBlueprintHelper          
- ServiceReference: [org.apache.aries.blueprint.NamespaceHandler], bundle:
org.apache.aries.blueprint.core [24], symbolicName:
org.apache.aries.blueprint.core
2015-08-28 14:41:34,775 [main           ] WARN  CamelBlueprintHelper          
- ServiceReference: [org.apache.aries.blueprint.services.ParserService],
bundle: org.apache.aries.blueprint.core [24], symbolicName:
org.apache.aries.blueprint.core
2015-08-28 14:41:34,776 [main           ] WARN  CamelBlueprintHelper          
- ServiceReference: [org.apache.camel.spi.TypeConverterLoader], bundle:
org.apache.camel.camel-http [8], symbolicName: org.apache.camel.camel-http
2015-08-28 14:41:34,776 [main           ] WARN  CamelBlueprintHelper          
- ServiceReference: [org.osgi.service.packageadmin.PackageAdmin], bundle:
org.apache.felix.connect [0], symbolicName: org.apache.felix.connect
2015-08-28 14:41:34,777 [main           ] WARN  CamelBlueprintHelper          
- ServiceReference: [org.apache.aries.blueprint.NamespaceHandler], bundle:
org.apache.aries.blueprint.cm [26], symbolicName:
org.apache.aries.blueprint.cm
2015-08-28 14:41:34,777 [main           ] WARN  CamelBlueprintHelper          
- ServiceReference: [org.apache.aries.proxy.ProxyManager], bundle:
org.apache.aries.proxy.impl [22], symbolicName: org.apache.aries.proxy.impl
2015-08-28 14:41:34,778 [main           ] WARN  CamelBlueprintHelper          
- ServiceReference: [org.apache.aries.blueprint.NamespaceHandler], bundle:
org.apache.aries.blueprint.core [24], symbolicName:
org.apache.aries.blueprint.core
2015-08-28 14:41:34,779 [main           ] WARN  CamelBlueprintHelper          
- ServiceReference:
[org.osgi.service.blueprint.container.BlueprintContainer], bundle:
org.apache.camel.camel-blueprint [5], symbolicName:
org.apache.camel.camel-blueprint
2015-08-28 14:41:34,779 [main           ] WARN  CamelBlueprintHelper          
- ServiceReference:
[org.apache.aries.quiesce.participant.QuiesceParticipant], bundle:
org.apache.aries.blueprint.core [24], symbolicName:
org.apache.aries.blueprint.core
2015-08-28 14:41:34,780 [main           ] WARN  CamelBlueprintHelper          
- ServiceReference: [org.apache.aries.blueprint.NamespaceHandler], bundle:
org.apache.aries.blueprint.cm [26], symbolicName:
org.apache.aries.blueprint.cm
2015-08-28 14:41:34,780 [main           ] WARN  CamelBlueprintHelper          
- ServiceReference: [org.apache.aries.blueprint.NamespaceHandler], bundle:
org.apache.aries.blueprint.cm [26], symbolicName:
org.apache.aries.blueprint.cm
2015-08-28 14:41:34,781 [main           ] WARN  CamelBlueprintHelper          
- ServiceReference: [org.apache.aries.blueprint.NamespaceHandler], bundle:
org.apache.aries.blueprint.core [24], symbolicName:
org.apache.aries.blueprint.core
2015-08-28 14:41:34,781 [main           ] WARN  CamelBlueprintHelper          
- ServiceReference: [org.apache.camel.spi.TypeConverterLoader], bundle:
org.apache.camel.camel-core [1], symbolicName: org.apache.camel.camel-core
2015-08-28 14:41:34,782 [main           ] WARN  CamelBlueprintHelper          
- ServiceReference:
[org.osgi.service.blueprint.container.BlueprintContainer], bundle:
org.apache.aries.blueprint.core [24], symbolicName:
org.apache.aries.blueprint.core
2015-08-28 14:41:34,782 [main           ] WARN  CamelBlueprintHelper          
- ServiceReference: [org.apache.aries.blueprint.NamespaceHandler], bundle:
org.apache.aries.blueprint.cm [26], symbolicName:
org.apache.aries.blueprint.cm
2015-08-28 14:41:34,783 [main           ] WARN  CamelBlueprintHelper          
- ServiceReference: [org.osgi.service.cm.ConfigurationAdmin], bundle:
org.apache.felix.configadmin [38], symbolicName:
org.apache.felix.configadmin
2015-08-28 14:41:34,783 [main           ] WARN  CamelBlueprintHelper          
- ServiceReference: [org.apache.aries.blueprint.NamespaceHandler], bundle:
org.apache.aries.blueprint.core [24], symbolicName:
org.apache.aries.blueprint.core
2015-08-28 14:41:34,784 [main           ] WARN  CamelBlueprintHelper          
- ServiceReference: [org.apache.aries.blueprint.NamespaceHandler], bundle:
org.apache.camel.camel-blueprint [5], symbolicName:
org.apache.camel.camel-blueprint
2015-08-28 14:41:34,784 [main           ] WARN  CamelBlueprintHelper          
- ServiceReference: [org.apache.camel.spi.TypeConverterLoader], bundle:
org.apache.felix.connect [0], symbolicName: org.apache.felix.connect
2015-08-28 14:41:34,784 [main           ] WARN  CamelBlueprintHelper          
- ServiceReference: [org.apache.camel.spi.ComponentResolver], bundle:
org.apache.camel.camel-servlet [7], symbolicName:
org.apache.camel.camel-servlet
2015-08-28 14:41:34,785 [main           ] WARN  CamelBlueprintHelper          
- ServiceReference: [org.osgi.service.startlevel.StartLevel], bundle:
org.apache.felix.connect [0], symbolicName: org.apache.felix.connect
2015-08-28 14:41:34,785 [main           ] WARN  CamelBlueprintHelper          
- ServiceReference: [org.osgi.service.cm.ConfigurationListener,
org.apache.felix.fileinstall.ArtifactListener,
org.apache.felix.fileinstall.ArtifactInstaller], bundle:
org.apache.felix.fileinstall [39], symbolicName:
org.apache.felix.fileinstall
2015-08-28 14:41:34,786 [main           ] WARN  CamelBlueprintHelper          
- ServiceReference:
[org.apache.aries.blueprint.services.BlueprintExtenderService], bundle:
org.apache.aries.blueprint.core [24], symbolicName:
org.apache.aries.blueprint.core
2015-08-28 14:41:34,787 [main           ] WARN  CamelBlueprintHelper          
- ServiceReference: [org.apache.camel.spi.ComponentResolver], bundle:
org.apache.camel.camel-http [8], symbolicName: org.apache.camel.camel-http
2015-08-28 14:41:34,787 [main           ] INFO  RestRouteTest                 
-
********************************************************************************
2015-08-28 14:41:34,788 [main           ] INFO  RestRouteTest                 
- Testing done: testGet(org.apache.camel.example.RestRouteTest)
2015-08-28 14:41:34,789 [main           ] INFO  RestRouteTest                 
- Took: 1 minute (60460 millis)
2015-08-28 14:41:34,789 [main           ] INFO  RestRouteTest                 
-
********************************************************************************
2015-08-28 14:41:34,790 [main           ] INFO  BlueprintExtender             
- Destroying BlueprintContainer for bundle RestRouteTest
2015-08-28 14:41:34,794 [main           ] INFO  BlueprintExtender             
- Destroying BlueprintContainer for bundle org.apache.aries.blueprint.cm
2015-08-28 14:41:34,799 [main           ] INFO  BlueprintExtender             
- Destroying BlueprintContainer for bundle org.apache.aries.blueprint.core
2015-08-28 14:41:34,800 [main           ] INFO  BlueprintExtender             
- Destroying BlueprintContainer for bundle org.apache.camel.camel-blueprint

java.lang.RuntimeException: Gave up waiting for service
(objectClass=org.apache.camel.CamelContext)
        at
org.apache.camel.test.blueprint.CamelBlueprintHelper.getOsgiService(CamelBlueprintHelper.java:265)
        at
org.apache.camel.test.blueprint.CamelBlueprintHelper.getOsgiService(CamelBlueprintHelper.java:226)
        at
org.apache.camel.test.blueprint.CamelBlueprintTestSupport.createCamelContext(CamelBlueprintTestSupport.java:409)

2015-08-28 14:41:34,803 [main           ] INFO  Activator                     
- Camel activator stopping
2015-08-28 14:41:34,803 [main           ] INFO  Activator                     
- Camel activator stopped
2015-08-28 14:41:34,804 [main           ] INFO  CamelBlueprintHelper          
- Deleting work directory target/bundles/1440765634352

Process finished with exit code 255

Regards,
Dennis




--
View this message in context: 
http://camel.465427.n5.nabble.com/Testing-REST-DSL-routes-tp5771058.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Reply via email to