PartialFailureRecoveryDemonstrationIntegrationTest
Tests
| Test |
Method name |
Duration |
Result |
| Scenario 1A: Bank timeout recovers to PAID via periodic reconciliation lookup |
scenario1A_bankTimeout_recoversToPaidViaReconciliation() |
0.540s |
passed |
| Scenario 1B: Bank timeout recovers to PAYMENT_FAILED and releases stock reservations |
scenario1B_bankTimeout_recoversToPaymentFailedAndReleasesStock() |
0.548s |
passed |
| Scenario 2A: Row-lock concurrency race between dispatch and cancellation enforces serializability |
scenario2A_synchronousSendGuard_concurrentRaceMaintainsSerializability() |
0.537s |
passed |
| Scenario 2A: Synchronous Send Guard rejects cancellation after dispatch with 409 Conflict |
scenario2A_synchronousSendGuard_preventsCancellationAfterDispatch() |
0.668s |
passed |
Standard output
2026-10-18T11:03:08.500Z INFO 3989 --- [ Test worker] t.c.s.AnnotationConfigContextLoaderUtils : Could not detect default configuration classes for test class [com.comp5348.group06.store.service.PartialFailureRecoveryDemonstrationIntegrationTest]: PartialFailureRecoveryDemonstrationIntegrationTest does not declare any static, non-private, non-final, nested classes annotated with @Configuration.
2026-10-18T11:03:08.508Z INFO 3989 --- [ Test worker] .b.t.c.SpringBootTestContextBootstrapper : Found @SpringBootConfiguration com.comp5348.group06.store.StoreApplication for test class com.comp5348.group06.store.service.PartialFailureRecoveryDemonstrationIntegrationTest
2026-10-18T11:03:08.827Z INFO 3989 --- [ Test worker] c.c.g.store.service.OrderPaymentService : Order 4 marked PAID with payment ID tx-2a-paid
2026-10-18T11:03:08.836Z INFO 3989 --- [ Test worker] c.c.g.s.d.DeliveryDispatchPublisher : Publishing delivery request msg-del-4 for order 4 to exchange delivery.exchange with routing key delivery.request
2026-10-18T11:03:08.840Z INFO 3989 --- [ Test worker] c.c.g.s.d.DeliveryDispatchPublisher : Broker ACK received for delivery request msg-del-4
2026-10-18T11:03:08.841Z INFO 3989 --- [ Test worker] c.c.g.s.service.OrderDeliveryService : Order 4 successfully dispatched with messageId msg-del-4
2026-10-18T11:03:09.477Z INFO 3989 --- [ Test worker] c.c.g.store.service.OrderPaymentService : Order 5 marked PAID with payment ID tx-2a-race
2026-10-18T11:03:09.489Z INFO 3989 --- [ool-12-thread-1] c.c.g.s.d.DeliveryDispatchPublisher : Publishing delivery request msg-del-5 for order 5 to exchange delivery.exchange with routing key delivery.request
2026-10-18T11:03:09.493Z INFO 3989 --- [ool-12-thread-1] c.c.g.s.d.DeliveryDispatchPublisher : Broker ACK received for delivery request msg-del-5
2026-10-18T11:03:09.493Z INFO 3989 --- [ool-12-thread-1] c.c.g.s.service.OrderDeliveryService : Order 5 successfully dispatched with messageId msg-del-5
2026-10-18T11:03:10.021Z WARN 3989 --- [ Test worker] c.c.g.store.service.OrderPaymentService : Bank transfer call failed for order 6: I/O error on POST request for "http://localhost:8081/api/transfers": Connection timed out. Reconciling...
2026-10-18T11:03:10.027Z INFO 3989 --- [ Test worker] c.c.g.store.service.OrderPaymentService : Payment lookup for order 6 returned 404; remaining pending/uncertain
2026-10-18T11:03:10.047Z INFO 3989 --- [ Test worker] c.c.g.store.service.OrderPaymentService : Order 6 marked PAYMENT_FAILED and reservations released
2026-10-18T11:03:10.574Z WARN 3989 --- [ Test worker] c.c.g.store.service.OrderPaymentService : Bank transfer call failed for order 7: 500 Internal Server Error: [no body]. Reconciling...
2026-10-18T11:03:10.580Z INFO 3989 --- [ Test worker] c.c.g.store.service.OrderPaymentService : Payment lookup for order 7 returned 404; remaining pending/uncertain
2026-10-18T11:03:10.590Z INFO 3989 --- [ Test worker] c.c.g.store.service.OrderPaymentService : Order 7 marked PAID with payment ID tx-bank-recovered-1a