Details
-
Tech Debt
-
Status: Open (View Workflow)
-
P3
-
Resolution: Unresolved
-
None
-
None
-
None
-
-
Thunderjet
-
Poppy (R2 2023)
Description
Overview:
ApiTestBase$verifyPostResponse has been using verifyInvoiceSummaryUpdateEvent to wait for some update events to finish. As this is no longer done async, verifyInvoiceSummaryUpdateEvent is not longer needed. But without a new sleep to replace it, tests can fail because some async operations happen at the same time as the next tests (verifyInvoiceSummaryUpdateEvent had a minimum 50ms delay which was helping to avoid issues).
The sleep workaround introduced in the resolution for MODINVOICE-233 is not ideal because the right value depends on the environment, and it slows down the tests.
Steps to reproduce:
(errors may vary depending on the running environment)
- Remove the sleep in ApiTestBase$verifyPostResponse
mvn test [...] 16:28:08 [] [] [] [] INFO BatchVoucherExportsApiTest === Test Put Batch voucher export === 16:28:08 [] [] [] [] INFO ApiTestBase Using mock datafile: mockdata/batchVoucherExports/566c9156-e52f-4597-9fee-5ddac91d14f2.json 16:28:08 [] [] [] [] INFO MockServer id: null 16:28:08 [] [] [] [] INFO ApiTestBase Using mock datafile: mockdata/batchVouchers/null.json 16:28:08 [] [] [] [] ERROR HelperUtils Exception calling GET /batch-voucher-storage/batch-vouchers/null?lang=en java.util.concurrent.CompletionException: org.folio.invoices.rest.exceptions.HttpException: null [...] [INFO] Results: [INFO] [ERROR] Failures: [ERROR] ApiTestSuite$BatchVoucherExportsApiTestNested>BatchVoucherExportsApiTest.testUpdateBatchVoucherExport:130 Expected: is "Updated message" but: was "Batch voucher was not found" [INFO] [ERROR] Tests run: 384, Failures: 1, Errors: 0, Skipped: 4
Resolution
- A better workaround to wait for async operations to finish without using a fixed sleep value, OR
- Change the tests to support parallel execution (this could be complicated and probably require changes in MockServer)
TestRail: Results
Attachments
Issue Links
- defines
-
UXPROD-3431 Acquisitions (Thunderjet) - Tech Debt, NFR - Backlog
-
- In Refinement
-
- has to be done after
-
MODINVOICE-233 Integration test check-invoice-and-invoice-lines-deletion-restrictions fails randomly
-
- Closed
-