nisse-review: one unlistable repository holds up no other
Found at bring-up: an empty private repository's /pulls answered 404, and intake stopped there, so the whole round failed and nothing was reviewed. A repository whose PRs can't be listed is now logged (intake.repo_failed) and skipped for the round; its items stay as they are. Also, from nisse-review's review of this PR: a two-page test pins the search listing the patterns rest on. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01J5Utyfzw7gF7UhjRDEtjTk
This commit is contained in:
1 parent
faf973be6c
commit
6e697b55a8
4 files changed
+43
-1
No files matched your search
@@ -375,6 +375,23 @@ def test_visible_repositories_read_the_search_and_a_404_is_not_found() -> None:
|
||||
gitea.repository("d/gone")
|
||||
|
||||
|
||||
def test_visible_repositories_page_through_the_search() -> None:
|
||||
# The patterns rest on the search listing everything (#154's review).
|
||||
asked: list[dict[str, str]] = []
|
||||
|
||||
def handler(request: httpx.Request) -> httpx.Response:
|
||||
asked.append(dict(request.url.params))
|
||||
page = int(request.url.params["page"])
|
||||
count = PR_PAGE_SIZE if page == 1 else 3
|
||||
data = [{"full_name": f"o/r{page}-{n}"} for n in range(count)]
|
||||
return httpx.Response(200, json={"ok": True, "data": data})
|
||||
|
||||
found = client(handler).visible_repositories()
|
||||
assert len(found) == PR_PAGE_SIZE + 3 and found[-1] == "o/r2-2"
|
||||
assert [a["page"] for a in asked] == ["1", "2"]
|
||||
assert all(a["limit"] == str(PR_PAGE_SIZE) for a in asked)
|
||||
|
||||
|
||||
def test_a_pull_request_carries_what_a_review_needs() -> None:
|
||||
def handler(request: httpx.Request) -> httpx.Response:
|
||||
if request.url.path.endswith(".diff"):
|
||||
|
||||
Reference in new issue
Block a user