ci: run integration tests against live Tempo container, remove mocks#126
ci: run integration tests against live Tempo container, remove mocks#126brendanjryan wants to merge 2 commits intobrendan/chain-id-default-mainnetfrom
Conversation
Add integration job to CI that pulls the Tempo Docker image, starts the devnet + Redis via docker compose, and runs integration tests against the live node — matching the mppx pattern. Replace mock-based charge tests with integration tests: - Add 5 new integration tests (hash replay with/without store, store recording, tx not found, external ID) - Remove 5 mock tests from test_tempo.py now covered by integration - Delete test_stores_redis.py (all tests covered by test_stores_redis_integration.py with real Redis) Keep mock tests for error paths (expiry, payload validation, unknown credential type) and transport/protocol tests.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: a1a0efcc86
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| run: docker compose up -d --wait | ||
|
|
||
| - name: Run integration tests | ||
| run: uv run pytest -m integration -v --timeout=120 |
There was a problem hiding this comment.
Run Redis-marked integration tests in CI
The new integration job runs pytest -m integration, which excludes tests/test_stores_redis_integration.py because that file is marked redis (not integration) and uses skipif only on REDIS_URL (tests/test_stores_redis_integration.py:17-20). Since this commit also deletes tests/test_stores_redis.py, RedisStore behavior is no longer exercised in CI despite the changelog claiming those tests are covered, so regressions in RedisStore can now merge undetected.
Useful? React with 👍 / 👎.
Summary
Run integration tests against a real Tempo devnet + Redis in CI. Replace mock-based charge tests with integration tests.
Depends on #125
CI Changes
integrationjob that starts devnet + Redis viadocker compose up -d --wait, runspytest -m integrationci-gaterequired jobsTests Added (integration)
test_verify_hash_replay_rejected_with_storetest_verify_hash_replay_allowed_without_storetest_verify_hash_store_records_on_successtest_verify_hash_tx_not_foundtest_verify_external_id_propagatedTests Removed (mocks)
test_tempo.py(now covered by integration)test_stores_redis.pyentirely (all 8 tests covered bytest_stores_redis_integration.py)