76d108d55a | ||
---|---|---|
.. | ||
helper | ||
src | ||
Cargo.toml | ||
README.md |
README.md
End-to-End Tests for Sync
This package implements "end-to-end" integration tests for syncing various data types - two clients using a real live account and a real live sync server, exchanging data and asserting that the exchange works as intended.
Running the tests
Run the tests using cargo run
.
Use cargo run -- --help
to see the available options.
Running the tests currently requires nodejs, in order to drive a headless browser. There is an open issue to investigate how to remove this dependency.
Adding tests
For each datatype managed by sync, there should be a suite of corresponding tests. To add some:
- In
auth.rs
, add support your sync engine to theTestClient
struct. - Create a file
./src/<datatype>.rs
to hold the tests;logins.rs
may provide a useful example. - Create a
test_<name>
function for each scenario you want to exercise. The function should take twoTestClient
instances as arguments, and use them to drive a simulated sync between two clients. - Define a
get_test_group()
function that returns your test scenarios in aTestGroup
struct. - Add your test group to the
main
function defined inmain.rs
for execution.