fix: send a team's permission before its units (Gitea 28), hidden private-org team reviews, long non-ASCII repo descriptions, -R NAME vs directory guard, flake fallback

Signed-off-by: bircni <bircni@icloud.com>
This commit is contained in:
bircni committed 2026-10-18 21:30:21 +02:00
1 parent 33f3ff10b6
commit 757b5fa1b9
12 files changed
+150 -8

No files matched your search

+22
View File
@@ -95,3 +95,25 @@ func TestUnknownReviewerTeamRejectsBeforeUserRemoval(t *testing.T) {
_, err := (Reviews{Client: transport.New(server.URL, "", false), Repository: "owner/repo"}).ChangeRequests(context.Background(), 1, changes)
require.ErrorContains(t, err, `team "missing" is unavailable`)
}
func TestReviewerTeamCheckSkippedForAHiddenPrivateOrganization(t *testing.T) {
var posted bool
server := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
switch {
case r.URL.Path == "/api/v1/orgs/owner" || r.URL.Path == "/api/v1/users/owner":
w.WriteHeader(http.StatusNotFound)
_, _ = w.Write([]byte(`{"message":"GetUserByName"}`))
case r.Method == http.MethodPost && r.URL.Path == "/api/v1/repos/owner/repo/pulls/1/requested_reviewers":
posted = true
w.WriteHeader(http.StatusCreated)
_, _ = w.Write([]byte(`[]`))
default:
_, _ = w.Write([]byte(`{"number":1}`))
}
}))
defer server.Close()
changes := ReviewRequestChanges{Add: ReviewRequestInput{Teams: []string{"devs"}}}
_, err := (Reviews{Client: transport.New(server.URL, "", false), Repository: "owner/repo"}).ChangeRequests(context.Background(), 1, changes)
require.NoError(t, err)
require.True(t, posted, "a non-member cannot see the organization, so the server decides")
}