Skip to content

Files

This branch is 1897 commits behind camunda/camunda-bpm-platform:master.

qa

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
Mar 7, 2022
Mar 7, 2022
Mar 23, 2022
Mar 7, 2022
Mar 14, 2022
Mar 14, 2022
Mar 14, 2022
Mar 14, 2022
Mar 7, 2022
Mar 14, 2022
Mar 7, 2022
Mar 23, 2022
Mar 23, 2022
Jul 8, 2021
Mar 7, 2022

Running Integration Tests

The integration testsuites are located under qa/. There you'll find a folder named XX-runtime for each server runtime we support. These projects are responsible for taking a runtime container distribution (ie. Apache Tomcat, Wildfly) and configuring it for integration testing. The actual integration tests are located in the qa/integration-tests-engine and qa/integration-tests-webapps modules.

  • integration-tests-engine: This module contains an extensive testsuite that test the integration of the process engine within a particular runtime container. For example, such tests will ensure that if you use the Job Executor Service inside a Java EE Container, you get a proper CDI request context spanning multiple EJB invocations or that EE resource injection works as expected. These integration tests are executed in-container, using JBoss Arquillian.
  • integration-tests-webapps: This module tests the Camunda Platform webapplications inside the runtime containers. These integration tests run inside a client / server setting: the webapplication is deployed to the runtime container, the runtime container is started and the tests running inside a client VM perform requests against the deployed applications.

In order to run the integration tests, first perform a full install build. Then navigate to the qa folder.

We have different maven profiles for selecting

  • Runtime containers & environments: tomcat, wildfly
  • The testsuite: engine-integration, webapps-integration
  • The database: h2,h2-xa,postgresql,postgresql-xa (XA is only supported on Wildfly atm)

In order to configure the build, compose the profiles for runtime container, testsuite, database. Example:

mvn clean install -Pengine-integration,tomcat,h2

Here's another example for using wildfly as the runtime container:

mvn clean install -Pengine-integration,wildfly,h2

If you want to test against an XA database, just add the corresponding XA database profile to the mvn cmdline above. Example:

mvn clean install -Pengine-integration,wildfly,postgresql,postgresql-xa

You can select multiple testsuites but only a single database and a single runtime container. This is valid:

mvn clean install -Pengine-integration,webapps-integration,tomcat,postgresql

There is a special profile for Wildfly Application Server:

  • Domain mode: mvn clean install -Pengine-integration,h2,wildfly-domain

Running tests with the Maven Wrapper

With mvnw, from the root of the project, run: ./mvnw clean install -f qa/pom.xml -P${integration-test-id},${application-server-id},${database-id} where ${database-id} is for example h2, ${application-server-id} is for e.g. wildfly,wildfly-domain, and ${integration-test-id} can be either engine-integration or webapps-integration.