mirror of
				https://github.com/go-gitea/gitea
				synced 2025-10-30 19:08:37 +00:00 
			
		
		
		
	Backport #29631 by @charles7668 Close #29628 rule ``` Test / Build* Test / Build * Test / Build 2* Test / Build 1* ```  rule2 ``` Test / Build* Test / Build 1* ```  rule3 ``` Test / Build* Test / Build 1* NotExist* ```  Co-authored-by: charles <30816317+charles7668@users.noreply.github.com> Co-authored-by: Zettat123 <zettat123@gmail.com>
This commit is contained in:
		
							
								
								
									
										65
									
								
								services/pull/commit_status_test.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										65
									
								
								services/pull/commit_status_test.go
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,65 @@ | ||||
| // Copyright 2024 The Gitea Authors. | ||||
| // All rights reserved. | ||||
| // SPDX-License-Identifier: MIT | ||||
|  | ||||
| package pull | ||||
|  | ||||
| import ( | ||||
| 	"testing" | ||||
|  | ||||
| 	git_model "code.gitea.io/gitea/models/git" | ||||
| 	"code.gitea.io/gitea/modules/structs" | ||||
|  | ||||
| 	"github.com/stretchr/testify/assert" | ||||
| ) | ||||
|  | ||||
| func TestMergeRequiredContextsCommitStatus(t *testing.T) { | ||||
| 	testCases := [][]*git_model.CommitStatus{ | ||||
| 		{ | ||||
| 			{Context: "Build 1", State: structs.CommitStatusSuccess}, | ||||
| 			{Context: "Build 2", State: structs.CommitStatusSuccess}, | ||||
| 			{Context: "Build 3", State: structs.CommitStatusSuccess}, | ||||
| 		}, | ||||
| 		{ | ||||
| 			{Context: "Build 1", State: structs.CommitStatusSuccess}, | ||||
| 			{Context: "Build 2", State: structs.CommitStatusSuccess}, | ||||
| 			{Context: "Build 2t", State: structs.CommitStatusPending}, | ||||
| 		}, | ||||
| 		{ | ||||
| 			{Context: "Build 1", State: structs.CommitStatusSuccess}, | ||||
| 			{Context: "Build 2", State: structs.CommitStatusSuccess}, | ||||
| 			{Context: "Build 2t", State: structs.CommitStatusFailure}, | ||||
| 		}, | ||||
| 		{ | ||||
| 			{Context: "Build 1", State: structs.CommitStatusSuccess}, | ||||
| 			{Context: "Build 2", State: structs.CommitStatusSuccess}, | ||||
| 			{Context: "Build 2t", State: structs.CommitStatusSuccess}, | ||||
| 		}, | ||||
| 		{ | ||||
| 			{Context: "Build 1", State: structs.CommitStatusSuccess}, | ||||
| 			{Context: "Build 2", State: structs.CommitStatusSuccess}, | ||||
| 			{Context: "Build 2t", State: structs.CommitStatusSuccess}, | ||||
| 		}, | ||||
| 	} | ||||
| 	testCasesRequiredContexts := [][]string{ | ||||
| 		{"Build*"}, | ||||
| 		{"Build*", "Build 2t*"}, | ||||
| 		{"Build*", "Build 2t*"}, | ||||
| 		{"Build*", "Build 2t*", "Build 3*"}, | ||||
| 		{"Build*", "Build *", "Build 2t*", "Build 1*"}, | ||||
| 	} | ||||
|  | ||||
| 	testCasesExpected := []structs.CommitStatusState{ | ||||
| 		structs.CommitStatusSuccess, | ||||
| 		structs.CommitStatusPending, | ||||
| 		structs.CommitStatusFailure, | ||||
| 		structs.CommitStatusPending, | ||||
| 		structs.CommitStatusSuccess, | ||||
| 	} | ||||
|  | ||||
| 	for i, commitStatuses := range testCases { | ||||
| 		if MergeRequiredContextsCommitStatus(commitStatuses, testCasesRequiredContexts[i]) != testCasesExpected[i] { | ||||
| 			assert.Fail(t, "Test case failed", "Test case %d failed", i+1) | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
		Reference in New Issue
	
	Block a user