The NPE is thrown because the CamelContext context in CamelTestSupport is null!?
Christian Christian Eugster Docuteam GmbH Langacker 16 Postfach CH-5405 Baden-Dättwil +41 (0)56 470 03 37 c.eugs...@docuteam.ch > Anfang der weitergeleiteten Nachricht: > > Von: Christian Eugster <c.eugs...@docuteam.ch> > Betreff: Running test fails due to not transferred file > Datum: 13. März 2015 13:09:23 MEZ > An: user@karaf.apache.org > > Hi, > > at last I arrived to run a camel test in karaf, thanks to you. My next issue > is, that the test is running. > > 1. I get a NPE when creating the MockEndpoint int the test method: > > test(ch.eugster.ingest.sip.identification.KarafContainerTest) Time elapsed: > 73.953 sec <<< ERROR! > java.lang.NullPointerException: null > at > org.apache.camel.test.junit4.TestSupport.resolveMandatoryEndpoint(TestSupport.java:287) > at > org.apache.camel.test.junit4.CamelTestSupport.resolveMandatoryEndpoint(CamelTestSupport.java:549) > at > org.apache.camel.test.junit4.CamelTestSupport.getMockEndpoint(CamelTestSupport.java:573) > at > org.apache.camel.test.junit4.CamelTestSupport.getMockEndpoint(CamelTestSupport.java:559) > at > ch.eugster.ingest.sip.identification.KarafContainerTest.test(KarafContainerTest.java:112) > > > 2. The route is not executed. > > Do you have an idea, what this could be? > > Thank you very much! > > Regard Christian > > Following (hopefully) all necessery information: > > The error in log is: > > 2015-03-13 12:58:30,899 | WARN | ce Proxy Creator | GuardProxyCatalog > | 5 - org.apache.karaf.service.guard - 3.0.3 | Problem creating > secured service proxy > java.lang.NullPointerException > at > org.apache.karaf.service.guard.impl.GuardProxyCatalog$1.run(GuardProxyCatalog.java:251)[5:org.apache.karaf.service.guard:3.0.3] > at > org.apache.karaf.service.guard.impl.GuardProxyCatalog$ServiceProxyCreatorCustomizer$1.run(GuardProxyCatalog.java:566)[5:org.apache.karaf.service.guard:3.0.3] > at java.lang.Thread.run(Thread.java:745)[:1.8.0_40] > 2015-03-13 12:58:30,904 | WARN | ce Proxy Creator | GuardProxyCatalog > | 5 - org.apache.karaf.service.guard - 3.0.3 | Problem creating > secured service proxy > java.lang.NullPointerException > at > org.apache.karaf.service.guard.impl.GuardProxyCatalog$1.run(GuardProxyCatalog.java:251)[5:org.apache.karaf.service.guard:3.0.3] > at > org.apache.karaf.service.guard.impl.GuardProxyCatalog$ServiceProxyCreatorCustomizer$1.run(GuardProxyCatalog.java:566)[5:org.apache.karaf.service.guard:3.0.3] > at java.lang.Thread.run(Thread.java:745)[:1.8.0_40] > 2015-03-13 12:58:30,916 | WARN | ce Proxy Creator | GuardProxyCatalog > | 5 - org.apache.karaf.service.guard - 3.0.3 | Problem creating > secured service proxy > java.lang.NullPointerException > at > org.apache.karaf.service.guard.impl.GuardProxyCatalog$1.run(GuardProxyCatalog.java:251)[5:org.apache.karaf.service.guard:3.0.3] > at > org.apache.karaf.service.guard.impl.GuardProxyCatalog$ServiceProxyCreatorCustomizer$1.run(GuardProxyCatalog.java:566)[5:org.apache.karaf.service.guard:3.0.3] > at java.lang.Thread.run(Thread.java:745)[:1.8.0_40] > 2015-03-13 12:58:30,920 | WARN | ce Proxy Creator | GuardProxyCatalog > | 5 - org.apache.karaf.service.guard - 3.0.3 | Problem creating > secured service proxy > java.lang.NullPointerException > at > org.apache.karaf.service.guard.impl.GuardProxyCatalog$1.run(GuardProxyCatalog.java:251)[5:org.apache.karaf.service.guard:3.0.3] > at > org.apache.karaf.service.guard.impl.GuardProxyCatalog$ServiceProxyCreatorCustomizer$1.run(GuardProxyCatalog.java:566)[5:org.apache.karaf.service.guard:3.0.3] > at java.lang.Thread.run(Thread.java:745)[:1.8.0_40] > 2015-03-13 12:58:30,921 | WARN | ce Proxy Creator | GuardProxyCatalog > | 5 - org.apache.karaf.service.guard - 3.0.3 | Problem creating > secured service proxy > java.lang.NullPointerException > at > org.apache.karaf.service.guard.impl.GuardProxyCatalog$1.run(GuardProxyCatalog.java:251)[5:org.apache.karaf.service.guard:3.0.3] > at > org.apache.karaf.service.guard.impl.GuardProxyCatalog$ServiceProxyCreatorCustomizer$1.run(GuardProxyCatalog.java:566)[5:org.apache.karaf.service.guard:3.0.3] > at java.lang.Thread.run(Thread.java:745)[:1.8.0_40] > 2015-03-13 12:58:30,921 | WARN | ce Proxy Creator | GuardProxyCatalog > | 5 - org.apache.karaf.service.guard - 3.0.3 | Problem creating > secured service proxy > java.lang.NullPointerException > at > org.apache.karaf.service.guard.impl.GuardProxyCatalog$1.run(GuardProxyCatalog.java:251)[5:org.apache.karaf.service.guard:3.0.3] > at > org.apache.karaf.service.guard.impl.GuardProxyCatalog$ServiceProxyCreatorCustomizer$1.run(GuardProxyCatalog.java:566)[5:org.apache.karaf.service.guard:3.0.3] > at java.lang.Thread.run(Thread.java:745)[:1.8.0_40] > 2015-03-13 12:58:30,922 | WARN | ce Proxy Creator | GuardProxyCatalog > | 5 - org.apache.karaf.service.guard - 3.0.3 | Problem creating > secured service proxy > java.lang.NullPointerException > at > org.apache.karaf.service.guard.impl.GuardProxyCatalog$1.run(GuardProxyCatalog.java:251)[5:org.apache.karaf.service.guard:3.0.3] > at > org.apache.karaf.service.guard.impl.GuardProxyCatalog$ServiceProxyCreatorCustomizer$1.run(GuardProxyCatalog.java:566)[5:org.apache.karaf.service.guard:3.0.3] > at java.lang.Thread.run(Thread.java:745)[:1.8.0_40] > 2015-03-13 12:58:31,044 | INFO | FelixShutdown | BlueprintExtender > | 15 - org.apache.aries.blueprint.core - 1.4.2 | Destroying > BlueprintContainer for bundle org.apache.camel.karaf.camel-karaf-commands > 2015-03-13 12:58:31,112 | INFO | FelixShutdown | BlueprintExtender > | 15 - org.apache.aries.blueprint.core - 1.4.2 | Destroying > BlueprintContainer for bundle org.apache.karaf.package.command > 2015-03-13 12:58:31,125 | INFO | FelixShutdown | BlueprintExtender > | 15 - org.apache.aries.blueprint.core - 1.4.2 | Destroying > BlueprintContainer for bundle org.apache.karaf.shell.commands > 2015-03-13 12:58:31,297 | INFO | FelixShutdown | BlueprintExtender > | 15 - org.apache.aries.blueprint.core - 1.4.2 | Destroying > BlueprintContainer for bundle org.apache.karaf.system.command > 2015-03-13 12:58:31,322 | INFO | FelixShutdown | BlueprintExtender > | 15 - org.apache.aries.blueprint.core - 1.4.2 | Destroying > BlueprintContainer for bundle org.apache.karaf.shell.help > 2015-03-13 12:58:31,329 | INFO | FelixShutdown | BlueprintExtender > | 15 - org.apache.aries.blueprint.core - 1.4.2 | Destroying > BlueprintContainer for bundle org.apache.karaf.bundle.command > 2015-03-13 12:58:31,470 | INFO | FelixShutdown | BlueprintExtender > | 15 - org.apache.aries.blueprint.core - 1.4.2 | Destroying > BlueprintContainer for bundle org.apache.karaf.jaas.modules > 2015-03-13 12:58:31,492 | INFO | FelixShutdown | BlueprintExtender > | 15 - org.apache.aries.blueprint.core - 1.4.2 | Destroying > BlueprintContainer for bundle org.apache.karaf.features.command > 2015-03-13 12:58:31,542 | INFO | FelixShutdown | BlueprintExtender > | 15 - org.apache.aries.blueprint.core - 1.4.2 | Destroying > BlueprintContainer for bundle org.apache.karaf.deployer.wrap > 2015-03-13 12:58:31,553 | INFO | FelixShutdown | BlueprintExtender > | 15 - org.apache.aries.blueprint.core - 1.4.2 | Destroying > BlueprintContainer for bundle org.apache.karaf.system.core > 2015-03-13 12:58:31,560 | INFO | FelixShutdown | BlueprintExtender > | 15 - org.apache.aries.blueprint.core - 1.4.2 | Destroying > BlueprintContainer for bundle org.apache.karaf.bundle.core > 2015-03-13 12:58:31,566 | INFO | FelixShutdown | BlueprintExtender > | 15 - org.apache.aries.blueprint.core - 1.4.2 | Destroying > BlueprintContainer for bundle org.apache.karaf.deployer.features > 2015-03-13 12:58:31,570 | INFO | FelixShutdown | BlueprintExtender > | 15 - org.apache.aries.blueprint.core - 1.4.2 | Destroying > BlueprintContainer for bundle org.apache.karaf.features.core > 2015-03-13 12:58:31,583 | INFO | FelixShutdown | BlueprintExtender > | 15 - org.apache.aries.blueprint.core - 1.4.2 | Destroying > BlueprintContainer for bundle org.apache.karaf.deployer.kar > 2015-03-13 12:58:31,584 | INFO | FelixShutdown | BlueprintExtender > | 15 - org.apache.aries.blueprint.core - 1.4.2 | Destroying > BlueprintContainer for bundle org.apache.karaf.kar.core > 2015-03-13 12:58:31,586 | INFO | FelixShutdown | BlueprintExtender > | 15 - org.apache.aries.blueprint.core - 1.4.2 | Destroying > BlueprintContainer for bundle sip-identification-processor > 2015-03-13 12:58:31,590 | INFO | FelixShutdown | BlueprintCamelContext > | 46 - org.apache.camel.camel-core - 2.14.2 | Apache Camel 2.14.2 > (CamelContext: blueprintContext) is shutting down > 2015-03-13 12:58:31,593 | INFO | FelixShutdown | DefaultShutdownStrategy > | 46 - org.apache.camel.camel-core - 2.14.2 | Starting to graceful > shutdown 1 routes (timeout 300 seconds) > 2015-03-13 12:58:31,598 | INFO | 1 - ShutdownTask | DefaultShutdownStrategy > | 46 - org.apache.camel.camel-core - 2.14.2 | Route: route1 shutdown > complete, was consuming from: Endpoint[file://target/inbox] > <file://target/inbox]> > 2015-03-13 12:58:31,599 | INFO | FelixShutdown | DefaultShutdownStrategy > | 46 - org.apache.camel.camel-core - 2.14.2 | Graceful shutdown of 1 > routes completed in 0 seconds > 2015-03-13 12:58:31,605 | INFO | FelixShutdown | BlueprintCamelContext > | 46 - org.apache.camel.camel-core - 2.14.2 | Apache Camel 2.14.2 > (CamelContext: blueprintContext) uptime 2.376 seconds > 2015-03-13 12:58:31,605 | INFO | FelixShutdown | BlueprintCamelContext > | 46 - org.apache.camel.camel-core - 2.14.2 | Apache Camel 2.14.2 > (CamelContext: blueprintContext) is shutdown in 0.014 seconds > 2015-03-13 12:58:31,607 | INFO | FelixShutdown | BlueprintExtender > | 15 - org.apache.aries.blueprint.core - 1.4.2 | Destroying > BlueprintContainer for bundle org.apache.camel.camel-blueprint > 2015-03-13 12:58:31,610 | INFO | FelixShutdown | BlueprintExtender > | 15 - org.apache.aries.blueprint.core - 1.4.2 | Destroying > BlueprintContainer for bundle org.apache.karaf.config.command > 2015-03-13 12:58:31,668 | INFO | FelixShutdown | BlueprintExtender > | 15 - org.apache.aries.blueprint.core - 1.4.2 | Destroying > BlueprintContainer for bundle org.apache.karaf.config.core > 2015-03-13 12:58:31,671 | INFO | FelixShutdown | BlueprintExtender > | 15 - org.apache.aries.blueprint.core - 1.4.2 | Destroying > BlueprintContainer for bundle org.apache.karaf.management.server > 2015-03-13 12:58:31,681 | INFO | FelixShutdown | core > | 110 - org.apache.aries.jmx.core - 1.1.2 | Unregistering > org.osgi.jmx.framework.BundleStateMBean to MBeanServer > com.sun.jmx.mbeanserver.JmxMBeanServer@263ee920 with name > osgi.core:type=bundleState,version=1.7,framework=org.apache.felix.framework,uuid=be4d8555-a13f-46a1-8b68-18c813031c36 > 2015-03-13 12:58:31,681 | INFO | FelixShutdown | core > | 110 - org.apache.aries.jmx.core - 1.1.2 | Unregistering > org.osgi.jmx.framework.wiring.BundleWiringStateMBean to MBeanServer > com.sun.jmx.mbeanserver.JmxMBeanServer@263ee920 with name > osgi.core:type=wiringState,version=1.1,framework=org.apache.felix.framework,uuid=be4d8555-a13f-46a1-8b68-18c813031c36 > 2015-03-13 12:58:31,701 | INFO | FelixShutdown | core > | 110 - org.apache.aries.jmx.core - 1.1.2 | Unregistering > org.osgi.jmx.framework.PackageStateMBean to MBeanServer > com.sun.jmx.mbeanserver.JmxMBeanServer@263ee920 with name > osgi.core:type=packageState,version=1.5,framework=org.apache.felix.framework,uuid=be4d8555-a13f-46a1-8b68-18c813031c36 > 2015-03-13 12:58:31,701 | INFO | FelixShutdown | core > | 110 - org.apache.aries.jmx.core - 1.1.2 | Unregistering > org.osgi.jmx.service.cm.ConfigurationAdminMBean to MBeanServer > com.sun.jmx.mbeanserver.JmxMBeanServer@263ee920 with name > osgi.compendium:service=cm,version=1.3,framework=org.apache.felix.framework,uuid=be4d8555-a13f-46a1-8b68-18c813031c36 > 2015-03-13 12:58:31,702 | INFO | FelixShutdown | core > | 110 - org.apache.aries.jmx.core - 1.1.2 | Unregistering > org.osgi.jmx.framework.FrameworkMBean to MBeanServer > com.sun.jmx.mbeanserver.JmxMBeanServer@263ee920 with name > osgi.core:type=framework,version=1.7,framework=org.apache.felix.framework,uuid=be4d8555-a13f-46a1-8b68-18c813031c36 > 2015-03-13 12:58:31,703 | INFO | FelixShutdown | core > | 110 - org.apache.aries.jmx.core - 1.1.2 | Unregistering > org.osgi.jmx.framework.ServiceStateMBean to MBeanServer > com.sun.jmx.mbeanserver.JmxMBeanServer@263ee920 with name > osgi.core:type=serviceState,version=1.7,framework=org.apache.felix.framework,uuid=be4d8555-a13f-46a1-8b68-18c813031c36 > 2015-03-13 12:58:31,710 | WARN | FelixShutdown | core > | 110 - org.apache.aries.jmx.core - 1.1.2 | Task rejected for JMX > Notification dispatch of event > [org.osgi.framework.ServiceEvent[source=[javax.management.MBeanServer]]] - > Dispatcher may have been shutdown > 2015-03-13 12:58:31,723 | INFO | FelixShutdown | BlueprintExtender > | 15 - org.apache.aries.blueprint.core - 1.4.2 | Destroying > BlueprintContainer for bundle org.apache.karaf.service.core > 2015-03-13 12:58:31,726 | INFO | FelixShutdown | BlueprintExtender > | 15 - org.apache.aries.blueprint.core - 1.4.2 | Destroying > BlueprintContainer for bundle org.apache.karaf.log.core > 2015-03-13 12:58:31,730 | INFO | FelixShutdown | BlueprintExtender > | 15 - org.apache.aries.blueprint.core - 1.4.2 | Destroying > BlueprintContainer for bundle org.apache.karaf.diagnostic.core > 2015-03-13 12:58:31,755 | INFO | FelixShutdown | BlueprintExtender > | 15 - org.apache.aries.blueprint.core - 1.4.2 | Destroying > BlueprintContainer for bundle org.apache.karaf.instance.core > 2015-03-13 12:58:31,756 | INFO | FelixShutdown | BlueprintExtender > | 15 - org.apache.aries.blueprint.core - 1.4.2 | Destroying > BlueprintContainer for bundle org.apache.karaf.package.core > 2015-03-13 12:58:31,758 | INFO | FelixShutdown | BlueprintExtender > | 15 - org.apache.aries.blueprint.core - 1.4.2 | Destroying > BlueprintContainer for bundle org.apache.karaf.jaas.config > 2015-03-13 12:58:31,760 | INFO | FelixShutdown | BlueprintExtender > | 15 - org.apache.aries.blueprint.core - 1.4.2 | Destroying > BlueprintContainer for bundle org.apache.karaf.shell.console > 2015-03-13 12:58:31,766 | INFO | FelixShutdown | BlueprintExtender > | 15 - org.apache.aries.blueprint.core - 1.4.2 | Destroying > BlueprintContainer for bundle org.apache.karaf.deployer.blueprint > 2015-03-13 12:58:31,768 | INFO | FelixShutdown | BlueprintExtender > | 15 - org.apache.aries.blueprint.core - 1.4.2 | Destroying > BlueprintContainer for bundle org.apache.karaf.deployer.spring > 2015-03-13 12:58:31,769 | INFO | FelixShutdown | BlueprintExtender > | 15 - org.apache.aries.blueprint.core - 1.4.2 | Destroying > BlueprintContainer for bundle org.apache.aries.blueprint.core > 2015-03-13 12:58:31,772 | INFO | FelixShutdown | BlueprintExtender > | 15 - org.apache.aries.blueprint.core - 1.4.2 | Destroying > BlueprintContainer for bundle org.apache.aries.blueprint.cm > 2015-03-13 12:58:31,776 | INFO | FelixShutdown | ContextLoaderListener > | 91 - org.springframework.osgi.extender - 1.2.1 | Stopping > [org.springframework.osgi.extender] bundle v.[1.2.1] > 2015-03-13 12:58:31,793 | INFO | FelixShutdown | TimerTaskExecutor > | 86 - org.apache.servicemix.bundles.spring-context - > 3.2.11.RELEASE_1 | Cancelling Timer > 2015-03-13 12:58:31,815 | INFO | FelixStartLevel | Activator > | 46 - org.apache.camel.camel-core - 2.14.2 | Camel activator stopping > 2015-03-13 12:58:31,815 | INFO | FelixStartLevel | Activator > | 46 - org.apache.camel.camel-core - 2.14.2 | Camel activator stopped > 2015-03-13 12:58:31,817 | INFO | FelixStartLevel | core > | 110 - org.apache.aries.jmx.core - 1.1.2 | Stopping JMX OSGi agent > 2015-03-13 12:58:31,818 | INFO | FelixStartLevel | core > | 110 - org.apache.aries.jmx.core - 1.1.2 | Unregistering MBean with > ObjectName > [osgi.compendium:service=cm,version=1.3,framework=org.apache.felix.framework,uuid=be4d8555-a13f-46a1-8b68-18c813031c36] > for service with service.id [14] > [ main] ReactorManager INFO suite > finished > Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 74.048 sec > <<< FAILURE! - in ch.eugster.ingest.sip.identification.KarafContainerTest > test(ch.eugster.ingest.sip.identification.KarafContainerTest) Time elapsed: > 73.953 sec <<< ERROR! > java.lang.NullPointerException: null > at > org.apache.camel.test.junit4.TestSupport.resolveMandatoryEndpoint(TestSupport.java:287) > at > org.apache.camel.test.junit4.CamelTestSupport.resolveMandatoryEndpoint(CamelTestSupport.java:549) > at > org.apache.camel.test.junit4.CamelTestSupport.getMockEndpoint(CamelTestSupport.java:573) > at > org.apache.camel.test.junit4.CamelTestSupport.getMockEndpoint(CamelTestSupport.java:559) > at > ch.eugster.ingest.sip.identification.KarafContainerTest.test(KarafContainerTest.java:112) > > > Results : > > > Tests in error: > > KarafContainerTest.test:112->CamelTestSupport.getMockEndpoint:559->CamelTestSupport.getMockEndpoint:573->CamelTestSupport.resolveMandatoryEndpoint:549->TestSupport.resolveMandatoryEndpoint:287 > » NullPointer > > > Tests run: 1, Failures: 0, Errors: 1, Skipped: 0 > > [INFO] > ------------------------------------------------------------------------ > [INFO] BUILD FAILURE > [INFO] > ------------------------------------------------------------------------ > [INFO] Total time: 01:19 min > [INFO] Finished at: 2015-03-13T12:58:32+01:00 > [INFO] Final Memory: 18M/225M > [INFO] > ------------------------------------------------------------------------ > [ERROR] Failed to execute goal > org.apache.maven.plugins:maven-surefire-plugin:2.18:test (default-test) on > project sip-identification-processor: There are test failures. > [ERROR] > [ERROR] Please refer to > /Users/christian/Projekte/ceugster/Entwicklung/Test/Workspace-4.4/ingest-engine/sip-identification-processor/target/surefire-reports > for the individual test results. > [ERROR] -> [Help 1] > [ERROR] > [ERROR] To see the full stack trace of the errors, re-run Maven with the -e > switch. > [ERROR] Re-run Maven using the -X switch to enable full debug logging. > [ERROR] > [ERROR] For more information about the errors and possible solutions, please > read the following articles: > [ERROR] [Help 1] > http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException > <http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException> > > My route builder is built from blueprint: > > <?xml version="1.0" encoding="UTF-8"?> > <blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0 > <http://www.osgi.org/xmlns/blueprint/v1.0.0>" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance > <http://www.w3.org/2001/XMLSchema-instance>" > xmlns:camel="http://camel.apache.org/schema/blueprint > <http://camel.apache.org/schema/blueprint>" > xsi:schemaLocation="http://www.osgi.org/xmlns/blueprint/v1.0.0 > <http://www.osgi.org/xmlns/blueprint/v1.0.0> > http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd > <http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd> > http://camel.apache.org/schema/blueprint > <http://camel.apache.org/schema/blueprint> > http://camel.apache.org/schema/blueprint/camel-blueprint.xsd > <http://camel.apache.org/schema/blueprint/camel-blueprint.xsd>"> > > <reference-list id="sipConnectors" > interface="ch.eugster.ingest.sip.connector.api.SipConnector" > availability="mandatory"> > <reference-listener bind-method="bindSipConnector" > unbind-method="unbindSipConnector"> > <bean > class="ch.eugster.ingest.sip.identification.SipIdentificationProcessor"/> > > </reference-listener> > </reference-list> > > <bean id="fileroute" > class="ch.eugster.ingest.sip.identification.KarafContainerRouteBuilder"/> > > <camelContext id="blueprintContext" trace="false" > xmlns="http://camel.apache.org/schema/blueprint > <http://camel.apache.org/schema/blueprint>"> > <routeBuilder ref="fileroute"/> > </camelContext> > > </blueprint> > > and the KarafContainerRouteBuilder looks like: > > package ch.eugster.ingest.sip.identification; > > import org.apache.camel.builder.RouteBuilder; > > /** > * A Camel Java DSL Router > */ > public class KarafContainerRouteBuilder extends RouteBuilder { > > /** > * Let's configure the Camel routing rules using Java code... > */ > public void configure() { > System.out.println("Route configured"); > SipIdentificationProcessor processor = new > SipIdentificationProcessor(); > from("file://target/inbox > <file://target/inbox>").process(processor).to("mock:file"); > } > > } > > while the test class is: > > package ch.eugster.ingest.sip.identification; > > import static org.ops4j.pax.exam.CoreOptions.maven; > import static org.ops4j.pax.exam.CoreOptions.mavenBundle; > import static org.ops4j.pax.exam.CoreOptions.streamBundle; > import static > org.ops4j.pax.exam.karaf.options.KarafDistributionOption.configureConsole; > import static > org.ops4j.pax.exam.karaf.options.KarafDistributionOption.features; > import static > org.ops4j.pax.exam.karaf.options.KarafDistributionOption.karafDistributionConfiguration; > import static > org.ops4j.pax.exam.karaf.options.KarafDistributionOption.keepRuntimeFolder; > import static > org.ops4j.pax.exam.karaf.options.KarafDistributionOption.logLevel; > import static org.ops4j.pax.tinybundles.core.TinyBundles.bundle; > > import java.io.File; > import java.nio.file.FileSystems; > import java.nio.file.Files; > import java.nio.file.StandardCopyOption; > > import javax.inject.Inject; > > import org.apache.camel.CamelContext; > import org.apache.camel.component.mock.MockEndpoint; > import org.apache.camel.test.junit4.CamelTestSupport; > import org.apache.karaf.features.FeaturesService; > import org.junit.Test; > import org.junit.runner.RunWith; > import org.ops4j.pax.exam.Configuration; > import org.ops4j.pax.exam.Option; > import org.ops4j.pax.exam.junit.PaxExam; > import org.ops4j.pax.exam.karaf.options.LogLevelOption.LogLevel; > import org.ops4j.pax.exam.util.Filter; > import org.osgi.framework.BundleContext; > import org.osgi.framework.Constants; > > @RunWith(PaxExam.class) > public class KarafContainerTest extends CamelTestSupport > { > private static final String templatePath = new > File("../../../../src/test/resources/SIP_20150306_Matterhorn.zip").getAbsolutePath(); > > private static final String sourcePath = new > File("../../../inbox/SIP_20150306_Matterhorn.zip").getAbsolutePath(); > > private static final String targetPath = new > File("../../../outbox/SIP_20150306_Matterhorn.zip").getAbsolutePath(); > > @Inject > protected BundleContext bundleContext; > > @Inject > protected FeaturesService featuresService; > > @Inject > @Filter(value="(camel.context.name=blueprintContext)", timeout=10000) > protected CamelContext testContext; > > @Configuration > public static Option[] configuration() throws Exception > { > System.out.println("Configuring container"); > return new Option[] { > > karafDistributionConfiguration().frameworkUrl(maven().groupId("org.apache.karaf").artifactId("apache-karaf") > > .type("zip").versionAsInProject()) > .unpackDirectory(new > File("target/paxexam/unpack/")) > .useDeployFolder(false), > configureConsole().ignoreLocalConsole(), > logLevel(LogLevel.INFO), > keepRuntimeFolder(), > features( > > maven().groupId("org.apache.camel.karaf").artifactId("apache-camel").type("xml") > > .classifier("features").versionAsInProject(), "camel-blueprint", > "camel-test"), > features( > > maven().groupId("org.apache.karaf.features") > > .artifactId("standard").type("xml") > > .classifier("features").versionAsInProject(), > "eventadmin"), > mavenBundle().groupId("ch.eugster.ingest") > .artifactId("sip-connector-api") > .version("0.0.1-SNAPSHOT"), > mavenBundle().groupId("ch.eugster.ingest") > .artifactId("checksum-api") > .version("0.0.1-SNAPSHOT"), > mavenBundle().groupId("ch.eugster.ingest") > > .artifactId("sip-connector-matterhorn") > .version("0.0.1-SNAPSHOT"), > streamBundle( > bundle() > > .add(SipIdentificationProcessor.class) > > .add(KarafContainerRouteBuilder.class) > > .add("OSGI-INF/blueprint/camel-context.xml", > > new File("src/main/resources/OSGI-INF/blueprint/blueprint.xml") > > .toURL()) > > .set(Constants.BUNDLE_SYMBOLICNAME, "sip-identification-processor") > > .set(Constants.DYNAMICIMPORT_PACKAGE, "*").build()) > .start() > }; > } > > @Override > public boolean isCreateCamelContextPerClass() > { > // we override this method and return true, to tell Camel > test-kit that > // it should only create CamelContext once (per class), so we > will > // re-use the CamelContext between each test method in this > class > return true; > } > > @Test > public void test() throws Exception > { > System.out.println("test running"); > > assertTrue(featuresService.isInstalled(featuresService.getFeature("eventadmin"))); > > assertTrue(featuresService.isInstalled(featuresService.getFeature("camel-core"))); > > assertTrue(featuresService.isInstalled(featuresService.getFeature("camel-blueprint"))); > > MockEndpoint mock = getMockEndpoint("mock:file"); > System.out.println(mock.toString()); > mock.expectedFileExists(targetPath); > > // Files.copy(FileSystems.getDefault().getPath(templatePath), > FileSystems.getDefault().getPath(sourcePath), > StandardCopyOption.REPLACE_EXISTING); > assertTrue(new File(sourcePath).exists()); > System.out.println(sourcePath); > > Thread.sleep(5000); > > assertMockEndpointsSatisfied(); > } > > } > > > > > > > Christian Eugster > Docuteam GmbH > Langacker 16 > Postfach > CH-5405 Baden-Dättwil > +41 (0)56 470 03 37 > c.eugs...@docuteam.ch <mailto:c.eugs...@docuteam.ch> > > > > >