test_replay_store.py 832 B

1234567891011121314151617181920212223242526
  1. from app.runner.ledger import InMemoryTaskLedger
  2. def test_a_token_can_be_claimed_only_once_and_keeps_bounded_outcome():
  3. ledger = InMemoryTaskLedger()
  4. binding = {
  5. "task_uid": "task-1",
  6. "node_id": "write_orders",
  7. "data_source_uid": "source-1",
  8. "idempotency_key": "orders:2026-07-19",
  9. }
  10. assert ledger.claim("jti-1", binding, expires_at=2_000) is True
  11. assert ledger.claim("jti-1", binding, expires_at=2_000) is False
  12. ledger.finish(
  13. "jti-1",
  14. status="success",
  15. commit_outcome="committed",
  16. safe_detail="3 rows affected",
  17. )
  18. record = ledger.get("jti-1")
  19. assert record.status == "success"
  20. assert record.commit_outcome == "committed"
  21. assert record.safe_detail == "3 rows affected"
  22. assert "password" not in repr(record).lower()