Skip to content

Retro compatibilty suite#138

Closed
klaidliadon wants to merge 7 commits intomasterfrom
retro-test
Closed

Retro compatibilty suite#138
klaidliadon wants to merge 7 commits intomasterfrom
retro-test

Conversation

@klaidliadon
Copy link
Copy Markdown
Contributor

This PR adds a retro compatibility test suite that provides a server that uses in memory storage and various clients with different versions.

Current implementation only includes the latest version.

@klaidliadon klaidliadon marked this pull request as draft March 19, 2026 16:37
@klaidliadon
Copy link
Copy Markdown
Contributor Author

Superseded by #147, which builds on the same idea but with key improvements:

  • Actually tests an older release: includes a v0.23.3 pinned client (separate Go module, GOWORK=off) that exercises the legacy middleware chain against the current server — proving wire compatibility across the type renames
  • Measures usage deltas instead of absolute values, so clients run sequentially without interference
  • mock.NewServer Options pattern (RedisClient, Logger) allows sharing a real Redis between server and test harness without miniredis
  • CI workflow (.github/workflows/retro.yml) runs both clients end-to-end with Redis service container
  • Stacked on the v2 branch (refactor(quota-v2): type renames #144feat(quota-v2): server plumbing #145feat(quota-v2): cache middleware #146feat(quota-v2): retro compat #147), so it validates the actual v2 changes rather than master

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