Prechádzať zdrojové kódy

gitutil: simplify mock with `t.Cleanup` (#6033)

* gitutil: simplify mock with t.Cleanup

* Scope mock to tests only
ᴜɴᴋɴᴡᴏɴ 4 rokov pred
rodič
commit
4cbb43b860

+ 10 - 0
internal/gitutil/mock.go → internal/gitutil/mock_test.go

@@ -5,6 +5,8 @@
 package gitutil
 
 import (
+	"testing"
+
 	"github.com/gogs/git-module"
 )
 
@@ -54,3 +56,11 @@ func (m *MockModuleStore) PullRequestMeta(headPath, basePath, headBranch, baseBr
 func (m *MockModuleStore) ListTagsAfter(repoPath, after string, limit int) (*TagsPage, error) {
 	return m.listTagsAfter(repoPath, after, limit)
 }
+
+func SetMockModuleStore(t *testing.T, mock ModuleStore) {
+	before := Module
+	Module = mock
+	t.Cleanup(func() {
+		Module = before
+	})
+}

+ 1 - 6
internal/gitutil/pull_request_test.go

@@ -24,7 +24,7 @@ func TestModuler_PullRequestMeta(t *testing.T) {
 		{ID: git.MustIDFromString("adfd6da3c0a3fb038393144becbf37f14f780087")},
 	}
 
-	mockModule := &MockModuleStore{
+	SetMockModuleStore(t, &MockModuleStore{
 		repoAddRemote: func(repoPath, name, url string, opts ...git.AddRemoteOptions) error {
 			if repoPath != headPath {
 				return fmt.Errorf("repoPath: want %q but got %q", headPath, repoPath)
@@ -93,11 +93,6 @@ func TestModuler_PullRequestMeta(t *testing.T) {
 		},
 
 		pullRequestMeta: Module.PullRequestMeta,
-	}
-	beforeModule := Module
-	Module = mockModule
-	t.Cleanup(func() {
-		Module = beforeModule
 	})
 
 	meta, err := Module.PullRequestMeta(headPath, basePath, headBranch, baseBranch)

+ 1 - 6
internal/gitutil/tag_test.go

@@ -12,7 +12,7 @@ import (
 )
 
 func TestModuler_ListTagsAfter(t *testing.T) {
-	mockModule := &MockModuleStore{
+	SetMockModuleStore(t, &MockModuleStore{
 		repoTags: func(string, ...git.TagsOptions) ([]string, error) {
 			return []string{
 				"v2.3.0", "v2.2.1", "v2.1.0",
@@ -22,11 +22,6 @@ func TestModuler_ListTagsAfter(t *testing.T) {
 		},
 
 		listTagsAfter: Module.ListTagsAfter,
-	}
-	beforeModule := Module
-	Module = mockModule
-	t.Cleanup(func() {
-		Module = beforeModule
 	})
 
 	tests := []struct {