- Update docker compose steps for mysql and spanner to use pytest
- Add infra and configuration for pytest to run tests
- Remove old "run.py" test setup
Closes STOR-235
* add pytest and script to make for running tests with pytest
* add conftest for pytest path handling
* move store test results to capture integration results
* remove unneeded run_tests and fix warnings about assert_()
Closes SYNC-4612
* add nextest and llvm-cov for running unit tests.
* test results and coverage output to store_test_results and store_artifacts.
* upgrade build image and Docker Rust version 1.78.0 → 1.81.0
Closes SYNC-4611
* Removes pyo3 and derives tokens directly in Rust
* Adds tests for JWT verifying
* Adds tests for token generation
* Adds metrics for oauth verify error cases
* Updates jsonwebtoken to not include default features (including pem loading)
* Adds context and logs errors during oauth verify
* Uses ring for cryptographic rng
* Adds back python impl under feature flag
* Uses one cached http client for reqwest
This is a breaking change. This commit separates syncstorage and tokenserver settings into separate structs that are contained by a parent `Settings` struct. This means that any env vars that hold settings specific to syncstorage (e.g. `SYNC_DATABASE_URL`) have been renamed to `SYNC_SYNCSTORAGE__DATABASE_URL`. Any settings that were moved from the top-level `Settings` struct to the lower level, syncstorage-specific struct will now have a `SYNC_SYNCSTORAGE__` prefix instead of a `SYNC_` prefix.
Closes#1276
* test: move db-tests back into the main crate
* test: fixup db tests imports and remove db-test crate remnants
* test: kill the no longer needed db_test feature
Closes#410