loading up the forgejo repo on tangled to test page performance
1// Copyright 20124 The Forgejo Authors. All rights reserved.
2// SPDX-License-Identifier: MIT
3
4package integration
5
6import (
7 "net/url"
8 "testing"
9
10 actions_model "forgejo.org/models/actions"
11 "forgejo.org/models/db"
12 issues_model "forgejo.org/models/issues"
13 repo_model "forgejo.org/models/repo"
14 "forgejo.org/models/unittest"
15 user_model "forgejo.org/models/user"
16 "forgejo.org/modules/setting"
17 "forgejo.org/modules/test"
18 "forgejo.org/services/actions"
19 "forgejo.org/services/automerge"
20
21 "github.com/stretchr/testify/assert"
22 "github.com/stretchr/testify/require"
23)
24
25func TestActionsAutomerge(t *testing.T) {
26 onGiteaRun(t, func(t *testing.T, u *url.URL) {
27 defer test.MockVariableValue(&setting.Actions.Enabled, true)()
28
29 ctx := db.DefaultContext
30
31 user := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 1})
32 pr := unittest.AssertExistsAndLoadBean(t, &issues_model.PullRequest{ID: 2})
33 job := unittest.AssertExistsAndLoadBean(t, &actions_model.ActionRunJob{ID: 292})
34
35 assert.False(t, pr.HasMerged, "PR should not be merged")
36 assert.Equal(t, issues_model.PullRequestStatusMergeable, pr.Status, "PR should be mergeable")
37
38 scheduled, err := automerge.ScheduleAutoMerge(ctx, user, pr, repo_model.MergeStyleMerge, "Dummy", false)
39
40 require.NoError(t, err, "PR should be scheduled for automerge")
41 assert.True(t, scheduled, "PR should be scheduled for automerge")
42
43 actions.CreateCommitStatus(ctx, job)
44
45 pr = unittest.AssertExistsAndLoadBean(t, &issues_model.PullRequest{ID: 2})
46
47 assert.True(t, pr.HasMerged, "PR should be merged")
48 },
49 )
50}