Create complex multi-point e2e tests
Overview
- Our current e2e test runs with a happy path using
sleepas a hacky way to handle a few events being added/deleted/updated. - It does not yet test killed processes, or any large amount of data.
Problem
- Our current CI E2E test uses
sleepas well as&to effectively run multiple processes, but it only tests the outcome of all of the events at the end by validate the state of the final consumer database.
Outcome
- We want to be able to run databases and siphon services independently and test Siphon at a large scale (1M+ rows).
- We should be able to test the initial snapshot when it is killed and then restarted successfully
Solution
There's a few potential ways to do this, and others we aren't aware of yet!
- Could we do this using our existing CI job YAML configuration? Maybe? Would this be too inflexible? Probably.
- Find another framework that's designed for this? Testcontainers? Some sort of load testing? (Someone mentioned locust)
- This is the first thing to figure out.