From d607f42a6cf0b1ee6f59ce929446e58e4fb37209 Mon Sep 17 00:00:00 2001 From: akshat09867 Date: Wed, 4 Feb 2026 18:35:45 +0530 Subject: [PATCH] refactor(downloader): use constructor in loadChartRepositories Resolves a TODO in manager.go to use NewChartRepository. Updated unit tests in manager_test.go to initialize Manager with Getters, as the constructor now enforces valid client configuration. Signed-off-by: akshat09867 --- pkg/downloader/manager.go | 7 ++++--- pkg/downloader/manager_test.go | 3 +++ 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/pkg/downloader/manager.go b/pkg/downloader/manager.go index 6043fbaaa..6dbd82357 100644 --- a/pkg/downloader/manager.go +++ b/pkg/downloader/manager.go @@ -835,10 +835,11 @@ func (m *Manager) loadChartRepositories() (map[string]*repo.ChartRepository, err } // TODO: use constructor - cr := &repo.ChartRepository{ - Config: re, - IndexFile: index, + cr, err := repo.NewChartRepository(re, m.Getters) + if err != nil { + return indices, err } + cr.IndexFile = index indices[lname] = cr } return indices, nil diff --git a/pkg/downloader/manager_test.go b/pkg/downloader/manager_test.go index 9e27f183f..42be744b6 100644 --- a/pkg/downloader/manager_test.go +++ b/pkg/downloader/manager_test.go @@ -31,6 +31,7 @@ import ( chart "helm.sh/helm/v4/pkg/chart/v2" "helm.sh/helm/v4/pkg/chart/v2/loader" chartutil "helm.sh/helm/v4/pkg/chart/v2/util" + "helm.sh/helm/v4/pkg/cli" "helm.sh/helm/v4/pkg/getter" "helm.sh/helm/v4/pkg/repo/v1" "helm.sh/helm/v4/pkg/repo/v1/repotest" @@ -61,6 +62,7 @@ func TestFindChartURL(t *testing.T) { Out: &b, RepositoryConfig: repoConfig, RepositoryCache: repoCache, + Getters: getter.All(cli.New()), } repos, err := m.loadChartRepositories() if err != nil { @@ -235,6 +237,7 @@ func TestDownloadAll(t *testing.T) { RepositoryConfig: repoConfig, RepositoryCache: repoCache, ChartPath: chartPath, + Getters: getter.All(cli.New()), } signtest, err := loader.LoadDir(filepath.Join("testdata", "signtest")) if err != nil {