Skip to content

Commit 90658f3

Browse files
committed
Add test for commit_status_test.go in services/pull/
1 parent 7653326 commit 90658f3

File tree

1 file changed

+64
-0
lines changed

1 file changed

+64
-0
lines changed

services/pull/commit_status_test.go

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
// Copyright 2024 The Gitea Authors.
2+
// All rights reserved.
3+
// SPDX-License-Identifier: MIT
4+
5+
package pull
6+
7+
import (
8+
"testing"
9+
10+
git_model "code.gitea.io/gitea/models/git"
11+
"code.gitea.io/gitea/modules/structs"
12+
13+
"github.com/stretchr/testify/assert"
14+
)
15+
16+
func TestMergeRequiredContextsCommitStatus(t *testing.T) {
17+
testCases := [][]*git_model.CommitStatus{
18+
{
19+
{Context: "Build 1", State: structs.CommitStatusSuccess},
20+
{Context: "Build 2", State: structs.CommitStatusSuccess},
21+
{Context: "Build 3", State: structs.CommitStatusSuccess},
22+
},
23+
{
24+
{Context: "Build 1", State: structs.CommitStatusSuccess},
25+
{Context: "Build 2", State: structs.CommitStatusSuccess},
26+
{Context: "Build 2t", State: structs.CommitStatusPending},
27+
},
28+
{
29+
{Context: "Build 1", State: structs.CommitStatusSuccess},
30+
{Context: "Build 2", State: structs.CommitStatusSuccess},
31+
{Context: "Build 2t", State: structs.CommitStatusFailure},
32+
},
33+
{
34+
{Context: "Build 1", State: structs.CommitStatusSuccess},
35+
{Context: "Build 2", State: structs.CommitStatusSuccess},
36+
{Context: "Build 2t", State: structs.CommitStatusSuccess},
37+
},
38+
{
39+
{Context: "Build 1", State: structs.CommitStatusSuccess},
40+
{Context: "Build 2", State: structs.CommitStatusSuccess},
41+
{Context: "Build 2t", State: structs.CommitStatusSuccess},
42+
},
43+
}
44+
testCasesRequiredContexts := [][]string{
45+
{"Build*"},
46+
{"Build*", "Build 2t*"},
47+
{"Build*", "Build 2t*"},
48+
{"Build*", "Build 2t*", "Build 3*"},
49+
{"Build*", "Build *", "Build 2t*", "Build 3*"},
50+
}
51+
52+
testCasesExpected := []structs.CommitStatusState{
53+
structs.CommitStatusSuccess,
54+
structs.CommitStatusPending,
55+
structs.CommitStatusFailure,
56+
structs.CommitStatusPending,
57+
}
58+
59+
for i, commitStatuses := range testCases {
60+
if MergeRequiredContextsCommitStatus(commitStatuses, testCasesRequiredContexts[i]) != testCasesExpected[i] {
61+
assert.Fail(t, "Test case failed", "Test case %d failed", i+1)
62+
}
63+
}
64+
}

0 commit comments

Comments
 (0)