1
2
3
4 package types_test
5
6 import (
7 "testing"
8
9 "github.com/stretchr/testify/require"
10 "sigs.k8s.io/kustomize/api/types"
11 )
12
13 func TestAsHelmArgs(t *testing.T) {
14 t.Run("use generate-name", func(t *testing.T) {
15 p := types.HelmChart{
16 Name: "chart-name",
17 Version: "1.0.0",
18 Repo: "https://helm.releases.hashicorp.com",
19 ApiVersions: []string{"foo", "bar"},
20 KubeVersion: "1.27",
21 NameTemplate: "template",
22 SkipTests: true,
23 IncludeCRDs: true,
24 SkipHooks: true,
25 ValuesFile: "values",
26 AdditionalValuesFiles: []string{"values1", "values2"},
27 Namespace: "my-ns",
28 }
29 require.Equal(t, p.AsHelmArgs("/home/charts"),
30 []string{"template", "--generate-name",
31 "/home/charts/chart-name",
32 "--namespace", "my-ns",
33 "--name-template", "template",
34 "-f", "values",
35 "-f", "values1", "-f", "values2",
36 "--api-versions", "foo", "--api-versions", "bar",
37 "--kube-version", "1.27",
38 "--include-crds",
39 "--skip-tests",
40 "--no-hooks"})
41 })
42
43 t.Run("use release-name", func(t *testing.T) {
44 p := types.HelmChart{
45 Name: "chart-name",
46 Version: "1.0.0",
47 Repo: "https://helm.releases.hashicorp.com",
48 ApiVersions: []string{"foo", "bar"},
49 NameTemplate: "template",
50 ValuesFile: "values",
51 AdditionalValuesFiles: []string{"values1", "values2"},
52 Namespace: "my-ns",
53 ReleaseName: "test",
54 }
55 require.Equal(t, p.AsHelmArgs("/home/charts"),
56 []string{"template", "test", "/home/charts/chart-name",
57 "--namespace", "my-ns",
58 "--name-template", "template",
59 "-f", "values",
60 "-f", "values1", "-f", "values2",
61 "--api-versions", "foo", "--api-versions", "bar"})
62 })
63 }
64
View as plain text