application-services/testing/sync-test
Lina Butler 5d0ad19431 all: Add `#[allow(dead_code)]` exemptions to prepare for Rust 1.79.0. 2024-07-11 00:03:23 +00:00
..
src all: Add `#[allow(dead_code)]` exemptions to prepare for Rust 1.79.0. 2024-07-11 00:03:23 +00:00
Cargo.toml Update a number of crate package versions. 2024-02-06 15:43:45 +00:00
README.md Remove old node references from sync-test test code 2020-09-11 10:45:13 +10:00

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.

Adding tests

For each datatype managed by sync, there should be a suite of corresponding tests. To add some:

  1. In auth.rs, add support your sync engine to the TestClient struct.
  2. Create a file ./src/<datatype>.rs to hold the tests; logins.rs may provide a useful example.
  3. Create a test_<name> function for each scenario you want to exercise. The function should take two TestClient instances as arguments, and use them to drive a simulated sync between two clients.
  4. Define a get_test_group() function that returns your test scenarios in a TestGroup struct.
  5. Add your test group to the main function defined in main.rs for execution.