From 418f23331441cde2ef589e2e4db304b1c751548b Mon Sep 17 00:00:00 2001 From: milkshake308 Date: Fri, 21 Feb 2025 01:15:33 +0100 Subject: [PATCH] feat: add test cases for helm devel --- api/types/helmchartargs_test.go | 24 ++++++++++++++ .../HelmChartInflationGenerator_test.go | 33 +++++++++++++++++++ 2 files changed, 57 insertions(+) diff --git a/api/types/helmchartargs_test.go b/api/types/helmchartargs_test.go index 935c5794b..fd9a7a79a 100644 --- a/api/types/helmchartargs_test.go +++ b/api/types/helmchartargs_test.go @@ -77,4 +77,28 @@ func TestAsHelmArgs(t *testing.T) { "-f", "values2", "--debug"}) }) + + t.Run("use helm-devel", func(t *testing.T) { + // We first test that the devel flag is only appended when specified + p := types.HelmChart{ + Name: "chart-name", + Version: "1.0.0", + Repo: "https://helm.releases.hashicorp.com", + ValuesFile: "values", + AdditionalValuesFiles: []string{"values1", "values2"}, + } + require.Equal(t, p.AsHelmArgs("/home/charts"), + []string{"template", "--generate-name", "/home/charts/chart-name", + "-f", "values", + "-f", "values1", + "-f", "values2"}) + + p.Devel = true + require.Equal(t, p.AsHelmArgs("/home/charts"), + []string{"template", "--generate-name", "/home/charts/chart-name", + "-f", "values", + "-f", "values1", + "-f", "values2", + "--devel"}) + }) } diff --git a/plugin/builtin/helmchartinflationgenerator/HelmChartInflationGenerator_test.go b/plugin/builtin/helmchartinflationgenerator/HelmChartInflationGenerator_test.go index e6b414e9e..e7caf7231 100644 --- a/plugin/builtin/helmchartinflationgenerator/HelmChartInflationGenerator_test.go +++ b/plugin/builtin/helmchartinflationgenerator/HelmChartInflationGenerator_test.go @@ -993,3 +993,36 @@ debug: true assert.Contains(t, string(chartYamlContent), "name: test-chart") assert.Contains(t, string(chartYamlContent), "version: 1.0.0") } + +func TestHelmChartInflationGeneratorWithDevel(t *testing.T) { + th := kusttest_test.MakeEnhancedHarnessWithTmpRoot(t). + PrepBuiltin("HelmChartInflationGenerator") + defer th.Reset() + if err := th.ErrIfNoHelm(); err != nil { + t.Skip("skipping: " + err.Error()) + } + copyTestChartsIntoHarness(t, th) + + rm := th.LoadAndRunGenerator(` +apiVersion: builtin +kind: HelmChartInflationGenerator +metadata: + name: test-chart +name: test-chart +version: 0.1.0-Beta +repo: https://charts.bitwarden.com/ +releaseName: sm-operator +devel: true +`) + cm, err := rm.Resources()[0].GetFieldValue("metadata.name") + require.NoError(t, err) + assert.Equal(t, "bar", cm) + + chartDir := filepath.Join(th.GetRoot(), "charts/test-chart") + assert.True(t, th.GetFSys().Exists(chartDir)) + + chartYamlContent, err := th.GetFSys().ReadFile(filepath.Join(chartDir, "Chart.yaml")) + require.NoError(t, err) + assert.Contains(t, string(chartYamlContent), "name: test-chart") + assert.Contains(t, string(chartYamlContent), "version: 0.1.0-Beta") +}