 | Overview |  |
|
Pax Drone is an extensible integration testing framework for OSGi
It supports a large amount of osgi framework configurations out of the box to provide painless integration testing experience.
If any of the following is true
- You want have a simple to setup integration testframework for OSGi
- You want to run your tests on a remote OSGi framework
- You want to safely run your tests on a local OSGi framework
- You want millions of supported OSGi framework configurations (ok, at least some..)
- You want to execute and debug a chunk of code inside your osgi based application
- Want to use urls like mvn:org.ops4j.pax.logging/pax-logging-api to setup your test environment
- You don't know why you need integration testing for OSGi but want to spend some minutes checking it out..
.. Pax Drone is for you!
| |
 |  |
 | Usage |  |
System Requirements
- Java 5 virtual machine running on a supported operating system.
Source Code
https://scm.ops4j.org/repos/ops4j/projects/pax/drone ( or browse via FishEye )
This project builds with Apache Maven and uses Apache Felix's maven-bundle-plugin, and Peter Krien's bnd tool.
Installation
1. Use the following dependencies to get started: (or look at the sample sub project)
<dependency>
<groupId>org.ops4j.pax.drone</groupId>
<artifactId>pax-drone-spi</artifactId>
<version>0.2.1</version>
</dependency>
<dependency>
<groupId>org.ops4j.pax.drone</groupId>
<artifactId>pax-drone-spi-junit</artifactId>
<version>0.2.1</version>
</dependency>
<dependency>
<groupId>org.ops4j.pax.drone</groupId>
<artifactId>pax-drone-connector-paxrunner</artifactId>
<version>0.2.1</version>
</dependency>
For the cutting edge version (already rebrandet to Pax Exam) use this
<dependency>
<groupId>org.ops4j.pax.exam</groupId>
<artifactId>pax-exam-spi</artifactId>
<version>0.3.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.ops4j.pax.exam</groupId>
<artifactId>pax-exam-junit</artifactId>
<version>0.3.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.ops4j.pax.exam</groupId>
<artifactId>pax-exam-connector-paxrunner</artifactId>
<version>0.3.0-SNAPSHOT</version>
</dependency>
The main maven repository is http://repository.ops4j.org/maven2/ .
So you have to add this to your settings.xml or pom:
<repository>
<id>ops4j.releases</id>
<url>http://repository.ops4j.org/maven2</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
For snapshot versions build it yourself (https://scm.ops4j.org/repos/ops4j/projects/pax/drone) or use the snapshot repository:
<repository>
<id>ops4j.snapshots</id>
<url>http://repository.ops4j.org/mvn-snapshots</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
2. Write your first drone test (Pax Drone 0.2.x) :
package com.lhsystems.pixxa.integrationtest.flightinformationsystemservice;
import org.ops4j.pax.drone.spi.junit.DroneTestCase;
import org.ops4j.pax.drone.api.DroneConnector;
import static org.ops4j.pax.drone.connector.paxrunner.GenericConnector.*;
import org.ops4j.pax.drone.connector.paxrunner.Platforms;
public class SimpleTest extends org.ops4j.pax.drone.spi.junit.DroneTestCase {
public DroneConnector configure() {
return create(createRunnerContext(),createBundleProvision()
.addBundle("mvn:org.ops4j.pax.logging/pax-logging-service")
.addBundle("mvn:org.ops4j.pax.logging/pax-logging-api")
).setPlatform(Platforms.FELIX);
}
public void testBundles1() {
assertNotNull( bundleContext );
}
public void testBundles2(BundleContext myBundleContext) {
assertNotNull( myBundleContext );
}
}
| |
 |  |
|
 | Latest News |  |
Last changed Nov 14, 2008 10:26 by Toni Menzel
Labels: pax, pax-drone, drone, release, news, exam
Pax Drone 0.2.1 has been released.
Checkout release notes for details.
Last changed Nov 13, 2008 17:07 by Toni Menzel
Labels: pax, pax-drone, drone, news, exam, pax-exam
As written and decided on the mailinglist this week, pax drone will be re-named to Pax Exam.
The change will be done after the upcoming 0.2.1 release
All marketing material and tv-spots will be re-made asap.. 
Last changed Nov 03, 2008 18:33 by Toni Menzel
Labels: pax, pax-drone, drone, release, news
Pax Drone 0.2.0 has been released.
This release focuses on user experience and user feedback.
Additional major new features:
- support for JUnit4 test runner.
- new Test First Scenario: see PAXDRONE-36 for details
- more paxrunner options
Checkout release notes for details.
Last changed Sep 26, 2008 22:39 by Toni Menzel
Labels: pax, pax-drone, release, news
Pax Drone 0.1.3 has been released.
This is a bugfix release.
Checkout release notes for details.
As for now, this is the last scheduled 0.1.x release.
The 0.2.x line is already in development and will significantly improve transparency to the inner workings (PAXDRONE-34), a much requested need, and more.
Pax Drone 0.1.2 has been released.
This is a bugfix release that introduced paxdrone's paxrunner to choose a free port if default is occupied.
And issues when running in multi user environments.
Checkout release notes for details.
| |
 |  |
|