github.com/argoproj/argo-cd/v2@v2.10.9/applicationset/services/scm_provider/mock.go (about) 1 package scm_provider 2 3 import "context" 4 5 type MockProvider struct { 6 Repos []*Repository 7 } 8 9 var _ SCMProviderService = &MockProvider{} 10 11 func (m *MockProvider) ListRepos(_ context.Context, _ string) ([]*Repository, error) { 12 repos := []*Repository{} 13 for _, candidateRepo := range m.Repos { 14 found := false 15 for _, alreadySetRepo := range repos { 16 if alreadySetRepo.Repository == candidateRepo.Repository { 17 found = true 18 break 19 } 20 } 21 if !found { 22 repos = append(repos, candidateRepo) 23 } 24 } 25 return repos, nil 26 } 27 28 func (*MockProvider) RepoHasPath(_ context.Context, repo *Repository, path string) (bool, error) { 29 return path == repo.Repository, nil 30 } 31 32 func (m *MockProvider) GetBranches(_ context.Context, repo *Repository) ([]*Repository, error) { 33 branchRepos := []*Repository{} 34 for _, candidateRepo := range m.Repos { 35 if candidateRepo.Repository == repo.Repository { 36 found := false 37 for _, alreadySetRepo := range branchRepos { 38 if alreadySetRepo.Branch == candidateRepo.Branch { 39 found = true 40 break 41 } 42 } 43 if !found { 44 branchRepos = append(branchRepos, candidateRepo) 45 } 46 } 47 48 } 49 return branchRepos, nil 50 }