Skip to end of metadata
Go to start of metadata

See also: AS 7 Integration Testsuite User Guide


Please be sure to read Pre-requisites - test quality standards and follow those guidelines.

Arquillian container configuration

See AS 7 managed container refrence.

ManagementClient and ModelNode usage example

ManagementClient can be obtained as described below.

Arquillian features available in tests




See Arquillian's Resource Injection docs for more info, for examples.

See also Arquillian Reference.

Note to @ServerSetup annotation: It works as expected only on non-manual containers. In case of manual mode containers it calls setup() method after each server start up which is right (or actually before deployment), but the tearDown() method is called only at AfterClass event, i.e. usually after your manual shutdown of the server. Which limits you on the ability to revert some configuration changes on the server and so on. I cloned the annotation and changed it to fit the manual mode, but it is still in my github branch :)

Properties available in tests


  • jbosssa.project.dir     - Project's root dir (where ./ is).
  • jbossas.ts.dir            - Testsuite dir.
  • jbossas.ts.integ.dir    - Testsuite's integration module dir.
  • jboss.dist                  - Path to AS distribution, either built (build/target/jboss-as-...) or user-provided via -Djboss.dist
  • jboss.inst                  - (Arquillian in-container only)  Path to the AS instance in which the test is running (until ARQ-650 is possibly done)
  • jboss.home               - Deprecated as it's name is unclear and confusing. Use jboss.dist or jboss.inst.


  • node0
  • node1

Time-related coefficients (ratios)

In case some of the following causes timeouts, you may prolong the timeouts by setting value >= 100:

100 = leave as is,
150 = 50 % longer, etc.

  • timeout.ratio.gen - General ratio - can be used to adjust all timeouts.When this and specific are defined, both apply.
  • timeout.ratio.fs- Filesystem IO
  • - Network IO
  • timeout.ratio.mem - Memory IO
  • timeout.ratio.cpu - Processor
  • timeout.ratio.db - Database

Time ratios will soon be provided by*() methods.

Negative tests

To test invalid deployment handling:  @ShouldThrowException

Currently doesn't work due to AS7-1197.

optionally you might be able to catch it using the manual deployer

Clustering tests (AS7-2541)

You need to deploy the same thing twice, so two deployment methods that just return the same thing.
And then you have tests that run against each.

How to get the tests to master

  • First of all, be sure to read the "Before you add a test" section.
  • Fetch the newest mater: git fetch upstream  # Provided you have the jbossas/jbossas GitHub repo as a remote called 'upstream'.
  • Rebase your branch: git checkout AS7-1234-your-branch;  git rebase upstream/master
  • Run whole testsuite (integration-tests -DallTests). You may use .
    • If any tests fail and they do not fail in master, fix it and go back to the "Fetch" step.
  • Push to a new branch in your GitHub repo: git push origin AS7-1234-new-XY-tests
  • Create a pull-request on GitHub. Go to your branch and click on "Pull Request". 
    • If you have a jira, start the title with it, like - AS7-1234 New tests for XYZ.
    • If you don't, write some apposite title. In the description, describe in detail what was done and why should it be merged. Keep in mind that the diff will be visible under your description.
  • Keep the branch rebased daily until it's merged (see the Fetch step). If you don't, you're dramatically decreasing chance to get it merged.
  • There's a mailing list, jbossas-pull-requests, which is notified of every pull-request.
  • You might have someone with merge privileges to cooperate with you, so they know what you're doing, and expect your pull request.
  • When your pull request is reviewed and merged, you'll be notified by mail from GitHub.
  • You may also check if it was merged by the following:  git fetch upstream; git cherry <branch>  ## Or git branch --contains{{<branch> - see}} here
  • Your commits will appear in master. They will have the same hash as in your branch.
    • You are now safe to delete both your local and remote branches: git branch -D AS7-1234-your-branch; git push origin :AS7-1234-your-branch
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.