code.gitea.io/gitea@v1.22.3/routers/private/hook_post_receive_test.go (about) 1 // Copyright 2024 The Gitea Authors. All rights reserved. 2 // SPDX-License-Identifier: MIT 3 4 package private 5 6 import ( 7 "testing" 8 9 "code.gitea.io/gitea/models/db" 10 issues_model "code.gitea.io/gitea/models/issues" 11 pull_model "code.gitea.io/gitea/models/pull" 12 repo_model "code.gitea.io/gitea/models/repo" 13 "code.gitea.io/gitea/models/unittest" 14 user_model "code.gitea.io/gitea/models/user" 15 "code.gitea.io/gitea/modules/private" 16 repo_module "code.gitea.io/gitea/modules/repository" 17 "code.gitea.io/gitea/services/contexttest" 18 19 "github.com/stretchr/testify/assert" 20 ) 21 22 func TestHandlePullRequestMerging(t *testing.T) { 23 assert.NoError(t, unittest.PrepareTestDatabase()) 24 pr, err := issues_model.GetUnmergedPullRequest(db.DefaultContext, 1, 1, "branch2", "master", issues_model.PullRequestFlowGithub) 25 assert.NoError(t, err) 26 assert.NoError(t, pr.LoadBaseRepo(db.DefaultContext)) 27 28 user1 := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 1}) 29 30 err = pull_model.ScheduleAutoMerge(db.DefaultContext, user1, pr.ID, repo_model.MergeStyleSquash, "squash merge a pr") 31 assert.NoError(t, err) 32 33 autoMerge := unittest.AssertExistsAndLoadBean(t, &pull_model.AutoMerge{PullID: pr.ID}) 34 35 ctx, resp := contexttest.MockPrivateContext(t, "/") 36 handlePullRequestMerging(ctx, &private.HookOptions{ 37 PullRequestID: pr.ID, 38 UserID: 2, 39 }, pr.BaseRepo.OwnerName, pr.BaseRepo.Name, []*repo_module.PushUpdateOptions{ 40 {NewCommitID: "01234567"}, 41 }) 42 assert.Equal(t, 0, len(resp.Body.String())) 43 pr, err = issues_model.GetPullRequestByID(db.DefaultContext, pr.ID) 44 assert.NoError(t, err) 45 assert.True(t, pr.HasMerged) 46 assert.EqualValues(t, "01234567", pr.MergedCommitID) 47 48 unittest.AssertNotExistsBean(t, &pull_model.AutoMerge{ID: autoMerge.ID}) 49 }