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 3 instances, 
      - enable resources in the cluster, 
      - set configs.c1-config.transaction-service.property.delegated-recovery=true, and deploy the application
      - *set configs.c1-config.transaction-service.property.add-wait-point-during-recovery=20 to enable a sleep point during recovery*
      - deploy the application

- run
  - run-recover (execute test for automatic transactions recover as a GMS notification handling)
    Test inserts 3 rows from in1 into the default and xa database
    Instance in1 is killed 
    Instance in2 receives GMS failure recovery notification
    Sleep for 70 (50+20) sec to allow recovery to start executing
    Instance in2 is killed 
    Instance in3 receives GMS failure recovery notification for in1 & in2
    Sleep 105 seconds to allow for all processing to go through
    Expected result: 3 rows found in xa database
  - reset-tables (clear data)
  - run-recover-with-restart (execute test for automatic transactions recover as a GMS notification handling)
    Test inserts 3 rows from in1 into the default and xa database
    Instance in1 is killed
    Instance in2 receives GMS failure recovery notification
    Sleep for 50 sec to allow recovery to start executing
    Instance in1 is restarted
    Sleep 105 seconds to allow for all processing to go through
    Expected result: 3 rows found in xa database

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

