Arquillian Container Adapters

An Arquillian container, generally speaking, is a runtime with which Arquillian interacts when running an integration test. Arquillian may manage the container’s lifecycle or simply bind to it. Arquillian may deploy archives or descriptors to the container. Arquillian may transfer execution of the tests into the container, or it may simply make the URL of the deployed application available to the test which is acting as a client.

Arquillian supports multiple containers (among them Payara Platform distributions) through its extension mechanism. A container adapter is packaged as a JAR and is referenced, along with its dependencies, through as set of Maven GAV coordinates (groupId, artifactId, version). During the execution of tests, a container adapter must be present in the test classpath, allowing Arquillian to locate, load and use it.

In this context, the following container adapters have been implemented within the Payara Ecosystem tools to provide integration with Payara Platform distributions containers:

Where can I get the adapters?

The Payara Arquillian container adapters are freely available in Maven Central under the following GAV coordinates :

<dependency>
    <groupId>fish.payara.arquillian</groupId>
    <artifactId>arquillian-payara-${container-name}</artifactId>
    <version>${version}</version>
</dependency>

Where ${container-name} refers to the specific container in question (see their names in the previous section) and the ${version} corresponds to the specific adapter version compatible with this Payara Platform version.

All adapters share the same version as part of their connector suite.
For Payara Platform 5.x, adapters in version 2.x are compatible.

General Usage

An example application demonstrating how to create a test suite that runs the tests inside various Payara Platform distributions using Arquillian can be seen in the Payara Examples repository.

See specifically the ecosystem/arquillian-example subproject for an example of writing integration tests using Arquillian along with the corresponding container adapters described above.