bugfix-7226 print the proper error while installing charts, which was hided behind by debug block

Signed-off-by: openmohan <openmohan@gmail.com>
pull/7231/head
openmohan 6 years ago committed by Mohan Prasath
parent 0b9e24d824
commit 0cd84157a9

@ -669,15 +669,12 @@ func (c *ChartPathOptions) LocateChart(name string, settings *cli.EnvSettings) (
}
filename, _, err := dl.DownloadTo(name, version, settings.RepositoryCache)
if err == nil {
lname, err := filepath.Abs(filename)
if err != nil {
return filename, err
}
return lname, nil
} else if settings.Debug {
if err != nil {
return filename, err
}
return filename, errors.Errorf("failed to download %q (hint: running `helm repo update` may help)", name)
lname, err := filepath.Abs(filename)
if err != nil {
return filename, err
}
return lname, nil
}

@ -20,6 +20,7 @@ import (
"fmt"
"io/ioutil"
"log"
"net/http"
"os"
"path/filepath"
"regexp"
@ -29,9 +30,12 @@ import (
"github.com/stretchr/testify/assert"
"helm.sh/helm/v3/internal/test"
"helm.sh/helm/v3/internal/test/ensure"
"helm.sh/helm/v3/pkg/chartutil"
"helm.sh/helm/v3/pkg/cli"
kubefake "helm.sh/helm/v3/pkg/kube/fake"
"helm.sh/helm/v3/pkg/release"
"helm.sh/helm/v3/pkg/repo/repotest"
"helm.sh/helm/v3/pkg/storage/driver"
"helm.sh/helm/v3/pkg/time"
)
@ -566,3 +570,69 @@ func TestNameAndChartGenerateName(t *testing.T) {
})
}
}
func Test_LocateChart_WithURL_WithVerify(t *testing.T) {
rootDir := ensure.TempDir(t)
srv := repotest.NewServer(rootDir)
defer srv.Stop()
srv.LinkIndices()
_, err := srv.CopyCharts("testdata/charts/*")
if err != nil {
t.Fatal(err)
}
res, err := http.Get(srv.URL() + "/chart.tgz")
res.Body.Close()
if err != nil {
t.Fatal(err)
}
tests := []struct {
chartName string
keyRingFile string
name string
wantErr bool
wantErrString string
}{
{
chartName: "chartTest-0.1.0.tgz",
keyRingFile: "./testdata/pubring.gpg",
name: "correct keyring",
wantErr: false,
wantErrString: "",
},
{
chartName: "chartTest-0.1.0.tgz",
keyRingFile: "./testdata/keyring/pubringtemp.gpg",
name: "bad keyring",
wantErr: true,
wantErrString: "failed to load keyring:",
},
}
for _, tc := range tests {
t.Run(tc.name, func(t *testing.T) {
absKeyRing, _ := filepath.Abs(tc.keyRingFile)
chartOptions := &ChartPathOptions{Keyring: absKeyRing, Verify: true}
downloader := cli.New()
downloader.RepositoryConfig = rootDir + "/repositories.yaml"
downloader.RepositoryCache = rootDir
var err error
_, err = chartOptions.LocateChart(srv.URL()+"/"+tc.chartName, downloader)
if (err != nil) != tc.wantErr {
t.Errorf("LocateChart() wantErr: %v, gotErr: %v", tc.wantErr, err)
return
}
if err != nil {
if !strings.Contains(err.Error(), tc.wantErrString) {
t.Errorf("LocateChart() improver error message received, got: %v, expected: %v*", err.Error(), tc.wantErrString)
}
}
})
}
}

Binary file not shown.

@ -0,0 +1,26 @@
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
apiVersion: v2
appVersion: 1.16.0
description: A Helm chart for Kubernetes
name: chartTest
type: application
version: 0.1.0
...
files:
chartTest-0.1.0.tgz: sha256:d00f9e13f91482b4a0e15b637f03045882d5fa6af0c65ed3b055096eb6351e7c
-----BEGIN PGP SIGNATURE-----
wsDcBAEBCgAQBQJeTrjoCRCWvWlwhIOoPAAAt3YMAF+Q482zP8uwPTBPZUhnjYR5
X79BI+lRj6jKbnOyobFtvioEk0mNnpyCJOYVd/i8DNPf+xOgXc5fc8Ri8DsgO8T9
GVI7OCeOHnnZB8eC5IRh3zjvOefsVMTzMjkj6uQ+mPSQMChFrZvq0ZnXdz7BLXU5
8k0Dw9LgyVr9LM7uuBz1n6AjOtZaQXYbQyVJLCdkApzucqCrcbVvZXGx3pnAsJ6a
xYkhR15sexH0+wzMNzQvcHv4GWS/smZOYV7m2GmJY0XUIpteme728UqrrxnplHoW
JwUViz7V9i7PlL/0NFn1aH/oEvG9gFqxA9JbZDe+WlVfyrtE+C5B/DwID5ldkL0r
gT81jwXYtC5v8+LY8EfI8PuKBmMJP0JxLm7fRc4ITYj/mx2oQ9yiEtvh6GKzW1X8
KJqM+0FgmcxJ3YBiJ+/ojAVsHN1EeiDvp+ucP5VGsCv2HyfQx80V7TTAfvkBxcU2
vTXXT52003p93GHAx40UND0To6gyYlw0gbeG2yYlNg==
=3TqE
-----END PGP SIGNATURE-----

Binary file not shown.
Loading…
Cancel
Save