*/
package org.wamblee.xmlrouter.integrationtest;
+import static org.mockito.Matchers.*;
+import static org.mockito.Mockito.*;
import static org.ops4j.pax.exam.CoreOptions.*;
+import javax.xml.transform.dom.DOMSource;
+
import org.junit.Test;
import org.junit.runner.RunWith;
import org.ops4j.pax.exam.Option;
import org.ops4j.pax.exam.junit.Configuration;
import org.ops4j.pax.exam.junit.JUnit4TestRunner;
import org.osgi.framework.BundleContext;
+import org.osgi.framework.ServiceRegistration;
+import org.wamblee.xmlrouter.subscribe.Destination;
@RunWith(JUnit4TestRunner.class)
public class XmlRouterIntegrationTest {
@Configuration()
public Option[] config() {
- return options(junitBundles(),
- // mockito 1.7
- // wrappedBundle(mavenBundle().groupId("org.mockito")
- // .artifactId("mockito-all").version("1.7")),
- // mockito 1.8.5
+ return options(
+ cleanCaches(),
+ // Test dependencies
+ wrappedBundle(mavenBundle().groupId("junit")
+ .artifactId("junit-dep").version("4.8.2")), //
mavenBundle().groupId("org.mockito").artifactId("mockito-all")
.version("1.8.5"), //
+ // junitBundles(),
+ // mockitoBundles(),
+
+ // XML Router API packages.
+ mavenBundle().groupId("org.wamblee.xmlrouter")
+ .artifactId("xmlrouter-common").versionAsInProject(),//
+ mavenBundle().groupId("org.wamblee.xmlrouter")
+ .artifactId("xmlrouter-config").versionAsInProject(),//
+ mavenBundle().groupId("org.wamblee.xmlrouter")
+ .artifactId("xmlrouter-publish").versionAsInProject(),//
+ mavenBundle().groupId("org.wamblee.xmlrouter")
+ .artifactId("xmlrouter-subscribe").versionAsInProject(),//
+ mavenBundle().groupId("org.wamblee.xmlrouter")
+ .artifactId("xmlrouter-listener").versionAsInProject(),//
+
+ // XML Router bundle.
+ mavenBundle().groupId("org.wamblee.xmlrouter")
+ .artifactId("xmlrouter-router-bundle").versionAsInProject(), //
+
+ // OSGI runtimes
felix());
}
@Test
- public void test1(BundleContext aContext) {
+ public void test1(BundleContext aContext) throws InterruptedException {
System.out.println("=== Got context " + aContext);
- }
+ Destination dest = mock(Destination.class);
+ // verify(dest, never()).receive(any(DOMSource.class));
+ ServiceRegistration registration = aContext.registerService(
+ Destination.class.getName(), dest, null);
+
+ Thread.sleep(5000);
+ verify(dest, atLeastOnce()).receive(any(DOMSource.class));
+ registration.unregister();
+ }
}