== Arquillian Universe unified dependencies
The Arquillian Universe BOM is a 'Bill of Material' Maven POM file collection that make up a module stack that stretch across the whole Arquillian Universe.
This project aim to fulfill two main requirements:
. Simplify the 'Getting Started' experience . Unify naming and versions
=== Usage
Include the following snippet in your POM xml file:
Then include the individual modules as you see fit, by simply depending on the unified pom name:
=== Available modules
==== JUnit
The JUnit Container integration.
===== Additional required dependencies
==== JUnit Standalone
The JUnit Standalone integration.
===== Additional required dependencies
==== TestNG
The TestNG Container integration.
===== Additional required dependencies
==== TestNG Standalone
The TestNG Standalone integration.
===== Additional required dependencies
==== Cuckes in Space
Cukes in Space! allows you to deploy and run Cucumber features in the application server of your choice using the Arquillian test framework.
Documentation: https://github.com/cukespace/cukespace
===== Optional Dependencies
==== Arquillian Drone
The Arquillian Drone provides a simple way how to write functional tests for an application with a web-based user interface. Arquillian Drone brings the power of WebDriver into the Arquillian framework. WebDriver provides a language how to communicate with a browser, like filling the forms, navigating on the pages and validating their content.
Documentation: https://github.com/arquillian/arquillian-extension-drone
==== Arquillian Graphene
Graphene project is designed as set of extensions for Selenium WebDriver project focused on rapid development and usability in Java environment.
Documentation: https://github.com/arquillian/arquillian-graphene
NOTE: you don't need to add arquillian-drone
dependency since it is automatically added when using arquillian-graphene
.
==== Arquillian Graphene Recorder
Browser screenshooter is an extension to Arquillian platform which provides the possibility to take screenshots of your tests. Only browser window is screened.
Documentation: https://github.com/arquillian/arquillian-graphene/tree/master/extension/screenshooter
NOTE: you don't need to add arquillian-graphene
or arquillian-recorder
dependency since it is automatically added when using arquillian-graphene-recorder
.
==== Arquillian Warp
Warp fills the void between client-side and server-side testing.
This extension allow you to write client-side test which asserts server-side logic.
Documentation: https://github.com/arquillian/arquillian-extension-warp
==== Arquillian Warp JSF
Warp JSF adds additional Warp capabilities to JSF requests.
Documentation: https://github.com/arquillian/arquillian-extension-warp
NOTE: you don't need to add arquillian-warp
dependency since it is automatically added when using arquillian-warp-jsf
.
==== Arquillian Transaction JTA
Arquillian Transaction Extension allow you to influence the Transactional behavior of the Test via annotations.
Documentation: https://github.com/arquillian/arquillian-extension-transaction
==== Arquillian Persistence
Arquillian Persistence Extension was created to help you writing tests where persistence layer is involved. Inspired by great framework called Unitils, it brings bunch of annotations to help you deal with the underlying data storage.
Documentation: https://github.com/arquillian/arquillian-extension-persistence
NOTE: you don't need to add arquillian-transaction-jta
dependency since it is automatically added when using arquillian-persistence
.
==== Arquillian Spring
Documentation: https://github.com/arquillian/arquillian-extension-spring
===== Additional required dependencies
The Spring framework core and modules of choice.
==== Arquillian Spring Transaction
Documentation: https://github.com/arquillian/arquillian-extension-spring
NOTE: you don't need to add arquillian-spring
or arquillian-transaction
dependency since it is automatically added when using arquillian-spring-transaction
.
===== Additional required dependencies
The Spring framework core and modules of choice.
==== Arquillian Spring Persistence
Documentation: https://github.com/arquillian/arquillian-extension-spring
NOTE: you don't need to add arquillian-spring
or arquillian-persistence
dependency since it is automatically added when using arquillian-spring-persistence
.
===== Additional required dependencies
The Spring framework core and modules of choice.
==== Arquillian Spring Warp
Documentation: https://github.com/arquillian/arquillian-extension-spring
NOTE: you don't need to add arquillian-spring
or arquillian-warp
dependency since it is automatically added when using arquillian-spring-warp
.
===== Additional required dependencies
The Spring framework core and modules of choice.
==== Arquillian Byteman
Byteman integration for the Arquillian Project
Mocking 2.0, Runtime bytecode manipulation in Integration tests.
Documentation: https://github.com/arquillian/arquillian-extension-byteman
===== Additional required dependencies
==== Arquillian Jacoco
Automagic remote in-container code coverage
Documentation: https://github.com/arquillian/arquillian-extension-jacoco
===== Additional required dependencies
NOTE: See documentation for additional Maven configuration.
==== Arquillian Recorder
Arquillian Recorder project brings neat reports of your Arquillian tests.
Documentation: https://github.com/arquillian/arquillian-recorder/wiki/Reporter + Documentation: https://github.com/arquillian/arquillian-recorder/wiki/Screenshooter + Documentation: https://github.com/arquillian/arquillian-recorder/wiki +
==== Arquillian Recorder API
Arquillian Recorder API is a module with only the API and SPI dependencies for Recorder. This allow you to depend on the API in test/compile scope and optionally activate the complete Arquillian Reporter module in a different profile when you want the reports generated.
See Arquillian Recorder above.
==== Arquillian REST RestEasy 2.x
Arquillian REST Client Extension allows you to test your RESTful applications on the client side.
Sometimes you need to test your REST app as a black box. You know the interface (the contract), you have some input and know what results you expect. For that purpose Arquillian REST Client Extension is your friend.
Documentation: https://github.com/arquillian/arquillian-extension-rest/tree/master/rest-client
===== Additional required dependencies
==== Arquillian REST RestEasy 3.x
Arquillian REST Client Extension allows you to test your RESTful applications on the client side.
Sometimes you need to test your REST app as a black box. You know the interface (the contract), you have some input and know what results you expect. For that purpose Arquillian REST Client Extension is your friend.
Documentation: https://github.com/arquillian/arquillian-extension-rest/tree/master/rest-client
==== Arquillian REST JAXRS 2.0
Arquillian REST Client Extension allows you to test your RESTful applications on the client side.
Sometimes you need to test your REST app as a black box. You know the interface (the contract), you have some input and know what results you expect. For that purpose Arquillian REST Client Extension is your friend.
Documentation: https://github.com/arquillian/arquillian-extension-rest/tree/master/rest-client
===== Additional required dependencies
A JAXRS compliant implementation.
==== Arquillian REST Jersey
Arquillian REST Client Extension allows you to test your RESTful applications on the client side.
Sometimes you need to test your REST app as a black box. You know the interface (the contract), you have some input and know what results you expect. For that purpose Arquillian REST Client Extension is your friend.
Documentation: https://github.com/arquillian/arquillian-extension-rest/tree/master/rest-client
==== Arquillian REST Warp RestEasy
Arquillian Warp REST Extension allows you to test your RESTful applications on the server side.
This extension brings tools for intercepting the state of the executing service and exercise it through in container tests that can be executed directly before or after the service is being invoked.
Documentation: https://github.com/arquillian/arquillian-extension-rest/tree/master/warp-rest
NOTE: you don't need to add arquillian-warp
dependency since it is automatically added when using arquillian-rest-warp-resteasy
.
===== Additional required dependencies
==== Arquillian REST Warp Jersey
Arquillian Warp REST Extension allows you to test your RESTful applications on the server side.
This extension brings tools for intercepting the state of the executing service and exercise it through in container tests that can be executed directly before or after the service is being invoked.
Documentation: https://github.com/arquillian/arquillian-extension-rest/tree/master/warp-rest
NOTE: you don't need to add arquillian-warp
dependency since it is automatically added when using arquillian-rest-warp-jersey
.
===== Additional required dependencies
==== Arquillian REST Warp JAXRS 2.0
Arquillian Warp REST Extension allows you to test your RESTful applications on the server side.
This extension brings tools for intercepting the state of the executing service and exercise it through in container tests that can be executed directly before or after the service is being invoked.
Documentation: https://github.com/arquillian/arquillian-extension-rest/tree/master/warp-rest
NOTE: you don't need to add arquillian-warp
dependency since it is automatically added when using arquillian-rest-warp-jaxrs2
.
===== Additional required dependencies
A JAXRS compliant implementation.
==== Arquillian REST Warp CXF
Arquillian Warp REST Extension allows you to test your RESTful applications on the server side.
This extension brings tools for intercepting the state of the executing service and exercise it through in container tests that can be executed directly before or after the service is being invoked.
Documentation: https://github.com/arquillian/arquillian-extension-rest/tree/master/warp-rest
NOTE: you don't need to add arquillian-warp
dependency since it is automatically added when using arquillian-rest-warp-cxf
.
===== Additional required dependencies
==== Arquillian Cube Docker
Arquillian Cube is an Arquillian extension that can be used to manager Docker containers from Arquillian.
With this extension you can start a Docker container with a server installed, deploy the required deployable file within it and execute Arquillian tests.
The key point here is that if Docker is used as deployable platform in production, your tests are executed in a the same container as it will be in production, so your tests are even more real than before.
But it also lets you start a container with every required service like database, mail server, … and instead of stubbing or using fake objects your tests can use real servers.
Documentation: https://github.com/arquillian/arquillian-cube
==== Arquillian Cube Docker REST Assured
Arquillian Cube is an Arquillian extension that can be used to manager Docker containers from Arquillian and can be integrated with REST Assured
Documentation: http://arquillian.org/arquillian-cube/#_rest_assured_integration
===== Additional required dependencies
==== Arquillian Cube OpenShift
Arquillian Cube is an Arquillian extension that can be used to manager Docker containers from Arquillian.
Documentation: https://github.com/arquillian/arquillian-cube
==== Arquillian Cube Containerless
Arquillian Cube is an Arquillian extension that can be used to manager Docker containers from Arquillian.
The Containerless container integrates Docker images as normal Arquillian Containers without the need for any Java EE style server as a target.
Documentation: https://github.com/arquillian/arquillian-cube#containerless-server-and-docker
==== Arquillian Cube Kubernetes
Arquillian Cube Kubernetes is an Arquillian extension that can be used to manager Kubernetes elements from Arquillian.
Documentation: http://arquillian.org/arquillian-cube/#_kubernetes
==== Arquillian Cube Q Pumba
Arquillian Cube Q is an extension of Arquillian Cube (https://github.com/arquillian/arquillian-cube) that allows you to write chaos tests. Since Arquillian Cube Q is an extension of Cube, it relies on Docker to execute them.
It integrates with Pumba for container chaos.
Documentation: https://github.com/arquillian/arquillian-cube-q#container-chaos Repository: https://github.com/arquillian/arquillian-cube-q
==== Arquillian Cube Q SimianArmy
Arquillian Cube Q is an extension of Arquillian Cube (https://github.com/arquillian/arquillian-cube) that allows you to write chaos tests. Since Arquillian Cube Q is an extension of Cube, it relies on Docker to execute them.
It integrates with SimianArmy for operative system chaos.
Documentation: https://github.com/arquillian/arquillian-cube-q#operative-system-chaos Repository: https://github.com/arquillian/arquillian-cube-q
==== Arquillian Cube Q Toxic
Arquillian Cube Q is an extension of Arquillian Cube (https://github.com/arquillian/arquillian-cube) that allows you to write chaos tests. Since Arquillian Cube Q is an extension of Cube, it relies on Docker to execute them.
It integrates with Toxify for network chaos.
Documentation: https://github.com/arquillian/arquillian-cube-q#network-chaos Repository: https://github.com/arquillian/arquillian-cube-q
==== Arquillian Algeron Pact Consumer
Arquillian Algeron Pact is the integration of all Arquillian philosophy/extensions into Consumer Driven Contracts approach using Pact-JVM.
Documentation: https://github.com/arquillian/arquillian-algeron#arquillian-algeron-pact-consumer
===== Additional required dependencies
==== Arquillian Algeron Pact Provider
Arquillian Algeron Pact is the integration of all Arquillian philosophy/extensions into Consumer Driven Contracts approach using Pact-JVM.
Documentation: https://github.com/arquillian/arquillian-algeron#arquillian-algeron-pact-consumer
===== Additional required dependencies
==== Arquillian Algeron Publishers
Arquillian Algeron provides an integration to publish generated contracts.
Documentation: https://github.com/arquillian/arquillian-algeron#arquillian-algeron-consumer-publisher
==== Arquillian Algeron Retrievers
Arquillian Algeron provides an integration to publish generated contracts.
==== Arquillian Governor JIRA
Arquillian Governor Extension and the implementations which use its API give you the possibility to programmatically choose what test methods of your Arquillian tests are going to be executed and what are going to be skipped by putting your custom annotations on the test methods.
Documentation: https://github.com/arquillian/arquillian-governor#arquillian-jira-governor-extension
==== Arquillian Governor GitHub
Arquillian Governor Extension and the implementations which use its API give you the possibility to programmatically choose what test methods of your Arquillian tests are going to be executed and what are going to be skipped by putting your custom annotations on the test methods.
Documentation: https://github.com/arquillian/arquillian-governor#arquillian-github-governor-extension
==== Arquillian Governor Redmine
Arquillian Governor Extension and the implementations which use its API give you the possibility to programmatically choose what test methods of your Arquillian tests are going to be executed and what are going to be skipped by putting your custom annotations on the test methods.
Documentation: https://github.com/arquillian/arquillian-governor#arquillian-redmine-governor-extension
==== Arquillian Governor Skipper
Arquillian Governor Extension and the implementations which use its API give you the possibility to programmatically choose what test methods of your Arquillian tests are going to be executed and what are going to be skipped by putting your custom annotations on the test methods.
Documentation: https://github.com/arquillian/arquillian-governor#arquillian-governor-skipper-extension
==== Arquillian Governor Ignore
Arquillian Governor Extension and the implementations which use its API give you the possibility to choose what test methods of your Arquillian tests are going to be executed and what are going to be skipped based on configuration of class and method expressions in the Arquillian configuration.
Documentation: https://github.com/arquillian/arquillian-governor#arquillian-governor-ignore-extension
==== Arquillian Spacelift
Arquillian process and package manager. Makes executing an external process or fetching platform dependent dependencies an easier job.
Documentation: https://github.com/arquillian/arquillian-spacelift
==== Arquillian Chameleon Container
Have you ever faced an issue that switching between container implementations isn’t that easy?
Testing against several containers (JBoss AS / JBoss EAP / WildFly) or even switching between different modes (Managed, Remote, Embedded) may result in bloated pom.xml.
Chameleon Containers are able to quickly adopt to your needs without too much hassle.
Documentation: https://github.com/arquillian/arquillian-container-chameleon
==== Arquillian APE NoSQL MongoDB
===== Additional required dependencies
==== Arquillian APE NoSQL Redis
===== Additional required dependencies
==== Arquillian APE NoSQL Couchbase
===== Additional required dependencies
==== Arquillian APE NoSQL Vault
===== Additional required dependencies
==== Arquillian APE REST Postman
==== Arquillian APE SQL Container DBUnit
==== Arquillian APE SQL Standalone DBUnit
==== Arquillian APE SQL Standalone Flyway
==== Arquillian JUnit Rule