mirror of
https://github.com/gogs/gogs.git
synced 2025-12-20 15:20:01 +01:00
gitutil: refactor the way to mock (#6032)
* Refactor the mock module store * Only test on 1.14.x
This commit is contained in:
@@ -8,10 +8,10 @@ import (
|
||||
"github.com/gogs/git-module"
|
||||
)
|
||||
|
||||
// Moduler is the interface for Git operations.
|
||||
// ModuleStore is the interface for Git operations.
|
||||
//
|
||||
// NOTE: All methods are sorted in alphabetically.
|
||||
type Moduler interface {
|
||||
type ModuleStore interface {
|
||||
// AddRemote adds a new remote to the repository in given path.
|
||||
RepoAddRemote(repoPath, name, url string, opts ...git.AddRemoteOptions) error
|
||||
// RepoDiffNameOnly returns a list of changed files between base and head revisions
|
||||
@@ -28,63 +28,38 @@ type Moduler interface {
|
||||
// RepoTags returns a list of tags of the repository in given path.
|
||||
RepoTags(repoPath string, opts ...git.TagsOptions) ([]string, error)
|
||||
|
||||
Utiler
|
||||
}
|
||||
|
||||
// Utiler is the interface for utility helpers implemented in this package.
|
||||
//
|
||||
// NOTE: All methods are sorted in alphabetically.
|
||||
type Utiler interface {
|
||||
// GetPullRequestMeta gathers pull request metadata based on given head and base information.
|
||||
PullRequestMeta(headPath, basePath, headBranch, baseBranch string) (*PullRequestMeta, error)
|
||||
// ListTagsAfter returns a list of tags "after" (exlusive) given tag.
|
||||
// ListTagsAfter returns a list of tags "after" (exclusive) given tag.
|
||||
ListTagsAfter(repoPath, after string, limit int) (*TagsPage, error)
|
||||
}
|
||||
|
||||
// moduler is holds real implementation.
|
||||
type moduler struct{}
|
||||
// module holds the real implementation.
|
||||
type module struct{}
|
||||
|
||||
func (moduler) RepoAddRemote(repoPath, name, url string, opts ...git.AddRemoteOptions) error {
|
||||
if MockModule.RepoAddRemote != nil {
|
||||
return MockModule.RepoAddRemote(repoPath, name, url, opts...)
|
||||
}
|
||||
func (module) RepoAddRemote(repoPath, name, url string, opts ...git.AddRemoteOptions) error {
|
||||
return git.RepoAddRemote(repoPath, name, url, opts...)
|
||||
}
|
||||
|
||||
func (moduler) RepoDiffNameOnly(repoPath, base, head string, opts ...git.DiffNameOnlyOptions) ([]string, error) {
|
||||
if MockModule.RepoDiffNameOnly != nil {
|
||||
return MockModule.RepoDiffNameOnly(repoPath, base, head, opts...)
|
||||
}
|
||||
func (module) RepoDiffNameOnly(repoPath, base, head string, opts ...git.DiffNameOnlyOptions) ([]string, error) {
|
||||
return git.RepoDiffNameOnly(repoPath, base, head, opts...)
|
||||
}
|
||||
|
||||
func (moduler) RepoLog(repoPath, rev string, opts ...git.LogOptions) ([]*git.Commit, error) {
|
||||
if MockModule.RepoLog != nil {
|
||||
return MockModule.RepoLog(repoPath, rev, opts...)
|
||||
}
|
||||
func (module) RepoLog(repoPath, rev string, opts ...git.LogOptions) ([]*git.Commit, error) {
|
||||
return git.RepoLog(repoPath, rev, opts...)
|
||||
}
|
||||
|
||||
func (moduler) RepoMergeBase(repoPath, base, head string, opts ...git.MergeBaseOptions) (string, error) {
|
||||
if MockModule.RepoMergeBase != nil {
|
||||
return MockModule.RepoMergeBase(repoPath, base, head, opts...)
|
||||
}
|
||||
func (module) RepoMergeBase(repoPath, base, head string, opts ...git.MergeBaseOptions) (string, error) {
|
||||
return git.RepoMergeBase(repoPath, base, head, opts...)
|
||||
}
|
||||
|
||||
func (moduler) RepoRemoveRemote(repoPath, name string, opts ...git.RemoveRemoteOptions) error {
|
||||
if MockModule.RepoRemoveRemote != nil {
|
||||
return MockModule.RepoRemoveRemote(repoPath, name, opts...)
|
||||
}
|
||||
func (module) RepoRemoveRemote(repoPath, name string, opts ...git.RemoveRemoteOptions) error {
|
||||
return git.RepoRemoveRemote(repoPath, name, opts...)
|
||||
}
|
||||
|
||||
func (moduler) RepoTags(repoPath string, opts ...git.TagsOptions) ([]string, error) {
|
||||
if MockModule.RepoTags != nil {
|
||||
return MockModule.RepoTags(repoPath, opts...)
|
||||
}
|
||||
func (module) RepoTags(repoPath string, opts ...git.TagsOptions) ([]string, error) {
|
||||
return git.RepoTags(repoPath, opts...)
|
||||
}
|
||||
|
||||
// Module is a mockable interface for Git operations.
|
||||
var Module Moduler = moduler{}
|
||||
var Module ModuleStore = module{}
|
||||
|
||||
Reference in New Issue
Block a user