|
@@ -24,75 +24,81 @@ func TestModuler_PullRequestMeta(t *testing.T) {
|
|
|
{ID: git.MustIDFromString("adfd6da3c0a3fb038393144becbf37f14f780087")},
|
|
|
}
|
|
|
|
|
|
- MockModule.RepoAddRemote = func(repoPath, name, url string, opts ...git.AddRemoteOptions) error {
|
|
|
- if repoPath != headPath {
|
|
|
- return fmt.Errorf("repoPath: want %q but got %q", headPath, repoPath)
|
|
|
- } else if name == "" {
|
|
|
- return errors.New("empty name")
|
|
|
- } else if url != basePath {
|
|
|
- return fmt.Errorf("url: want %q but got %q", basePath, url)
|
|
|
- }
|
|
|
-
|
|
|
- if len(opts) == 0 {
|
|
|
- return errors.New("no options")
|
|
|
- } else if !opts[0].Fetch {
|
|
|
- return fmt.Errorf("opts.Fetch: want %v but got %v", true, opts[0].Fetch)
|
|
|
- }
|
|
|
-
|
|
|
- return nil
|
|
|
- }
|
|
|
- MockModule.RepoMergeBase = func(repoPath, base, head string, opts ...git.MergeBaseOptions) (string, error) {
|
|
|
- if repoPath != headPath {
|
|
|
- return "", fmt.Errorf("repoPath: want %q but got %q", headPath, repoPath)
|
|
|
- } else if base == "" {
|
|
|
- return "", errors.New("empty base")
|
|
|
- } else if head != headBranch {
|
|
|
- return "", fmt.Errorf("head: want %q but got %q", headBranch, head)
|
|
|
- }
|
|
|
-
|
|
|
- return mergeBase, nil
|
|
|
- }
|
|
|
- MockModule.RepoLog = func(repoPath, rev string, opts ...git.LogOptions) ([]*git.Commit, error) {
|
|
|
- if repoPath != headPath {
|
|
|
- return nil, fmt.Errorf("repoPath: want %q but got %q", headPath, repoPath)
|
|
|
- }
|
|
|
+ mockModule := &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)
|
|
|
+ } else if name == "" {
|
|
|
+ return errors.New("empty name")
|
|
|
+ } else if url != basePath {
|
|
|
+ return fmt.Errorf("url: want %q but got %q", basePath, url)
|
|
|
+ }
|
|
|
|
|
|
- expRev := mergeBase + "..." + headBranch
|
|
|
- if rev != expRev {
|
|
|
- return nil, fmt.Errorf("rev: want %q but got %q", expRev, rev)
|
|
|
- }
|
|
|
+ if len(opts) == 0 {
|
|
|
+ return errors.New("no options")
|
|
|
+ } else if !opts[0].Fetch {
|
|
|
+ return fmt.Errorf("opts.Fetch: want %v but got %v", true, opts[0].Fetch)
|
|
|
+ }
|
|
|
|
|
|
- return commits, nil
|
|
|
- }
|
|
|
- MockModule.RepoDiffNameOnly = func(repoPath, base, head string, opts ...git.DiffNameOnlyOptions) ([]string, error) {
|
|
|
- if repoPath != headPath {
|
|
|
- return nil, fmt.Errorf("repoPath: want %q but got %q", headPath, repoPath)
|
|
|
- } else if base == "" {
|
|
|
- return nil, errors.New("empty base")
|
|
|
- } else if head != headBranch {
|
|
|
- return nil, fmt.Errorf("head: want %q but got %q", headBranch, head)
|
|
|
- }
|
|
|
-
|
|
|
- if len(opts) == 0 {
|
|
|
- return nil, errors.New("no options")
|
|
|
- } else if !opts[0].NeedsMergeBase {
|
|
|
- return nil, fmt.Errorf("opts.NeedsMergeBase: want %v but got %v", true, opts[0].NeedsMergeBase)
|
|
|
- }
|
|
|
-
|
|
|
- return changedFiles, nil
|
|
|
- }
|
|
|
- MockModule.RepoRemoveRemote = func(repoPath, name string, opts ...git.RemoveRemoteOptions) error {
|
|
|
- if repoPath != headPath {
|
|
|
- return fmt.Errorf("repoPath: want %q but got %q", headPath, repoPath)
|
|
|
- } else if name == "" {
|
|
|
- return errors.New("empty name")
|
|
|
- }
|
|
|
-
|
|
|
- return nil
|
|
|
+ return nil
|
|
|
+ },
|
|
|
+ repoMergeBase: func(repoPath, base, head string, opts ...git.MergeBaseOptions) (string, error) {
|
|
|
+ if repoPath != headPath {
|
|
|
+ return "", fmt.Errorf("repoPath: want %q but got %q", headPath, repoPath)
|
|
|
+ } else if base == "" {
|
|
|
+ return "", errors.New("empty base")
|
|
|
+ } else if head != headBranch {
|
|
|
+ return "", fmt.Errorf("head: want %q but got %q", headBranch, head)
|
|
|
+ }
|
|
|
+
|
|
|
+ return mergeBase, nil
|
|
|
+ },
|
|
|
+ repoLog: func(repoPath, rev string, opts ...git.LogOptions) ([]*git.Commit, error) {
|
|
|
+ if repoPath != headPath {
|
|
|
+ return nil, fmt.Errorf("repoPath: want %q but got %q", headPath, repoPath)
|
|
|
+ }
|
|
|
+
|
|
|
+ expRev := mergeBase + "..." + headBranch
|
|
|
+ if rev != expRev {
|
|
|
+ return nil, fmt.Errorf("rev: want %q but got %q", expRev, rev)
|
|
|
+ }
|
|
|
+
|
|
|
+ return commits, nil
|
|
|
+ },
|
|
|
+ repoDiffNameOnly: func(repoPath, base, head string, opts ...git.DiffNameOnlyOptions) ([]string, error) {
|
|
|
+ if repoPath != headPath {
|
|
|
+ return nil, fmt.Errorf("repoPath: want %q but got %q", headPath, repoPath)
|
|
|
+ } else if base == "" {
|
|
|
+ return nil, errors.New("empty base")
|
|
|
+ } else if head != headBranch {
|
|
|
+ return nil, fmt.Errorf("head: want %q but got %q", headBranch, head)
|
|
|
+ }
|
|
|
+
|
|
|
+ if len(opts) == 0 {
|
|
|
+ return nil, errors.New("no options")
|
|
|
+ } else if !opts[0].NeedsMergeBase {
|
|
|
+ return nil, fmt.Errorf("opts.NeedsMergeBase: want %v but got %v", true, opts[0].NeedsMergeBase)
|
|
|
+ }
|
|
|
+
|
|
|
+ return changedFiles, nil
|
|
|
+ },
|
|
|
+ repoRemoveRemote: func(repoPath, name string, opts ...git.RemoveRemoteOptions) error {
|
|
|
+ if repoPath != headPath {
|
|
|
+ return fmt.Errorf("repoPath: want %q but got %q", headPath, repoPath)
|
|
|
+ } else if name == "" {
|
|
|
+ return errors.New("empty name")
|
|
|
+ }
|
|
|
+
|
|
|
+ return nil
|
|
|
+ },
|
|
|
+
|
|
|
+ pullRequestMeta: Module.PullRequestMeta,
|
|
|
}
|
|
|
- defer func() {
|
|
|
- MockModule = MockModuleStore{}
|
|
|
- }()
|
|
|
+ beforeModule := Module
|
|
|
+ Module = mockModule
|
|
|
+ t.Cleanup(func() {
|
|
|
+ Module = beforeModule
|
|
|
+ })
|
|
|
|
|
|
meta, err := Module.PullRequestMeta(headPath, basePath, headBranch, baseBranch)
|
|
|
if err != nil {
|