-
Task
-
Resolution: Fixed
-
L3 - Default
-
None
-
None
-
110
Context:
As a measure agreed on in the Backend Senate November meeting we want to introduce the usage of a mockable proxy in the context of our integration tests.
This proxy should sit in front any adjacent system included in the integration tests (elastic & cambpm) and we want to use it to simulate failure response or even connectivity errors.
AT:
- a proxy is setup and configurable using a junit extension in the context of Integration tests
- tests are added for relevant scenarios:
- user role cleanup should not run if a user sync failed
- import should be resilient to failing fetch requests from the cambpm rest api
- import should be resilient to failing elasticsearch index bulks
- errors on copy/deleting a resource tree (collection, report) should not end up in a inconsistent state (e.g. it is acceptable that during a collection copy we fail on a report copy and an incomplete collection copy is created, so the user can just delete that copy themselves BUT it would not be acceptable if orphaned entities are left over, e.g. if reports would be copied first and the collection creation fails)
- once the proxy is set up add a test scenario that Optimize can cope Elasticsearch crashing on runtime
This is the controller panel for Smart Panels app
1.
|
Investigate whether MockServer can work as our mockable proxy | Done | Unassigned | |
2.
|
Setup and start ES Mockserver | Done | Unassigned | |
3.
|
Create JUnit5 extension for configuring proxy and forwarding requests | Done | Unassigned | |
4.
|
Test cases for failed user/group requests to engine | Done | Unassigned | |
5.
|
Test cases are added for ES errors when copying/moving/deleting resources | Done | Unassigned | |
6.
|
Setup and start Engine Mockserver | Done | Unassigned | |
7.
|
Tests for ensuring ES Bulk import is resilient to ES failures | Done | Unassigned | |
8.
|
Add tests for Engine import failures | Done | Unassigned |