Repository navigation
refactor(aws): use the shared purchase guard in the OpenSearch purchase path - #597
Conversation
|
Warning Review limit reached
This review includes 3 billable files and costs up to $0.75.
Reviews can continue after your included limit without a manual trigger. An admin must approve usage-based billing. Or wait 43 minutes for your next included review. View limit details
Comment |
…se path Replace the OpenSearch-local copy of the issue #641 idempotency guard and AlreadyExists recovery with purchaseguard.Guard and Recover, as ElastiCache already does (#507). The lookup and fault type stay service-specific. Add purchase_guard_test.go covering each guard rule at this path: no lookup without a token, lookup before purchase, fail-loud lookup error, and AlreadyExists recovery limits (re-lookup error or miss, no token, other purchase errors). Mocks are bounded with Test(t). Part of #10 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Gate note (claude-cc-libs)Rebased onto main after the overlapping PRs merged. The only conflict was CHANGELOG.md, resolved by keeping both entries. Excluding CHANGELOG.md, |
2e46838 to
e7e57b8
Compare
Merge gate verdict (claude-cc-libs)Every gate holds at head e7e57b8:
CodeRabbit is waived as a merge gate under the 2026-10-19 decision. Squash-merging. |
Summary
purchaseguard.Guardandpurchaseguard.Recoverinstead of its own copy of the issue #641 guard, mirroring ElastiCache (refactor(aws): share the purchase idempotency guard, starting with ElastiCache #507,providers/aws/services/elasticache/client.goidempotencyGuardandrecoverAlreadyExists).purchase_guard_test.gocovers each guard rule at this path with bounded mocks.Verification
go test -timeout 300s -count=1 ./..., golangci-lint (0 issues) and the git-secrets script, with and without GOWORK=off.Closes #10 (ElastiCache, RDS and MemoryDB landed in the sibling PRs)
🤖 Generated with Claude Code