feat: update gitea vendor
runner nix smoke / nix label and flake smoke (push) Failing after 1m28s

This commit is contained in:
2026-09-26 21:18:24 +00:00
parent c439c1b948
commit d9b2a4e787
3538 changed files with 116131 additions and 44340 deletions
@@ -9,16 +9,19 @@ import (
"strings"
"testing"
auth_model "code.gitea.io/gitea/models/auth"
"code.gitea.io/gitea/models/db"
"code.gitea.io/gitea/models/organization"
"code.gitea.io/gitea/models/perm"
"code.gitea.io/gitea/models/unit"
"code.gitea.io/gitea/models/unittest"
user_model "code.gitea.io/gitea/models/user"
api "code.gitea.io/gitea/modules/structs"
"code.gitea.io/gitea/tests"
auth_model "gitea.dev/models/auth"
"gitea.dev/models/db"
"gitea.dev/models/organization"
"gitea.dev/models/perm"
"gitea.dev/models/unit"
"gitea.dev/models/unittest"
user_model "gitea.dev/models/user"
"gitea.dev/modules/setting"
api "gitea.dev/modules/structs"
"gitea.dev/modules/test"
"gitea.dev/tests"
"github.com/PuerkitoBio/goquery"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
@@ -31,6 +34,7 @@ func TestOrg(t *testing.T) {
t.Run("OrgMembers", testOrgMembers)
t.Run("OrgRestrictedUser", testOrgRestrictedUser)
t.Run("TeamSearch", testTeamSearch)
t.Run("TeamsPage", testTeamsPage)
t.Run("OrgSettings", testOrgSettings)
}
@@ -178,11 +182,9 @@ func testOrgRestrictedUser(t *testing.T) {
req = NewRequestWithJSON(t, "POST", fmt.Sprintf("/api/v1/orgs/%s/teams", orgName), teamToCreate).
AddTokenAuth(token)
var apiTeam api.Team
resp := adminSession.MakeRequest(t, req, http.StatusCreated)
DecodeJSON(t, resp, &apiTeam)
checkTeamResponse(t, "CreateTeam_codereader", &apiTeam, teamToCreate.Name, teamToCreate.Description, teamToCreate.IncludesAllRepositories,
apiTeam := DecodeJSON(t, resp, &api.Team{})
checkTeamResponse(t, "CreateTeam_codereader", apiTeam, teamToCreate.Name, teamToCreate.Description, teamToCreate.IncludesAllRepositories,
"none", teamToCreate.Units, nil)
checkTeamBean(t, apiTeam.ID, teamToCreate.Name, teamToCreate.Description, teamToCreate.IncludesAllRepositories,
"none", teamToCreate.Units, nil)
@@ -205,12 +207,10 @@ func testTeamSearch(t *testing.T) {
user := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 15})
org := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 17})
var results TeamSearchResults
session := loginUser(t, user.Name)
req := NewRequestf(t, "GET", "/org/%s/teams/-/search?q=%s", org.Name, "_team")
resp := session.MakeRequest(t, req, http.StatusOK)
DecodeJSON(t, resp, &results)
results := DecodeJSON(t, resp, &TeamSearchResults{})
assert.NotEmpty(t, results.Data)
assert.Len(t, results.Data, 2)
assert.Equal(t, "review_team", results.Data[0].Name)
@@ -251,6 +251,67 @@ func testTeamSearch(t *testing.T) {
})
}
func testTeamsPage(t *testing.T) {
// org17 has three teams in fixtures: Owners (id 5), test_team (id 8), review_team (id 9).
// user15 is in Owners; user20 is in review_team only; user5 is not a member.
org := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 17})
listTeams := func(t *testing.T, session *TestSession, query string) []string {
req := NewRequestf(t, "GET", "/org/%s/teams%s", org.Name, query)
resp := session.MakeRequest(t, req, http.StatusOK)
htmlDoc := NewHTMLParser(t, resp.Body)
sel := htmlDoc.doc.Find(".ui.top.attached.header strong")
names := make([]string, 0, sel.Length())
sel.Each(func(_ int, s *goquery.Selection) {
names = append(names, s.Text())
})
return names
}
// Owner sees all teams, "Owners" sorted first regardless of alphabetical order
ownerSession := loginUser(t, "user15")
assert.Equal(t, []string{"Owners", "review_team", "test_team"}, listTeams(t, ownerSession, ""))
// Keyword filter narrows by name
assert.Equal(t, []string{"review_team"}, listTeams(t, ownerSession, "?q=review"))
// Non-admin org member sees only the teams they belong to
memberSession := loginUser(t, "user20")
assert.Equal(t, []string{"review_team"}, listTeams(t, memberSession, ""))
// Edit review_team so user20 gets full list
reviewTeam := unittest.AssertExistsAndLoadBean(t, &organization.Team{ID: 9})
req := NewRequestWithValues(t, "POST", fmt.Sprintf("/org/%s/teams/%s/edit", org.Name, reviewTeam.Name), map[string]string{
"team_name": reviewTeam.Name,
"description": reviewTeam.Description,
"repo_access": "all",
"permission": "admin",
"unit_1": "1",
"unit_2": "1",
"unit_3": "1",
"unit_4": "1",
"unit_5": "1",
"unit_6": "1",
"unit_7": "1",
"unit_8": "1",
"unit_9": "1",
"unit_10": "1",
})
ownerSession.MakeRequest(t, req, http.StatusSeeOther)
assert.Equal(t, []string{"Owners", "review_team", "test_team"}, listTeams(t, memberSession, ""))
// Non-member is denied
nonMemberSession := loginUser(t, "user5")
req = NewRequestf(t, "GET", "/org/%s/teams", org.Name)
nonMemberSession.MakeRequest(t, req, http.StatusNotFound)
t.Run("Pagination", func(t *testing.T) {
defer test.MockVariableValue(&setting.UI.MembersPagingNum, 2)()
assert.Len(t, listTeams(t, ownerSession, "?page=1"), 2)
assert.Equal(t, []string{"test_team"}, listTeams(t, ownerSession, "?page=2"))
})
}
func testOrgSettings(t *testing.T) {
session := loginUser(t, "user2")