resolve conflicts for PR #467
This commit is contained in:
@@ -40,6 +40,12 @@ def _clean_master_git_state_for_lock():
|
||||
|
||||
|
||||
def _lock_record(**overrides):
|
||||
import issue_lock_provenance
|
||||
|
||||
work_lease = {
|
||||
"operation_type": "author_issue_work",
|
||||
"expires_at": "2999-01-01T00:00:00Z",
|
||||
}
|
||||
record = {
|
||||
"issue_number": 420,
|
||||
"branch_name": BRANCH,
|
||||
@@ -47,10 +53,11 @@ def _lock_record(**overrides):
|
||||
"org": "Scaled-Tech-Consulting",
|
||||
"repo": PRGS_REPO,
|
||||
"worktree_path": os.path.realpath(os.getcwd()),
|
||||
"work_lease": {
|
||||
"operation_type": "author_issue_work",
|
||||
"expires_at": "2999-01-01T00:00:00Z",
|
||||
},
|
||||
"work_lease": work_lease,
|
||||
"lock_provenance": issue_lock_provenance.build_sanctioned_lock_provenance(
|
||||
tool="gitea_lock_issue",
|
||||
claimant=work_lease.get("claimant"),
|
||||
),
|
||||
}
|
||||
record.update(overrides)
|
||||
return record
|
||||
@@ -84,11 +91,12 @@ class TestIssueLockRecovery(unittest.TestCase):
|
||||
)
|
||||
@patch("mcp_server.api_get_all")
|
||||
@patch("mcp_server.get_auth_header", return_value=FAKE_AUTH)
|
||||
def test_lock_recovery_after_restart_adopts_own_branch(self, _auth, mock_api, _git):
|
||||
mock_api.side_effect = [
|
||||
[],
|
||||
[{"name": BRANCH, "commit": {"id": "934688a"}}],
|
||||
]
|
||||
@patch(
|
||||
"mcp_server.issue_duplicate_context_fetcher",
|
||||
return_value=([], [], {"status": "not_claimed"}),
|
||||
)
|
||||
def test_lock_recovery_after_restart_adopts_own_branch(self, _dup_fetcher, _auth, mock_api, _git):
|
||||
mock_api.return_value = [{"name": BRANCH, "commit": {"id": "934688a"}}]
|
||||
env = {**ISSUE_WRITE_ENV, "GITEA_ISSUE_LOCK_DIR": self.lock_dir}
|
||||
with patch.dict(os.environ, env, clear=True):
|
||||
with patch("os.getpid", return_value=9999):
|
||||
@@ -141,16 +149,21 @@ class TestIssueLockRecovery(unittest.TestCase):
|
||||
)
|
||||
@patch("mcp_server.api_get_all")
|
||||
@patch("mcp_server.get_auth_header", return_value=FAKE_AUTH)
|
||||
def test_open_pr_blocks_recovery_lock(self, _auth, mock_api, _git):
|
||||
mock_api.side_effect = [
|
||||
[{"number": 99, "head": {"ref": BRANCH}, "title": "WIP", "body": ""}],
|
||||
[],
|
||||
]
|
||||
@patch(
|
||||
"mcp_server.issue_duplicate_context_fetcher",
|
||||
return_value=([{
|
||||
"number": 99,
|
||||
"head": {"ref": BRANCH},
|
||||
"title": "WIP",
|
||||
"body": "",
|
||||
}], [], {"status": "not_claimed"}),
|
||||
)
|
||||
def test_open_pr_blocks_recovery_lock(self, _dup_fetcher, _auth, mock_api, _git):
|
||||
env = {**ISSUE_WRITE_ENV, "GITEA_ISSUE_LOCK_DIR": self.lock_dir}
|
||||
with patch.dict(os.environ, env, clear=True):
|
||||
with self.assertRaises(ValueError) as ctx:
|
||||
gitea_lock_issue(issue_number=420, branch_name=BRANCH, remote="prgs")
|
||||
self.assertIn("already tied to an open PR", str(ctx.exception))
|
||||
self.assertIn("open PR #99 already covers issue", str(ctx.exception))
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
||||
Reference in New Issue
Block a user