Skip to content

WiP testing#245

Draft
Yostra wants to merge 13 commits intov2from
test_server
Draft

WiP testing#245
Yostra wants to merge 13 commits intov2from
test_server

Conversation

@Yostra
Copy link
Copy Markdown
Collaborator

@Yostra Yostra commented Apr 4, 2026

Summary

Add a local, OpenAPI-driven Stripe list server (@stripe/sync-test-utils) so tests no longer depend on the remote rate-limited Stripe API. The server runs in-process against Postgres, implements list/retrieve for every endpoint discovered from the spec, and supports auth guards and fault injection.

Building the test infrastructure uncovered bugs in the production code:

  • List function sent unsupported params
  • starting_after and limit were sent to every endpoint regardless of whether the spec advertises them (e.g. reporting_report_types)
  • v2 created filters ignored
  • the source hardcoded supportsCreatedFilter: false for all v2 endpoints even when the spec declares created.
  • Sync errors silenced (service workflows marked pipelines as ready even when the sync had failed)

New tests:

test-server-all-api:
syncs every stream for every supported API version through the real engine

test-server-sync / test-sync-engine:
engine-level sync and state checkpoint tests with boundary tests and edge cases

test-e2e-network:
network disruption and fault injection: pauses Stripe/Postgres/Temporal containers mid-sync, injects auth failures and transient 500s, validates recovery and error propagation through the full service stack

Other changes

Docker / CI hygiene: containers auto-remove, volumes clean up on exit

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