forgery: EnableRepoUnits with variadic args (and nil config)

This commit is contained in:
oliverpool 2026-05-28 11:49:04 +02:00
parent b506277d3e
commit d00b91a7a2
4 changed files with 36 additions and 5 deletions

View file

@ -187,8 +187,10 @@ func newRepo(t *testing.T, userID int64, repoName string, enabledUnits map[unit_
Files: forgery.FilesInit{},
})
if len(enabledUnits) == 0 {
forgery.EnableRepoUnit(t, somerepo, unit_model.TypeCode, nil)
forgery.EnableRepoUnit(t, somerepo, unit_model.TypeIssues, nil)
forgery.EnableRepoUnits(t, somerepo,
unit_model.TypeCode,
unit_model.TypeIssues,
)
}
for unit, config := range enabledUnits {
forgery.EnableRepoUnit(t, somerepo, unit, config)

View file

@ -118,7 +118,6 @@ func InitWiki(t testing.TB, repo *repo_model.Repository, branch string) {
require.NoError(t, err)
}
// config may be nil
func EnableRepoUnit(t testing.TB, repo *repo_model.Repository, unit unit_model.Type, config convert.Conversion) {
t.Helper()
@ -130,6 +129,36 @@ func EnableRepoUnit(t testing.TB, repo *repo_model.Repository, unit unit_model.T
require.NoError(t, err)
}
// to specify a non-default config, call [EnableRepoUnit] instead
func EnableRepoUnits(t testing.TB, repo *repo_model.Repository, units ...unit_model.Type) {
t.Helper()
ru := make([]repo_model.RepoUnit, 0, len(units))
for _, u := range units {
var config convert.Conversion
if u == unit_model.TypePullRequests { // pull request config is needed (otherwise no merge allowed by default)
config = &repo_model.PullRequestsConfig{
AllowMerge: true,
AllowRebase: true,
AllowRebaseMerge: true,
AllowSquash: true,
AllowFastForwardOnly: true,
AllowManualMerge: true,
AllowRebaseUpdate: true,
DefaultMergeStyle: repo_model.MergeStyleMerge,
DefaultUpdateStyle: repo_model.UpdateStyleMerge,
}
}
ru = append(ru, repo_model.RepoUnit{
RepoID: repo.ID,
Type: u,
Config: config,
})
}
err := repo_service.UpdateRepositoryUnits(t.Context(), repo, ru, nil)
require.NoError(t, err)
}
func DisableRepoUnits(t testing.TB, repo *repo_model.Repository, units ...unit_model.Type) {
t.Helper()

View file

@ -48,7 +48,7 @@ func TestActionGetTokenMetadata(t *testing.T) {
),
},
})
forgery.EnableRepoUnit(t, repo, unit_model.TypeActions, nil)
forgery.EnableRepoUnits(t, repo, unit_model.TypeActions)
gitRepo, err := gitrepo.OpenRepository(db.DefaultContext, repo)
require.NoError(t, err)

View file

@ -98,7 +98,7 @@ func doRepoWikiGitOperation(t *testing.T, serverURL *url.URL, method RepoWikiMet
privateRepo := forgery.CreateRepository(t, user2, &forgery.CreateRepositoryOptions{
IsPrivate: true,
})
forgery.EnableRepoUnit(t, privateRepo, unit_model.TypeWiki, nil)
forgery.EnableRepoUnits(t, privateRepo, unit_model.TypeWiki)
session := loginUser(t, user2.LoginName)
token := getTokenForLoggedInUser(t, session, auth_model.AccessTokenScopeWriteRepository)