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
+49 -13
View File
@@ -10,17 +10,17 @@ import (
"testing"
"time"
"code.gitea.io/gitea/models/auth"
"code.gitea.io/gitea/models/db"
"code.gitea.io/gitea/models/unittest"
user_model "code.gitea.io/gitea/models/user"
"code.gitea.io/gitea/modules/auth/password/hash"
"code.gitea.io/gitea/modules/container"
"code.gitea.io/gitea/modules/optional"
"code.gitea.io/gitea/modules/setting"
"code.gitea.io/gitea/modules/structs"
"code.gitea.io/gitea/modules/test"
"code.gitea.io/gitea/modules/timeutil"
"gitea.dev/models/auth"
"gitea.dev/models/db"
"gitea.dev/models/unittest"
user_model "gitea.dev/models/user"
"gitea.dev/modules/auth/password/hash"
"gitea.dev/modules/container"
"gitea.dev/modules/optional"
"gitea.dev/modules/setting"
"gitea.dev/modules/structs"
"gitea.dev/modules/test"
"gitea.dev/modules/timeutil"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
@@ -674,12 +674,18 @@ func TestGetInactiveUsers(t *testing.T) {
func TestCanCreateRepo(t *testing.T) {
defer test.MockVariableValue(&setting.Repository.MaxCreationLimit)()
defer test.MockVariableValue(&setting.Repository.UserMaxCreationLimit)()
defer test.MockVariableValue(&setting.Repository.OrgMaxCreationLimit)()
const noLimit = -1
doerActions := user_model.NewActionsUser()
doerNormal := &user_model.User{ID: 2}
doerAdmin := &user_model.User{ID: 1, IsAdmin: true}
orgOwner := func(numRepos, maxRepoCreation int) *user_model.User {
return &user_model.User{ID: 3, Type: user_model.UserTypeOrganization, NumRepos: numRepos, MaxRepoCreation: maxRepoCreation}
}
t.Run("NoGlobalLimit", func(t *testing.T) {
setting.Repository.MaxCreationLimit = noLimit
setting.Repository.UserMaxCreationLimit = noLimit
setting.Repository.OrgMaxCreationLimit = noLimit
assert.False(t, doerNormal.CanCreateRepoIn(&user_model.User{ID: 2, NumRepos: 10, MaxRepoCreation: 0}))
assert.True(t, doerNormal.CanCreateRepoIn(&user_model.User{ID: 2, NumRepos: 10, MaxRepoCreation: 100}))
@@ -693,7 +699,8 @@ func TestCanCreateRepo(t *testing.T) {
})
t.Run("GlobalLimit50", func(t *testing.T) {
setting.Repository.MaxCreationLimit = 50
setting.Repository.UserMaxCreationLimit = 50
setting.Repository.OrgMaxCreationLimit = 50
assert.True(t, doerNormal.CanCreateRepoIn(&user_model.User{ID: 2, NumRepos: 10, MaxRepoCreation: noLimit}))
assert.False(t, doerNormal.CanCreateRepoIn(&user_model.User{ID: 2, NumRepos: 60, MaxRepoCreation: noLimit})) // limited by global limit
@@ -707,4 +714,33 @@ func TestCanCreateRepo(t *testing.T) {
assert.True(t, doerAdmin.CanCreateRepoIn(&user_model.User{ID: 2, NumRepos: 10, MaxRepoCreation: 100}))
assert.True(t, doerAdmin.CanCreateRepoIn(&user_model.User{ID: 2, NumRepos: 60, MaxRepoCreation: 100}))
})
t.Run("UserBlockedOrgsUnlimited", func(t *testing.T) {
// User and org limits are independent: a deployment can block personal repos while leaving orgs unrestricted.
setting.Repository.UserMaxCreationLimit = 0
setting.Repository.OrgMaxCreationLimit = noLimit
// regular user is blocked
assert.False(t, doerNormal.CanCreateRepoIn(&user_model.User{ID: 2, NumRepos: 0, MaxRepoCreation: noLimit}))
// per-user override grants individual exceptions even when the global user limit is 0
assert.True(t, doerNormal.CanCreateRepoIn(&user_model.User{ID: 2, NumRepos: 3, MaxRepoCreation: 5}))
assert.False(t, doerNormal.CanCreateRepoIn(&user_model.User{ID: 2, NumRepos: 5, MaxRepoCreation: 5}))
// organization can create unlimited repos
assert.True(t, doerNormal.CanCreateRepoIn(orgOwner(10, noLimit)))
assert.True(t, doerNormal.CanCreateRepoIn(orgOwner(999, noLimit)))
// per-org override still wins over the global org limit
assert.False(t, doerNormal.CanCreateRepoIn(orgOwner(5, 5)))
})
t.Run("OrgGlobalLimitWithPerOrgOverride", func(t *testing.T) {
setting.Repository.UserMaxCreationLimit = noLimit
setting.Repository.OrgMaxCreationLimit = 10
assert.True(t, doerNormal.CanCreateRepoIn(orgOwner(5, noLimit)))
assert.False(t, doerNormal.CanCreateRepoIn(orgOwner(10, noLimit)))
// per-org override bypasses the global org limit
assert.True(t, doerNormal.CanCreateRepoIn(orgOwner(10, 100)))
})
}