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  }