From cb7021237c99a9030f1a90b3acbf754ead0f2c4e Mon Sep 17 00:00:00 2001 From: Mohammad Forutan Date: Wed, 22 Apr 2020 20:21:44 +1000 Subject: [PATCH] Add unit test Signed-off-by: Mohammad Forutan --- pkg/action/install_test.go | 39 +++++++++++++++++++++++ pkg/action/testdata/emptychart-0.1.0.tgz | Bin 0 -> 578 bytes 2 files changed, 39 insertions(+) create mode 100644 pkg/action/testdata/emptychart-0.1.0.tgz diff --git a/pkg/action/install_test.go b/pkg/action/install_test.go index bf47895a1..485adb439 100644 --- a/pkg/action/install_test.go +++ b/pkg/action/install_test.go @@ -30,8 +30,10 @@ import ( "helm.sh/helm/v3/internal/test" "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" ) @@ -629,3 +631,40 @@ func TestNameAndChartGenerateName(t *testing.T) { }) } } + +func TestLocateChartIgnoringLocalFolderWithRepoURL(t *testing.T) { + is := assert.New(t) + instAction := installAction(t) + settings := cli.New() + + chartName := "emptychart" + chartVersion := "0.1.0" + expectedFilename := settings.RepositoryCache + "/emptychart-0.1.0.tgz" + + // Add a local folder to the current path with the same name as chart name + err := os.Mkdir(chartName, 0755) + if err != nil { + t.Fatal(err) + } + defer os.Remove(chartName) + + // Set up a fake repo + srv, err := repotest.NewTempServer("testdata/*.tgz*") + srv.Stop() + if err != nil { + t.Fatal(err) + } + srv.Start() + defer srv.Stop() + if err := srv.CreateIndex(); err != nil { + t.Fatal(err) + } + + instAction.ChartPathOptions.RepoURL = srv.URL() + instAction.ChartPathOptions.Version = chartVersion + settings.Debug = true + filename, err := instAction.LocateChart(chartName, settings) + + is.Equal(expectedFilename, filename) + is.NoError(err) +} diff --git a/pkg/action/testdata/emptychart-0.1.0.tgz b/pkg/action/testdata/emptychart-0.1.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..7d9bd9d7dd387e6a26f370ce3637226d37fbe90d GIT binary patch literal 578 zcmV-I0=@koiwG0|00000|0w_~VMtOiV@ORlOnEsqVl!4SWK%V1T2nbTPgYhoO;>Dc zVQyr3R8em|NM&qo0PL3EYuhjo$MdYe;znM!u*q_rw9vQG3^um0K}TUvL$)urT3OOg z=VaN#{`O&;(2xx}Sk_YT_u*s-{Wzifd@(kGw?(aqlglp3t#0h(xKc`~)A_t_l~RYT zN;5S{v(trA>3p84iAu99JDY$yavpzF8(Gst{qtFemwO`8!CWInqbHW5q&4PP!kynnUw)M#cbVP!0K6P8$5 zO$ePK3?&3X8;Zal^6ooEEWtSTu=OngV-u`qjNRhFMfz2vV?2uX_?I=>##GJ|9`}s< z_+O-p-}ql-BmWPfDSYa9Cf5TyygqDdbda~kmc~^ObaAVz0odLSVjF@dju30K7Aos= zXfzkKan(y8w3^MjL!axtaqY^Ec&v2ycLC1>;mUl+5;lfwc=kfVM`yR-UB9wR2?7#W z<4_8@y!v{@o={BT(l?EFaD90NrJ*QfWjN{MkiL-l4@&yD8>p+K3%hPyyX0=8To<=( z=nXB3nT(qtW-`~eVkWr>V)j!^;aZdNZG^YW*HOqo{ss#c(v+x^VIKLL(ZWWJ8ugU) QD*yoh|NnE!&j1hr09FJVfdBvi literal 0 HcmV?d00001