chore(docs): record testcontainers decision for infrastructure tests - #210
Conversation
PR SummaryLow Risk Overview The ADR states that mocks, contract tests, and in-memory fakes stay the default; Testcontainers is only for cases where real infrastructure behavior (protocol, lifecycle, persistence, auth, cross-process integration, or regressions mocks cannot catch) must be asserted. It also defines fixture rules (dynamic ports, readiness, isolation, no manual Reviewed by Cursor Bugbot for commit 99300f6. Bugbot is set up for automated code reviews on this repo. Configure here. |
|
Warning Review limit reached
More reviews will be available in 6 minutes and 50 seconds. Learn how PR review limits work. Your organization has run out of usage credits. Purchase more in the billing tab. ⌛ How to resolve this issue?After more reviews become available, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available. Please see our Fair Usage Limits Policy for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (2)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com> Co-authored-by: Cursor <cursoragent@cursor.com>
883c0b0 to
99300f6
Compare
Brings in #207 (ADR taxonomy docs), #208 (derive error implementations via thiserror), #210 (testcontainers ADR). Conflict resolutions (converge to main's thiserror direction, keep platform functionality): - connect.rs: thiserror derive + keep AuthorizationViolation variant and platform's richer connect logic; MAX_RECONNECT_DELAY from crate::constants - lease_config_error.rs: thiserror derive, keep platform tests - verification_token.rs: thiserror derive; keep #[allow(dead_code)] on latest (lib/bin split makes it dead in the lib crate) - provision.rs: typed ProvisionError { source: Box<dyn Error> }, keep platform's create-and-update behavior Collateral fixes: - trogon-wasm-runtime: anyhow pin =1.0.98 -> workspace (=1.0.102) - acp-nats config.rs tests: AcpPrefixError is now an enum, match the variant Verified: cargo build --workspace, all workspace tests compile, affected crate tests pass, cargo clippy --workspace clean.
…210) Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
Brings in #207 (ADR taxonomy docs), #208 (derive error implementations via thiserror), #210 (testcontainers ADR). Conflict resolutions (converge to main's thiserror direction, keep platform functionality): - connect.rs: thiserror derive + keep AuthorizationViolation variant and platform's richer connect logic; MAX_RECONNECT_DELAY from crate::constants - lease_config_error.rs: thiserror derive, keep platform tests - verification_token.rs: thiserror derive; keep #[allow(dead_code)] on latest (lib/bin split makes it dead in the lib crate) - provision.rs: typed ProvisionError { source: Box<dyn Error> }, keep platform's create-and-update behavior Collateral fixes: - trogon-wasm-runtime: anyhow pin =1.0.98 -> workspace (=1.0.102) - acp-nats config.rs tests: AcpPrefixError is now an enum, match the variant Verified: cargo build --workspace, all workspace tests compile, affected crate tests pass, cargo clippy --workspace clean. Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
Summary
Infrastructure-backed tests currently depend on ad hoc Docker setup or shared local services, making results inconsistent across machines and CI. This ADR establishes a repeatable default so reviewers and contributors know when real infrastructure is required and when lighter test layers suffice.
Test plan
mise exec -- git diff --checkmise exec -- pnpm --dir docs docs:buildMade with Cursor