From 2d475af49484bd428018e479fa35643f61a30426 Mon Sep 17 00:00:00 2001 From: Gergely Nagy Date: Fri, 12 Jan 2024 11:53:14 +0100 Subject: [PATCH] tests: Convert more tests to CreateDeclarativeRepo These tests originate from Gitea, so may cause conflicts in the longer run. But they use the same pattern, so transitioning them to the helper is hopefully a benefit that offsets the risk. Signed-off-by: Gergely Nagy --- tests/integration/actions_trigger_test.go | 71 +++-------------------- tests/integration/pull_merge_test.go | 14 +---- tests/integration/pull_update_test.go | 20 ++----- 3 files changed, 17 insertions(+), 88 deletions(-) diff --git a/tests/integration/actions_trigger_test.go b/tests/integration/actions_trigger_test.go index 684b93ed1d..5bcb39fcd5 100644 --- a/tests/integration/actions_trigger_test.go +++ b/tests/integration/actions_trigger_test.go @@ -11,9 +11,7 @@ import ( "time" actions_model "code.gitea.io/gitea/models/actions" - "code.gitea.io/gitea/models/db" issues_model "code.gitea.io/gitea/models/issues" - repo_model "code.gitea.io/gitea/models/repo" unit_model "code.gitea.io/gitea/models/unit" "code.gitea.io/gitea/models/unittest" user_model "code.gitea.io/gitea/models/user" @@ -33,25 +31,10 @@ func TestPullRequestTargetEvent(t *testing.T) { org3 := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 3}) // owner of the forked repo // create the base repo - baseRepo, err := repo_service.CreateRepository(db.DefaultContext, user2, user2, repo_service.CreateRepoOptions{ - Name: "repo-pull-request-target", - Description: "test pull-request-target event", - AutoInit: true, - Gitignores: "Go", - License: "MIT", - Readme: "Default", - DefaultBranch: "main", - IsPrivate: false, - }) - assert.NoError(t, err) - assert.NotEmpty(t, baseRepo) - - // enable actions - err = repo_model.UpdateRepositoryUnits(db.DefaultContext, baseRepo, []repo_model.RepoUnit{{ - RepoID: baseRepo.ID, - Type: unit_model.TypeActions, - }}, nil) - assert.NoError(t, err) + baseRepo, _, f := CreateDeclarativeRepo(t, user2, "repo-pull-request-target", + []unit_model.Type{unit_model.TypeActions}, nil, nil, + ) + defer f() // create the forked repo forkedRepo, err := repo_service.ForkRepository(git.DefaultContext, user2, org3, repo_service.ForkRepoOptions{ @@ -202,53 +185,17 @@ func TestSkipCI(t *testing.T) { user2 := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 2}) // create the repo - repo, err := repo_service.CreateRepository(db.DefaultContext, user2, user2, repo_service.CreateRepoOptions{ - Name: "skip-ci", - Description: "test skip ci functionality", - AutoInit: true, - Gitignores: "Go", - License: "MIT", - Readme: "Default", - DefaultBranch: "main", - IsPrivate: false, - }) - assert.NoError(t, err) - assert.NotEmpty(t, repo) - - // enable actions - err = repo_model.UpdateRepositoryUnits(db.DefaultContext, repo, []repo_model.RepoUnit{{ - RepoID: repo.ID, - Type: unit_model.TypeActions, - }}, nil) - assert.NoError(t, err) - - // add workflow file to the repo - addWorkflowToBaseResp, err := files_service.ChangeRepoFiles(git.DefaultContext, repo, user2, &files_service.ChangeRepoFilesOptions{ - Files: []*files_service.ChangeRepoFile{ + repo, _, f := CreateDeclarativeRepo(t, user2, "skip-ci", + []unit_model.Type{unit_model.TypeActions}, nil, + []*files_service.ChangeRepoFile{ { Operation: "create", TreePath: ".gitea/workflows/pr.yml", ContentReader: strings.NewReader("name: test\non:\n push:\njobs:\n test:\n runs-on: ubuntu-latest\n steps:\n - run: echo helloworld\n"), }, }, - Message: "add workflow", - OldBranch: "main", - NewBranch: "main", - Author: &files_service.IdentityOptions{ - Name: user2.Name, - Email: user2.Email, - }, - Committer: &files_service.IdentityOptions{ - Name: user2.Name, - Email: user2.Email, - }, - Dates: &files_service.CommitDateOptions{ - Author: time.Now(), - Committer: time.Now(), - }, - }) - assert.NoError(t, err) - assert.NotEmpty(t, addWorkflowToBaseResp) + ) + defer f() // a run has been created assert.Equal(t, 1, unittest.GetCount(t, &actions_model.ActionRun{RepoID: repo.ID})) diff --git a/tests/integration/pull_merge_test.go b/tests/integration/pull_merge_test.go index 2aa6742a56..bb95d74d82 100644 --- a/tests/integration/pull_merge_test.go +++ b/tests/integration/pull_merge_test.go @@ -29,7 +29,6 @@ import ( "code.gitea.io/gitea/modules/test" "code.gitea.io/gitea/modules/translation" "code.gitea.io/gitea/services/pull" - repo_service "code.gitea.io/gitea/services/repository" files_service "code.gitea.io/gitea/services/repository/files" "github.com/stretchr/testify/assert" @@ -369,18 +368,11 @@ func TestConflictChecking(t *testing.T) { user := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 2}) // Create new clean repo to test conflict checking. - baseRepo, err := repo_service.CreateRepository(db.DefaultContext, user, user, repo_service.CreateRepoOptions{ - Name: "conflict-checking", - Description: "Tempo repo", - AutoInit: true, - Readme: "Default", - DefaultBranch: "main", - }) - assert.NoError(t, err) - assert.NotEmpty(t, baseRepo) + baseRepo, _, f := CreateDeclarativeRepo(t, user, "conflict-checking", nil, nil, nil) + defer f() // create a commit on new branch. - _, err = files_service.ChangeRepoFiles(git.DefaultContext, baseRepo, user, &files_service.ChangeRepoFilesOptions{ + _, err := files_service.ChangeRepoFiles(git.DefaultContext, baseRepo, user, &files_service.ChangeRepoFilesOptions{ Files: []*files_service.ChangeRepoFile{ { Operation: "create", diff --git a/tests/integration/pull_update_test.go b/tests/integration/pull_update_test.go index 078253ffb0..094813d367 100644 --- a/tests/integration/pull_update_test.go +++ b/tests/integration/pull_update_test.go @@ -82,17 +82,7 @@ func TestAPIPullUpdateByRebase(t *testing.T) { } func createOutdatedPR(t *testing.T, actor, forkOrg *user_model.User) *issues_model.PullRequest { - baseRepo, err := repo_service.CreateRepository(db.DefaultContext, actor, actor, repo_service.CreateRepoOptions{ - Name: "repo-pr-update", - Description: "repo-tmp-pr-update description", - AutoInit: true, - Gitignores: "C,C++", - License: "MIT", - Readme: "Default", - IsPrivate: false, - }) - assert.NoError(t, err) - assert.NotEmpty(t, baseRepo) + baseRepo, _, _ := CreateDeclarativeRepo(t, actor, "repo-pr-update", nil, nil, nil) headRepo, err := repo_service.ForkRepository(git.DefaultContext, actor, forkOrg, repo_service.ForkRepoOptions{ BaseRepo: baseRepo, @@ -112,8 +102,8 @@ func createOutdatedPR(t *testing.T, actor, forkOrg *user_model.User) *issues_mod }, }, Message: "Add File A", - OldBranch: "master", - NewBranch: "master", + OldBranch: "main", + NewBranch: "main", Author: &files_service.IdentityOptions{ Name: actor.Name, Email: actor.Email, @@ -139,7 +129,7 @@ func createOutdatedPR(t *testing.T, actor, forkOrg *user_model.User) *issues_mod }, }, Message: "Add File on PR branch", - OldBranch: "master", + OldBranch: "main", NewBranch: "newBranch", Author: &files_service.IdentityOptions{ Name: actor.Name, @@ -168,7 +158,7 @@ func createOutdatedPR(t *testing.T, actor, forkOrg *user_model.User) *issues_mod HeadRepoID: headRepo.ID, BaseRepoID: baseRepo.ID, HeadBranch: "newBranch", - BaseBranch: "master", + BaseBranch: "main", HeadRepo: headRepo, BaseRepo: baseRepo, Type: issues_model.PullRequestGitea,