Add cache-path to repo_add, added extra test in repo_update_test to assert correct cache path usage

Signed-off-by: Trond Hindenes <trond@hindenes.com>
pull/7166/head
Trond Hindenes 6 years ago committed by Martin Hickey
parent 3d547a2baa
commit 5bc8bc4a0c

@ -129,7 +129,7 @@ func (o *repoAddOptions) run(out io.Writer) error {
if err != nil {
return err
}
r.CachePath = settings.RepositoryCache
if _, err := r.DownloadIndexFile(); err != nil {
return errors.Wrapf(err, "looks like %q is not a valid chart repository or cannot be reached", o.url)
}

@ -18,14 +18,15 @@ package main
import (
"bytes"
"fmt"
"io"
"strings"
"testing"
"helm.sh/helm/v3/internal/test/ensure"
"helm.sh/helm/v3/pkg/getter"
"helm.sh/helm/v3/pkg/repo"
"helm.sh/helm/v3/pkg/repo/repotest"
"io"
"io/ioutil"
"path/filepath"
"strings"
"testing"
)
func TestUpdateCmd(t *testing.T) {
@ -79,3 +80,34 @@ func TestUpdateCharts(t *testing.T) {
t.Error("Update was not successful")
}
}
func TestUpdateChartsCustomCache(t *testing.T) {
defer resetEnv()()
defer ensure.HelmHome(t)()
ts, err := repotest.NewTempServer("testdata/testserver/*.*")
if err != nil {
t.Fatal(err)
}
defer ts.Stop()
r, err := repo.NewChartRepository(&repo.Entry{
Name: "charts",
URL: ts.URL(),
}, getter.All(settings))
if err != nil {
t.Error(err)
}
cachePath := ensure.TempDir(t)
cacheFile := filepath.Join(cachePath, "charts-index.yaml")
r.CachePath = cachePath
b := bytes.NewBuffer(nil)
updateCharts([]*repo.ChartRepository{r}, b)
_, err = ioutil.ReadFile(cacheFile)
if err != nil {
t.Error(err)
}
}
Loading…
Cancel
Save