-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
New test runner EZE (Embedded Zeebe Engine) #100
Comments
Hey @saig0! We are suffering from a very long test execution time too. I would like to add the EZE support here. But I think that we should split it into two parts:
interface TestEnvironment {
val zeebeClient: ZeebeClient
val zeeqsClient: ZeeqsClient
val isRunning: Boolean
fun setup()
fun cleanUp()
} And make the Also, I have thoughts about the implementation. If I understand correctly, we could eliminate ZeeQS because EZE already provided the needed interfaces to access the exported data. Maybe, the right way is to do something like this:
|
@aivinog1 awesome that you want to work on it. 🚀 The idea of splitting the environment sounds good. Or, we create a new runner for EZE, depending on the duplication and the new abstraction layers. A new runner may provide better separation and allow further improvements.
This is already the case (except for the application module). We could use only the data or importer modules. It did so for Zeebe-Play.
Good idea. If we don't run ZeeQS in a Docker container, then we could access the repositories of ZeeQS directly. |
Is your feature request related to a problem? Please describe.
Running tests with Zeebe takes too long. Each test case starts test-containers for Zeebe and ZeeQS that take ~ 10-15 seconds. The time grows fast to minutes by adding a few more test cases.
Describe the solution you'd like
Replace the Zeebe test-container with EZE. The embedded Zeebe engine takes only a few milliseconds to start.
Describe alternatives you've considered
Reduce the time by reusing the Zeebe environment. But the downside is that there is no more isolation between the test cases anymore.
Additional context
The test runner queries the data from ZeeQS to retrieve the state and history. Currently, ZeeQS is also started within a test-container. In order to reduce the time, we need to eliminate this factor, for example, by starting ZeeQS directly, or add namespaces (i.e. multi-tenancy) to ZeeQS.
Related to/depends on camunda-community-hub/zeeqs#169.
The text was updated successfully, but these errors were encountered: