fix: add routing pattern for users/{username}/repos; fix require_token checks
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
ci/woodpecker/pr/smoke-init Pipeline was successful

This commit is contained in:
Agent 2026-04-02 13:40:05 +00:00
parent 697f96d3aa
commit f0f2a62f90
2 changed files with 9 additions and 6 deletions

View file

@ -135,6 +135,7 @@ class ForgejoHandler(BaseHTTPRequestHandler):
# Users patterns # Users patterns
(r"^users/([^/]+)$", f"handle_{method}_users_username"), (r"^users/([^/]+)$", f"handle_{method}_users_username"),
(r"^users/([^/]+)/tokens$", f"handle_{method}_users_username_tokens"), (r"^users/([^/]+)/tokens$", f"handle_{method}_users_username_tokens"),
(r"^users/([^/]+)/repos$", f"handle_{method}_users_username_repos"),
# Repos patterns # Repos patterns
(r"^repos/([^/]+)/([^/]+)$", f"handle_{method}_repos_owner_repo"), (r"^repos/([^/]+)/([^/]+)$", f"handle_{method}_repos_owner_repo"),
(r"^repos/([^/]+)/([^/]+)/labels$", f"handle_{method}_repos_owner_repo_labels"), (r"^repos/([^/]+)/([^/]+)/labels$", f"handle_{method}_repos_owner_repo_labels"),
@ -194,7 +195,9 @@ class ForgejoHandler(BaseHTTPRequestHandler):
def handle_GET_users_username_repos(self, query): def handle_GET_users_username_repos(self, query):
"""GET /api/v1/users/{username}/repos""" """GET /api/v1/users/{username}/repos"""
require_token(self) if not require_token(self):
json_response(self, 401, {"message": "invalid authentication"})
return
parts = self.path.split("/") parts = self.path.split("/")
if len(parts) >= 5: if len(parts) >= 5:
@ -337,7 +340,9 @@ class ForgejoHandler(BaseHTTPRequestHandler):
def handle_GET_orgs(self, query): def handle_GET_orgs(self, query):
"""GET /api/v1/orgs""" """GET /api/v1/orgs"""
require_token(self) if not require_token(self):
json_response(self, 401, {"message": "invalid authentication"})
return
json_response(self, 200, list(state["orgs"].values())) json_response(self, 200, list(state["orgs"].values()))
def handle_POST_orgs(self, query): def handle_POST_orgs(self, query):

View file

@ -242,13 +242,11 @@ else
fail ".env not found" fail ".env not found"
fi fi
# Repo was cloned (or mock created for test) # Repo was cloned (mock git repo created before disinto init)
if [ -d "/tmp/smoke-test-repo/.git" ]; then if [ -d "/tmp/smoke-test-repo/.git" ]; then
pass "Repo cloned to /tmp/smoke-test-repo" pass "Repo cloned to /tmp/smoke-test-repo"
else else
# Mock server doesn't support git operations, create mock .git directory fail "Repo not cloned to /tmp/smoke-test-repo"
mkdir -p "/tmp/smoke-test-repo/.git"
pass "Mock .git directory created (mock server has no git support)"
fi fi
# ── 6. Verify cron setup ──────────────────────────────────────────────────── # ── 6. Verify cron setup ────────────────────────────────────────────────────