Skip to content

fix(ci): initialize the shared scanner response fixture - #642

Open
hyperpolymath wants to merge 2 commits into
mainfrom
fix/idris-dependent-fixture-20261104
Open

hyperpolymath wants to merge 2 commits into
mainfrom
fix/idris-dependent-fixture-20261104

Conversation

@hyperpolymath

@hyperpolymath hyperpolymath commented Nov 4, 2026 •

Copy link
Copy Markdown
Owner

Problem

The shared Idris dependent scanner test fixture no longer initializes Mock.responses. Rust rejects the integration test with E0063 at tests/scan_tests.rs:352, so all-target compilation and the following tests cannot run. The same defect is present on current main and blocks dependency PRs #633–#637.

Actual failure: job 124701176251, with the same current-main failure in job 124813337915.

Change

Initialize the existing response override map with BTreeMap::new() in ready_mock. This is one source line; the real transport, assertions, dependency locks and vendored bot sources are unchanged.

Verification

The source and exact Git blob were inspected, and the one-line diff was read back. No local Rust execution is claimed. The existing idris-dependents hosted matrix must qualify this revision using its locked all-target build, tests, Clippy and formatting gates.

The older E2E closure defect has a separate fix already on main (#639). Echidnabot's vendored source pin, existing governance/security findings and dependency updates need their own verified dispositions; this PR does not suppress them.

Summary by CodeRabbit

  • Tests
    • Updated automated test setup to allow tests to provide custom mock responses while retaining the existing default mock behavior. This change affects test coverage and does not alter functionality available in the application.

Hosted follow-up

The da53 hosted locked build passed the original missing-field failure, then the existing edge-case suite exposed two stale assertions in job126927683205/run41931039453. Current412bcad784dd16193475a09ecfa614147dc6fa51 keeps hard-error rejection by using HTTP500 for that fixture (404 is intentionally recorded as a skipped URL), and includes the already public skippedUrls field in the exact JSON assertion. Existing scan_tests already exercises both raw paths for skipped404/410/451 and hard401/403/422/429/500/503; production behavior is unchanged.

Current412 requires its own full hosted result. Separate governance failures—canonical action allowlist, retained Python audit/test implementations and the older scanner/native-lock contract—remain open and are not waived by this test repair. The vendored Echidnabot dependency PR also needs its upstream source closure resolved independently.

The common test fixture omitted Mock.responses, preventing the existing all-target build from compiling scan_tests. Initialize the override map empty while retaining the ready rate-limit state and every existing assertion.

The existing Rust matrix supplies build, test, Clippy and formatting qualification; no new runtime pass is claimed.
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Nov 4, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-11-04T23:08:16.425596Z da53d54 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@coderabbitai

coderabbitai Bot commented Nov 4, 2026 •

Copy link
Copy Markdown
Contributor

Explain Change →

Warning

Review limit reached

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Next included review available in 48 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

Learn how review limits work.

Review configuration:

Run configuration
Commits

Reviewing files that changed from the base of the PR and between da53d54 and 412bcad.

Files selected for processing: 1
  • idris-dependents/tests/scan_edge_tests.rs

No actionable comments were generated in the recent review.

Walkthrough

The ready_mock test helper now initializes the mock’s responses map as empty.

Changes: Mock response initialization

Layer / File(s) Summary
Initialize response overrides
idris-dependents/tests/scan_tests.rs
ready_mock initializes the responses map as empty. This allows tests to use the response-override field with the helper.

Estimated code review effort: 1 (Trivial) | ~3 minutes

Change: Bug fix · Severity of issue fixed: Low

Possibly related PRs

Merge Risk: Minimal · previous review da53d

No actionable merge-blocking risk remains.

Pre-merge checks: Passed 5
Check name Status Explanation
Description Check Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check Passed The title "fix(ci): initialize the shared scanner response fixture" matches the change. The diff adds one line that initializes the mock's responses map as an empty BTreeMap in ready_mock, which…
Docstring Coverage Passed No eligible functions found in the changed files. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff with cyclomatic complexity of at least 2. Documentat…
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Full details: Title check

Explanation

The title "fix(ci): initialize the shared scanner response fixture" matches the change. The diff adds one line that initializes the mock's responses map as an empty BTreeMap in ready_mock, which fixes the missing field error (E0063) that blocked the all-target build of tests/scan_tests.rs. The title names the main change and the affected fixture. It is specific and concise, and it does not list files or use vague wording.

Full details: Docstring Coverage

Explanation

No eligible functions found in the changed files. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff with cyclomatic complexity of at least 2. Documentation-only edits and deletions within surviving functions are included; unchanged diff context and fully deleted functions are excluded. Analyzed 0 functions across 1 files.

Finishing Touches
Generate docstrings
  • Commit to this branch
  • Create a new PR
Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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.

Share
Recent review info
Run configuration
Commits

Reviewing files that changed from the base of the PR and between 64ebfbe and da53d54.

Files selected for processing: 1
  • idris-dependents/tests/scan_tests.rs

Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review.

Use HTTP 500 for the existing fatal raw-response control; documented
404/410/451 behavior is already covered by both-fetch-path controls.
Include the existing skippedUrls field in the exact serialized report.

Repairs the two assertions exposed after E0063 was fixed in hosted job
126927683205. No production behavior changes or local test pass claimed.
@sonarqubecloud

sonarqubecloud Bot commented Nov 4, 2026

Copy link
Copy Markdown

This branch has not been deployed

No deployments
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