Files
sousa-gecko/third_party/application-services/testing/sync-test

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.