diff --git a/cmd/helm/repo_add_test.go b/cmd/helm/repo_add_test.go index a48846ed1..217a8124c 100644 --- a/cmd/helm/repo_add_test.go +++ b/cmd/helm/repo_add_test.go @@ -67,7 +67,7 @@ func TestRepoAdd(t *testing.T) { t.Error(err) } - f, err := repo.LoadFile(repoFile, false) + f, err := repo.LoadFile(repoFile) if err != nil { t.Fatal(err) } diff --git a/cmd/helm/repo_list.go b/cmd/helm/repo_list.go index f9535cf41..3228dbb1e 100644 --- a/cmd/helm/repo_list.go +++ b/cmd/helm/repo_list.go @@ -34,7 +34,7 @@ func newRepoListCmd(out io.Writer) *cobra.Command { Short: "list chart repositories", Args: require.NoArgs, RunE: func(cmd *cobra.Command, args []string) error { - f, err := repo.LoadFile(settings.RepositoryConfig, true) + f, err := repo.LoadFile(settings.RepositoryConfig) if err != nil { return err } diff --git a/cmd/helm/repo_remove.go b/cmd/helm/repo_remove.go index 5509c6e26..006908cd0 100644 --- a/cmd/helm/repo_remove.go +++ b/cmd/helm/repo_remove.go @@ -55,7 +55,7 @@ func newRepoRemoveCmd(out io.Writer) *cobra.Command { } func (o *repoRemoveOptions) run(out io.Writer) error { - r, err := repo.LoadFile(o.repoFile, true) + r, err := repo.LoadFile(o.repoFile) if err != nil { return err } diff --git a/cmd/helm/repo_remove_test.go b/cmd/helm/repo_remove_test.go index 9ebfd7562..5e8ddd209 100644 --- a/cmd/helm/repo_remove_test.go +++ b/cmd/helm/repo_remove_test.go @@ -80,7 +80,7 @@ func TestRepoRemove(t *testing.T) { t.Errorf("Error cache file was not removed for repository %s", testRepoName) } - f, err := repo.LoadFile(repoFile, false) + f, err := repo.LoadFile(repoFile) if err != nil { t.Error(err) } diff --git a/cmd/helm/repo_update.go b/cmd/helm/repo_update.go index ab8909fdf..1d647366a 100644 --- a/cmd/helm/repo_update.go +++ b/cmd/helm/repo_update.go @@ -59,7 +59,7 @@ func newRepoUpdateCmd(out io.Writer) *cobra.Command { } func (o *repoUpdateOptions) run(out io.Writer) error { - f, err := repo.LoadFile(o.repoFile, true) + f, err := repo.LoadFile(o.repoFile) if err != nil { return err } diff --git a/cmd/helm/search_repo.go b/cmd/helm/search_repo.go index d954a1b3c..0399490aa 100644 --- a/cmd/helm/search_repo.go +++ b/cmd/helm/search_repo.go @@ -146,7 +146,7 @@ func (o *searchRepoOptions) formatSearchResults(res []*search.Result) string { func (o *searchRepoOptions) buildIndex(out io.Writer) (*search.Index, error) { // Load the repositories.yaml - rf, err := repo.LoadFile(o.repoFile, true) + rf, err := repo.LoadFile(o.repoFile) if err != nil { return nil, errors.Wrap(err, "loading repository config") } diff --git a/pkg/downloader/chart_downloader.go b/pkg/downloader/chart_downloader.go index 134751f51..cdb146e79 100644 --- a/pkg/downloader/chart_downloader.go +++ b/pkg/downloader/chart_downloader.go @@ -154,7 +154,7 @@ func (c *ChartDownloader) ResolveChartVersion(ref, version string) (*url.URL, er } c.Options = append(c.Options, getter.WithURL(ref)) - rf, err := repo.LoadFile(c.RepositoryConfig, false) + rf, err := repo.LoadFile(c.RepositoryConfig) if err != nil { return u, err } diff --git a/pkg/downloader/chart_downloader_test.go b/pkg/downloader/chart_downloader_test.go index 55828b942..26d19343f 100644 --- a/pkg/downloader/chart_downloader_test.go +++ b/pkg/downloader/chart_downloader_test.go @@ -222,7 +222,7 @@ func TestScanReposForURL(t *testing.T) { } u := "http://example.com/alpine-0.2.0.tgz" - rf, err := repo.LoadFile(repoConfig, false) + rf, err := repo.LoadFile(repoConfig) if err != nil { t.Fatal(err) } diff --git a/pkg/downloader/manager.go b/pkg/downloader/manager.go index 5dd761597..4bfa1e670 100644 --- a/pkg/downloader/manager.go +++ b/pkg/downloader/manager.go @@ -311,7 +311,7 @@ func (m *Manager) safeDeleteDep(name, dir string) error { // hasAllRepos ensures that all of the referenced deps are in the local repo cache. func (m *Manager) hasAllRepos(deps []*chart.Dependency) error { - rf, err := repo.LoadFile(m.RepositoryConfig, false) + rf, err := repo.LoadFile(m.RepositoryConfig) if err != nil { return err } @@ -345,7 +345,7 @@ Loop: // getRepoNames returns the repo names of the referenced deps which can be used to fetch the cahced index file. func (m *Manager) getRepoNames(deps []*chart.Dependency) (map[string]string, error) { - rf, err := repo.LoadFile(m.RepositoryConfig, false) + rf, err := repo.LoadFile(m.RepositoryConfig) if err != nil { if os.IsNotExist(err) { return make(map[string]string), nil @@ -415,7 +415,7 @@ repository, use "https://charts.example.com/" or "@example" instead of // UpdateRepositories updates all of the local repos to the latest. func (m *Manager) UpdateRepositories() error { - rf, err := repo.LoadFile(m.RepositoryConfig, false) + rf, err := repo.LoadFile(m.RepositoryConfig) if err != nil { return err } @@ -553,7 +553,7 @@ func (m *Manager) loadChartRepositories() (map[string]*repo.ChartRepository, err indices := map[string]*repo.ChartRepository{} // Load repositories.yaml file - rf, err := repo.LoadFile(m.RepositoryConfig, false) + rf, err := repo.LoadFile(m.RepositoryConfig) if err != nil { return indices, errors.Wrapf(err, "failed to load %s", m.RepositoryConfig) } diff --git a/pkg/repo/repo.go b/pkg/repo/repo.go index 7e913fae5..b2915f639 100644 --- a/pkg/repo/repo.go +++ b/pkg/repo/repo.go @@ -45,22 +45,16 @@ func NewFile() *File { } // LoadFile takes a file at the given path and returns a File object -// createRepoFile parameter when set to true, will create repo file if -// it doesn't exist. The parameter is useful for lazy create when -// running some commands. -func LoadFile(path string, createRepoFile bool) (*File, error) { +func LoadFile(path string) (*File, error) { b, err := ioutil.ReadFile(path) if err != nil { - if os.IsNotExist(err) && createRepoFile { + if os.IsNotExist(err) { f := &File{} if err := f.WriteFile(path, 0644); err != nil { return nil, errors.Wrapf(err, "couldn't load repositories file (%s)", path) } return f, nil } - if os.IsNotExist(err) { - return nil, errors.Wrapf(err, "couldn't load repositories file (%s)", path) - } return nil, err } diff --git a/pkg/repo/repo_test.go b/pkg/repo/repo_test.go index 897173230..1ed3fb298 100644 --- a/pkg/repo/repo_test.go +++ b/pkg/repo/repo_test.go @@ -71,7 +71,7 @@ func TestNewFile(t *testing.T) { }, ) - file, err := LoadFile(testRepositoriesFile, false) + file, err := LoadFile(testRepositoriesFile) if err != nil { t.Errorf("%q could not be loaded: %s", testRepositoriesFile, err) } @@ -169,7 +169,7 @@ func TestWriteFile(t *testing.T) { t.Errorf("failed to write file (%v)", err) } - repos, err := LoadFile(file.Name(), false) + repos, err := LoadFile(file.Name()) if err != nil { t.Errorf("failed to load file (%v)", err) } @@ -181,21 +181,9 @@ func TestWriteFile(t *testing.T) { } func TestRepoNotExists(t *testing.T) { - if _, err := LoadFile("/this/path/does/not/exist.yaml", false); err == nil { + if _, err := LoadFile("/this/path/does/not/exist.yaml"); err == nil { t.Errorf("expected err to be non-nil when path does not exist") } else if !strings.Contains(err.Error(), "couldn't load repositories file") { t.Errorf("expected prompt `couldn't load repositories file`") } } - -func TestRepoLazyCreate(t *testing.T) { - f, err := LoadFile("testdata/helm-repo-lazy-tst.yaml", true) - if err != nil { - t.Errorf("expected err to be nil when path does not exist and create repo file flag set") - } - if len(f.Repositories) != 0 { - os.Remove("testdata/helm-repo-lazy-tst.yaml") - t.Errorf("expected no rep[ositories to be returned") - } - os.Remove("testdata/helm-repo-lazy-tst.yaml") -}