-
Task
-
Resolution: Fixed
-
L3 - Default
-
None
-
3
-
M
We currently use the embedded broker rule during Zeebe testing. However, to do this we must pull in the following dependencies, which should generally not be external from Zeebe:
<dependency> <groupId>io.camunda</groupId> <artifactId>zeebe-test</artifactId> <version>${zeebe.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>io.camunda</groupId> <artifactId>zeebe-broker</artifactId> <version>${zeebe.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>io.camunda</groupId> <artifactId>zeebe-elasticsearch-exporter</artifactId> <version>${zeebe.version}</version> <scope>test</scope> </dependency>
By having these, we also inherit changes to Java versions when Zeebe makes changes. We should find a way to decouple our tests away from these dependencies.
An initial discussion shows that EZE is not appropriate for Optimize, this is more for testing the client side operations. Instead, we should look at using https://github.com/camunda-community-hub/zeebe-test-container. Zeebe have offered to help out with the migration, so can be used for assistance in order to get us away from using the above libraries. There is also apparently a native Zeebe JUnit5 Extension we can use to replace the existing one we created in Optimize.
Hints:
- Please reach out to Nicolas for help with the migration
- Infra might be able to help with pipeline changes and setting up the Zeebe container
This is the controller panel for Smart Panels app
1.
|
Replace EmbeddedBrokerRule with zeebe test container | Done | Unassigned | |
2.
|
Enable zeebe tests with clock manipulation | Done | Unassigned | |
3.
|
Fix broken compatibility jobs | Done | Unassigned |