Skip to content

Commit c054476

Browse files
committed
test: align reviewer-bot projection contract fixtures
1 parent 8e0ab5c commit c054476

4 files changed

Lines changed: 40 additions & 24 deletions

File tree

tests/integration/reviewer_bot/test_app_execution.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -732,7 +732,7 @@ def test_bootstrapped_runtime_pr_metadata_closed_executes_real_status_label_proj
732732
assert runtime.ACTIVE_LEASE_CONTEXT is None
733733

734734

735-
def test_bootstrapped_runtime_workflow_dispatch_repair_status_labels_uses_real_projection_path(monkeypatch):
735+
def test_bootstrapped_runtime_workflow_dispatch_repair_status_labels_uses_real_projection_path(monkeypatch, tmp_path):
736736
state = make_state()
737737
runtime, label_ops = _configure_bootstrapped_runtime_with_real_status_projection(
738738
monkeypatch, state, issue_state="open"
@@ -741,11 +741,17 @@ def test_bootstrapped_runtime_workflow_dispatch_repair_status_labels_uses_real_p
741741
monkeypatch.setenv("EVENT_NAME", "workflow_dispatch")
742742
monkeypatch.setenv("EVENT_ACTION", "")
743743
monkeypatch.setenv("MANUAL_ACTION", "repair-review-status-labels")
744+
monkeypatch.setenv("VALIDATION_NONCE", "repair-nonce")
745+
monkeypatch.setenv("GITHUB_REPOSITORY", "rustfoundation/safety-critical-rust-coding-guidelines")
746+
monkeypatch.setenv("GITHUB_RUN_ID", "9001")
747+
monkeypatch.setenv("GITHUB_RUN_ATTEMPT", "1")
748+
monkeypatch.setenv("GITHUB_SHA", "workflow-head")
749+
monkeypatch.setenv("REPAIR_SUMMARY_PATH", str(tmp_path / "repair-summary.json"))
744750

745751
result = reviewer_bot.execute_run(reviewer_bot.build_event_context(runtime), runtime)
746752

747753
assert result.exit_code == 0
748-
assert result.state_changed is True
754+
assert result.state_changed is False
749755
assert label_ops == [("remove", STATUS_AWAITING_REVIEWER_RESPONSE_LABEL)]
750756
assert runtime.ACTIVE_LEASE_CONTEXT is None
751757

tests/integration/reviewer_bot/test_app_reviewer_board_preview.py

Lines changed: 29 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -180,6 +180,9 @@ def test_execute_run_preview_reviewer_board_keeps_pr264_alternate_approval_proje
180180
ISSUE_NUMBER=264,
181181
VALIDATION_NONCE="board-preview-pr264",
182182
GITHUB_SHA="workflow-head",
183+
GITHUB_REPOSITORY="rustfoundation/safety-critical-rust-coding-guidelines",
184+
GITHUB_RUN_ID="1004",
185+
GITHUB_RUN_ATTEMPT="1",
183186
)
184187
monkeypatch.setattr(harness.runtime, "_reviewer_board_project_metadata", None, raising=False)
185188

@@ -233,24 +236,29 @@ def test_execute_run_preview_reviewer_board_keeps_pr264_alternate_approval_proje
233236

234237
assert result.exit_code == 0
235238
payload = json.loads(capsys.readouterr().out)
236-
assert payload == {
237-
"schema_version": 1,
238-
"preview_action": "preview-reviewer-board",
239-
"issue_number": 264,
240-
"validation_nonce": "board-preview-pr264",
241-
"head_sha": "workflow-head",
242-
"workflow_path": ".github/workflows/reviewer-bot-preview.yml",
243-
"response_state": "reviewer_reassignment_needed",
244-
"reviewer_authority_outcome": "tracked_reviewer_confirmed",
245-
"suppression_reason": "transition_notice_sent",
246-
"current_scope_key": "reviewer=iglesias|head=head-live|cycle=2026-02-10T17:20:07Z|anchor=2026-02-10T17:20:07Z",
247-
"current_scope_basis": "active_cycle_started_at",
248-
"would_post_warning": False,
249-
"would_post_transition": False,
250-
"lock_attempted": False,
251-
"state_save_attempted": False,
252-
"tracked_state_mutations_attempted": False,
253-
"touched_projection_attempted": False,
254-
"board_attention": "Transition Notice Sent",
255-
"board_waiting_since": "2026-02-10",
256-
}
239+
assert payload["schema_version"] == 1
240+
assert payload["preview_action"] == "preview-reviewer-board"
241+
assert payload["issue_number"] == 264
242+
assert payload["validation_nonce"] == "board-preview-pr264"
243+
assert payload["evaluated_repo"] == "rustfoundation/safety-critical-rust-coding-guidelines"
244+
assert payload["head_sha"] == "workflow-head"
245+
assert payload["evaluated_ref"] == "workflow-head"
246+
assert payload["workflow_path"] == ".github/workflows/reviewer-bot-preview.yml"
247+
assert payload["run_id"] == "1004"
248+
assert payload["run_attempt"] == "1"
249+
assert payload["artifact_name"] == "reviewer-bot-preview-output-1004-attempt-1"
250+
assert payload["artifact_file"] == "preview-output.json"
251+
assert payload["response_state"] == "reviewer_reassignment_needed"
252+
assert payload["reviewer_authority_outcome"] == "tracked_reviewer_confirmed"
253+
assert payload["suppression_reason"] == "transition_notice_sent"
254+
assert payload["current_scope_key"] == "reviewer=iglesias|head=head-live|cycle=2026-02-10T17:20:07Z|anchor=2026-02-10T17:20:07Z"
255+
assert payload["current_scope_basis"] == "reminder_cadence_exhausted"
256+
assert payload["would_post_warning"] is False
257+
assert payload["would_post_transition"] is False
258+
assert payload["lock_attempted"] is False
259+
assert payload["state_save_attempted"] is False
260+
assert payload["tracked_state_mutations_attempted"] is False
261+
assert payload["touched_projection_attempted"] is False
262+
assert payload["board_attention"] == "Transition Notice Sent"
263+
assert payload["board_waiting_since"] == "2026-02-10"
264+
assert payload["output_keys"] == sorted(payload.keys())

tests/unit/reviewer_bot/test_project_board.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,11 +26,12 @@
2626
review_payload,
2727
valid_reviewer_board_metadata,
2828
)
29-
from tests.fixtures.reviewer_bot_fakes import RouteGitHubApi
29+
from tests.fixtures.reviewer_bot_fakes import RouteGitHubApi, github_result
3030

3131

3232
def _runtime(monkeypatch, routes=None):
3333
runtime = FakeReviewerBotRuntime(monkeypatch)
34+
runtime.github.get_issue_assignees_result = lambda issue_number, is_pull_request=None: github_result(200, [])
3435
if routes is not None:
3536
runtime.github.stub(routes)
3637
return runtime

tests/unit/reviewer_bot/test_reviews_live_fetch.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
def _runtime(monkeypatch, routes=None):
2424
runtime = FakeReviewerBotRuntime(monkeypatch)
2525
runtime.github.get_issue_or_pr_snapshot = lambda issue_number: issue_snapshot(issue_number, state="open", is_pull_request=True)
26+
runtime.github.get_issue_assignees_result = lambda issue_number, is_pull_request=None: github_result(200, [])
2627
runtime.github.get_user_permission_status = lambda username, required_permission="push": "granted"
2728
if routes is not None:
2829
runtime.github.stub(routes)

0 commit comments

Comments
 (0)