From a4fd46fb369c29a90b5f98a95e287008fba0e25d Mon Sep 17 00:00:00 2001 From: Agent Date: Thu, 2 Apr 2026 13:12:43 +0000 Subject: [PATCH] fix: add missing GET collaborators handler to mock Forgejo --- tests/mock-forgejo.py | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/tests/mock-forgejo.py b/tests/mock-forgejo.py index 475eef2..03109d0 100755 --- a/tests/mock-forgejo.py +++ b/tests/mock-forgejo.py @@ -591,6 +591,27 @@ class ForgejoHandler(BaseHTTPRequestHandler): self.send_header("Content-Length", 0) self.end_headers() + def handle_GET_repos_owner_repo_collaborators_collaborator(self, query): + """GET /api/v1/repos/{owner}/{repo}/collaborators/{collaborator}""" + require_token(self) + + parts = self.path.split("/") + if len(parts) >= 8: + owner = parts[4] + repo = parts[5] + collaborator = parts[7] + else: + json_response(self, 404, {"message": "repository not found"}) + return + + key = f"{owner}/{repo}" + if key in state["collaborators"] and collaborator in state["collaborators"][key]: + self.send_response(204) + self.send_header("Content-Length", 0) + self.end_headers() + else: + json_response(self, 404, {"message": "collaborator not found"}) + def handle_404(self): """Return 404 for unknown routes.""" json_response(self, 404, {"message": "route not found"})