I have recently started a perf-testing feature. We are using an embedded instance of Camunda in our Spring-boot application.
We would like to reuse our populated DB between perf-test runs as to mimic a production DB, the issue that we are facing is… a number of workflows that are created towards the end of one perf run, will then become live and attempt to retry at the start of our next perf run. Ideally we would like to have no pending tasks in-between, completing them all by hand (preferably mocking their completion).
Could anyone suggest a method in order to achieve this? Im not sure some of the API suggested in the docs is available because we are using the embedded Camunda engine.
Would it be possible to change the status’ of the tasks in the db using sql statements, in preparation of starting server/testing?
Updating tasks entity directly in db using scripts is not a good practice, which leads to data inconsistency and transactional issues.
Rather than this approach, I would suggest standard approach to handle/complete the tasks using Java API/Rest API to handle the tasks without any issues.
We would like to reuse our populated DB between perf-test runs as to mimic a production DB
If restoring the test context is not too time consuming, I would recreate the context before a new test run.
With this, it is no longer a Camunda issue but more of an automated test best practice.