diff --git a/tests/test_audit.py b/tests/test_audit.py index b233b15..321e05d 100644 --- a/tests/test_audit.py +++ b/tests/test_audit.py @@ -291,12 +291,15 @@ class TestGatedToolAudit(_AuditWiringBase): def setUp(self): super().setUp() - from mcp_server import init_review_decision_lock + from mcp_server import init_review_decision_lock, gitea_load_review_workflow from tests.test_mcp_server import _install_owned_reviewer_lease import reviewer_pr_lease + import review_workflow_load # init_review_decision_lock clears any prior session lease (#407). init_review_decision_lock("prgs", "review_pr") + gitea_load_review_workflow() + self.addCleanup(review_workflow_load.clear_review_workflow_load) self._lease_patch = _install_owned_reviewer_lease(8) self._lease_patch.start() self._auth_identity_patch = patch( diff --git a/tests/test_mcp_server.py b/tests/test_mcp_server.py index f557139..3e2e06b 100644 --- a/tests/test_mcp_server.py +++ b/tests/test_mcp_server.py @@ -1057,7 +1057,8 @@ class TestMergePR(unittest.TestCase): "GITEA_ALLOWED_OPERATIONS": "read,merge"} with patch.dict(os.environ, env, clear=True): r = gitea_merge_pr( - pr_number=8, confirmation=self._confirm(8), remote="prgs") + pr_number=8, confirmation=self._confirm(8), remote="prgs", + expected_head_sha=new_sha) self.assertFalse(r["performed"]) self.assertTrue(r.get("approval_visible")) self.assertFalse(r.get("approval_at_current_head")) diff --git a/tests/test_permission_reports.py b/tests/test_permission_reports.py index 279dc2b..c48a5c7 100644 --- a/tests/test_permission_reports.py +++ b/tests/test_permission_reports.py @@ -95,8 +95,12 @@ class PermissionReportBase(unittest.TestCase): self._dir = tempfile.TemporaryDirectory() self.config_path = os.path.join(self._dir.name, "profiles.json") self._write_config(CONFIG) + import review_workflow_load + review_workflow_load.record_review_workflow_load(mcp_server.PROJECT_ROOT) def tearDown(self): + import review_workflow_load + review_workflow_load.clear_review_workflow_load() self._remotes.stop() mcp_server._IDENTITY_CACHE.clear() gitea_config._active_profile_override = None diff --git a/tests/test_terminal_review_hard_stop.py b/tests/test_terminal_review_hard_stop.py index 4c65130..0dbcecb 100644 --- a/tests/test_terminal_review_hard_stop.py +++ b/tests/test_terminal_review_hard_stop.py @@ -36,9 +36,12 @@ def _lock(mutations=None, correction=False): def _seed(mutations=None, correction=False): + import review_workflow_load + review_workflow_load.record_review_workflow_load(mcp_server.PROJECT_ROOT) mcp_server._save_review_decision_lock(_lock(mutations, correction)) + APPROVED_A = {"pr_number": 5, "action": "approve", "review_id": 1, "review_state": "approve"} RC_A = {"pr_number": 5, "action": "request_changes", "review_id": 2, @@ -92,6 +95,8 @@ class TestTerminalHardStopReasons(unittest.TestCase): class TestMergeHardStopWiring(unittest.TestCase): def tearDown(self): + import review_workflow_load + review_workflow_load.clear_review_workflow_load() mcp_server._save_review_decision_lock(None) def test_merge_blocked_after_request_changes(self): @@ -113,6 +118,8 @@ class TestMergeHardStopWiring(unittest.TestCase): class TestMarkFinalHardStopWiring(unittest.TestCase): def tearDown(self): + import review_workflow_load + review_workflow_load.clear_review_workflow_load() mcp_server._save_review_decision_lock(None) def test_mark_ready_blocked_after_terminal_mutation(self): @@ -145,6 +152,8 @@ def _mark(action, pr_number=6, **kwargs): class TestDuplicateRequestChangesSuppression(unittest.TestCase): def tearDown(self): + import review_workflow_load + review_workflow_load.clear_review_workflow_load() mcp_server._save_review_decision_lock(None) def test_duplicate_request_changes_blocked_at_same_head(self):