Address round-2 CodeRabbit test-quality findings#470
Conversation
All 7 findings from this round are valid; all fixed. Test-only — no production code changes (the production findings tracked in #469 are still unaddressed in this PR by design). - integrations.spec.ts: GET on the "should not exist" assertion now fails fast instead of returning [] when the API errors. Five POST-fixture sites now check `res.ok` via a small `expectFixtureOk` helper so a 4xx/5xx surfaces as "fixture creation failed" instead of cascading into a confusing UI failure. - settings.spec.ts: Log Level select-change test waits for the select to be enabled before calling selectOption — same SSE-delivery race the Hash Algorithm test had. - test_context.py: use the public PathPairsConfig.pairs property setter (which acquires the internal lock) instead of touching ._pairs. - test_active_scanner.py: drop the redundant trailing scanner.close() calls now that addCleanup handles the close path. Six sites — one cleanup mechanism instead of two. - test_web_app_job.py: drop the unused captured_status dict from the middleware logging test, and replace `log_ctx.output[0]` indexing with an `any(...)` scan over all captured lines so other loggers emitting first don't break the test. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
Warning Rate limit exceeded
To keep reviews running without waiting, you can enable usage-based add-on for your organization. This allows additional reviews beyond the hourly cap. Account admins can enable it under billing. ⌛ How to resolve this issue?After the wait time has elapsed, 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 have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Run ID: 📒 Files selected for processing (5)
✨ 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 |
Round-2 commit wrapped the new any(...) assertion across three lines; ruff format prefers it on one. No behavior change. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Second round of CodeRabbit findings on PR #467 (develop → master). All 7 findings verified against current code; all valid; all fixed. Test-only — production findings remain tracked in #469.
Acted on (7 of 7)
integrations.spec.ts:349-353!res.okinstead of returning[](which would always satisfy the "not found" check, masking real failures)integrations.spec.ts(5 sites)expectFixtureOkhelper so 4xx/5xx surfaces as\"fixture creation failed: …\"instead of cascading into a confusing UI assertion failuresettings.spec.ts:472-498toBeEnabled({ timeout: 10_000 })before callingselectOption— same SSE-delivery race the Hash Algorithm test hadtest_context.py:71-77ppc.pairs = [pair](public property setter, acquires the internal lock) instead of touchingppc._pairsdirectlytest_active_scanner.py(6 sites)scanner.close()calls now thataddCleanuphandles the close path. One cleanup mechanism instead of two.test_web_app_job.py:105-118captured_statusdict from the WSGI middleware logging test; simplifystart_responseto a no-optest_web_app_job.py:114-118log_ctx.output[0]indexing withany(...)over all captured lines so other loggers emitting first don't break the testValidation
python3 -m py_compilepageparam at unrelated line, WSGIstart_responsetyping for unrelated middleware test paths)What this is not
The 4 production-code findings tracked in #469 (handler error handling and persistence ordering) are still deferred to their own PRs — same rationale as last round.
🤖 Generated with Claude Code