Skip to content

ci: run integration tests against live Tempo container, remove mocks#126

Closed
brendanjryan wants to merge 2 commits intobrendan/chain-id-default-mainnetfrom
brendan/integration-tests-ci-v2
Closed

ci: run integration tests against live Tempo container, remove mocks#126
brendanjryan wants to merge 2 commits intobrendan/chain-id-default-mainnetfrom
brendan/integration-tests-ci-v2

Conversation

@brendanjryan
Copy link
Copy Markdown
Collaborator

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

  • Add integration job that starts devnet + Redis via docker compose up -d --wait, runs pytest -m integration
  • Added to ci-gate required jobs

Tests Added (integration)

  • test_verify_hash_replay_rejected_with_store
  • test_verify_hash_replay_allowed_without_store
  • test_verify_hash_store_records_on_success
  • test_verify_hash_tx_not_found
  • test_verify_external_id_propagated

Tests Removed (mocks)

  • 5 mock tests from test_tempo.py (now covered by integration)
  • Deleted test_stores_redis.py entirely (all 8 tests covered by test_stores_redis_integration.py)

brendanjryan and others added 2 commits April 19, 2026 12:29
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.
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 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".

Comment thread .github/workflows/ci.yml
run: docker compose up -d --wait

- name: Run integration tests
run: uv run pytest -m integration -v --timeout=120
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge 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 👍 / 👎.

@brendanjryan
Copy link
Copy Markdown
Collaborator Author

splitting this and refactoring in
#125
#123

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant