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

+19
View File
@@ -179,3 +179,22 @@ func TestTeamFindSearchesTheOrganization(t *testing.T) {
require.EqualError(t, err, `organization "nope" not found`)
require.Equal(t, []string{"devops", "devops", "", "", "DEV", "DEV"}, queries)
}
func TestTeamEditSendsThePermissionBeforeTheUnits(t *testing.T) {
var bodies []map[string]any
client := newTestClient(t, http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
require.Equal(t, "/api/v1/teams/5", r.URL.Path)
if r.Method == http.MethodGet {
_, _ = w.Write([]byte(`{"id":5,"name":"devs","permission":"admin"}`))
return
}
bodies = append(bodies, requestJSON(t, r))
_, _ = w.Write([]byte(`{"id":5,"name":"devs","permission":"write"}`))
}))
permission := "write"
_, err := (Teams{Client: client}).Edit(context.Background(), 5, TeamOptions{Permission: &permission, Units: map[string]string{"repo.wiki": "read"}, ReplaceUnits: true})
require.NoError(t, err)
require.Len(t, bodies, 2)
require.Equal(t, map[string]any{"name": "devs", "permission": "write"}, bodies[0], "Gitea 28 keeps an admin team admin when one request sets both")
require.Equal(t, map[string]any{"repo.wiki": "read"}, bodies[1]["units_map"])
}