Hi all,
we were working on automated e2e tests, especially to ease the manual testing effort of all the different components and algorithms within StreamPipes. Since we now have a single repository, it is also possible to run all the tests directly in GitHub actions. I prepared a workflow in [1] that builds StreamPipes and runs the tests. The tests are defined in [2]. For the naming convention I decided to use the suffix ‘.spec.ts’ for tests and ‘smoke.spec.ts’ for smoke tests. The main reason for this distinction is the time the tests require to execute, especially testing all the processors takes quite some time. Some tests only have a .ts suffix. They are not included into one of the test suites. The reason is that they require some third-party dependencies (e.g. mysql). Those tests can be triggered manually, but it must be ensured that the dependencies are running. Smoke tests (*.smoke.spec.ts) to early find bugs (e.g. on commit / on PR) All tests (*.spec.ts) running all e2e tests Manual tests (*.ts) must be triggered manually when running cypress locally My suggestion would be to run the smoke tests on each PR and have a workflow that runs all the tests once a day. What is your opinion on that? We can also discuss about the naming and which tests should be included in which test suite. You can run the test via npm locally [3] or use the provided workflow for GitHub actions Philipp [1] https://github.com/apache/incubator-streampipes/blob/dev/.github/workflows/cypress-test.yml [2] https://github.com/apache/incubator-streampipes/tree/dev/ui/cypress/tests [3] https://github.com/apache/incubator-streampipes/blob/dev/ui/package.json
