Test 1: This test checks to see if the proper transaction atomicity levels are being upheld in transactions associated with the benchmark. This test case drives placing an order for immediate insertion into the dealerships inventory. An exception is raised after placing the order and while adding the inventory to the dealers inventory table. This should cause the transaction changes to be removed from the database and all other items returned to how they existed before the transaction took place. This test case has three steps which are as follows to verify atomicity
1.) Query database to check how many inventory items the dealership has, the dealerships account balance, and the number of orders which have been placed for the dealer inside of the dealer domain. These numbers are the initial metrics that the final test cases should line up with after rolling back the transaction.
2.) Drives the above transaction which causes a transaction rollback exception to occur.
3.) Query database to check how many inventory items the dealership has, the dealerships account balance, and the number of orders which have been placed for the dealer inside of the dealer domain. These numbers should equal those in step 1) for the test case to be successful and the transaction to have been atomic.
- Atomicity Test One: PASSED
Test 2: This test transaction simply tests that the application server is working properly and that it is able to insert an order as in Atomicity test 1 but without causing the exception and have it show up in the database.
- Atomicity Test Two: PASSED
Test 3: This test checks to see if the proper transaction atomicity levels are being upheld in transaction associated with the benchmark and specifically the messaging subsystem in this test case. This test case drives placing a order which contains a large order and an item to be insert immediately into the dealerships inventory. An exception is raised after placing the order and while adding the inventory to the dealers inventory table. This should cause the transaction changes to be removed from the database, messages removed from queue and all other items returned to how they existed before the transaction took place. This test case has three steps which are as follows to verify atomicity.
1.) Query database to check how many inventory items the dealership has, the dealerships account balance, and the number of orders which have been placed for the dealer inside of the dealer domain. Also the large order table is queried to check how many large orders exist in the database before we drive the transaction. These numbers are the initial metrics that the final test cases should line up with after rolling back the transaction.
2.) Drives the above listed transaction which causes a transaction rollback exception to occur.
3.) Query database to check how many inventory items the dealership has, the dealerships account balance, and the number of orders which have been placed for the dealer inside of the dealer domain. Also query the large order table to check how many large orders there are in the table. These numbers should equal those in step 1) for the test case to be successful and the transaction to have been atomic.
- Atomicity Test Three: FAILED