This test, when run with 'all' target performs the following steps:

- build
- setup
  - start-database
  - startDomain
  - setup-database (add jdbc resources and execute create.sql script on 2 resorces)
  - setup-cluster (create cluster of 2 instances, enable resources in the cluster, and deploy the application)

- run
  - run-rollback (execute test for rollback-transaction CLI)
    Test inserts 3 rows from each clustered instance into the 1st xa database
    Transaction on in1 is rolled back
    Expected result: 3 rows found
  - reset-tables (clean data in tables)
  - run-recover (execute test for recover-transactions CLI)
    Test inserts 3 rows from in1 into the 1st and 2nd xa database
    Instance in1 is killed 
    Instance in2 receives recover-transaction request
    Expected result: 3 rows found in the 2nd xa database
  - reset-tables (clean data in tables)
  - run-db-restart (make sure transaction manager works properly - simulate SQE test)
    Test inserts 3 rows into the 1st xa database on in2
    Derby is restarted
    Expected result: 3 rows found when verified on in1
  - reset-tables (clean data in tables)
  - run-db-recover (kill Derby and run recover-transactions CLI on the same instance)
    Test inserts 3 rows into the 1st and 2nd xa database on in1
    Derby is killed and restarted
    recover-transactions CLI is executed on in1
    Expected result: 3 rows found in 2nd xa database when verified on in1

- unsetup
  - unsetup-cluster (undeploy the application, stop and delete the cluster)
  - unsetup-database (drop tables and remove resources)
  - stop-database
  - stopDomain

