sozu/e2e/README.md

39 lines
1.1 KiB
Markdown

# End to end tests
We want to check Sōzu's behavior in all corner cases for the CI.
## Principles
This crate contains thin wrappers around the Sōzu lib, that create:
- a Sōzu worker with a very simple config, able to run a detached thread
- mocked clients that send simple HTTP requests
- mocked backends, sync and async, that reply dummy 200 OK responses (for instance)
This crate provides the `Aggregator` trait, that allows to create simple aggregators.
The aggregators keep track, for instance, of how many requests were received,
and how many were sent, by a backend (just an example).
These elements are instantiated in test functions. They aim at both normal behaviour
(traffic passthrough) but also tackle corner cases, such as:
- smooth soft stop
- immediate hard stop
- behaviour of the zombie checker
- reconnection to a backend
# How to run
The tests are flagged with the usual macros, so they will run with all other tests when you do:
cargo test
You can run just one test using
cargo test test_issue_810_timeout
If you want to run all e2e tests at once, do:
cd e2e
cargo test