From 0c3f7319b0887afb926182d751aeaab5ff5bb69e Mon Sep 17 00:00:00 2001 From: Oscar Mauricio Forero Carrillo Date: Mon, 21 Oct 2019 23:54:36 +0800 Subject: [PATCH] feat: (6715) Add test for loading chart with environment file overrides Signed-off-by: Oscar Mauricio Forero Carrillo --- pkg/chartutil/load_test.go | 42 +++++++++++++++++++- pkg/chartutil/testdata/albatross/dev1.yaml | 1 + pkg/chartutil/testdata/albatross/dev2.yaml | 1 + pkg/chartutil/testdata/albatross/values.yaml | 1 + 4 files changed, 44 insertions(+), 1 deletion(-) create mode 100644 pkg/chartutil/testdata/albatross/dev1.yaml create mode 100644 pkg/chartutil/testdata/albatross/dev2.yaml diff --git a/pkg/chartutil/load_test.go b/pkg/chartutil/load_test.go index 034a4ed88..5abac7e12 100644 --- a/pkg/chartutil/load_test.go +++ b/pkg/chartutil/load_test.go @@ -42,6 +42,47 @@ func TestLoadDir(t *testing.T) { verifyRequirements(t, c) } +func TestLoadDirWithEnvValuesFile(t *testing.T) { + expectedDev1 := Values{ + "albatross": "true", + "env": "dev1", + "global": map[string]interface{}{ + "author": "Coleridge", + }, + } + + expectedDev2 := Values{ + "albatross": "true", + "env": "dev2", + "global": map[string]interface{}{ + "author": "Coleridge", + }, + } + + dev1, err := LoadWithEnvValuesFile("testdata/albatross", "dev1.yaml") + if err != nil { + t.Fatalf("Failed to load testdata: %s", err) + } + dev1values := Values{} + yaml.Unmarshal([]byte(dev1.Values.Raw), &dev1values) + equal := reflect.DeepEqual(expectedDev1, dev1values) + if !equal { + t.Errorf("Expected chart values to be populated with default values. Expected: %v, got %v", expectedDev1, dev1values) + } + + dev2, err := LoadWithEnvValuesFile("testdata/albatross", "dev2.yaml") + if err != nil { + t.Fatalf("Failed to load testdata: %s", err) + } + dev2values := Values{} + yaml.Unmarshal([]byte(dev2.Values.Raw), &dev2values) + equal = reflect.DeepEqual(expectedDev2, dev2values) + if !equal { + t.Errorf("Expected chart values to be populated with default values. Expected: %v, got %v", expectedDev2, dev2values) + } + +} + func TestLoadNonV1Chart(t *testing.T) { _, err := Load("testdata/frobnitz.v2") if err != nil { @@ -208,7 +249,6 @@ icon: https://example.com/64x64.png equal := reflect.DeepEqual(values, expectedValues) if !equal { t.Errorf("Expected chart values to be populated with default values. Expected: %v, got %v", values, expectedValues) - // t.Error("Expected chart values to be populated with default values") } if len(c.Templates) != 2 { diff --git a/pkg/chartutil/testdata/albatross/dev1.yaml b/pkg/chartutil/testdata/albatross/dev1.yaml new file mode 100644 index 000000000..ca6d5c552 --- /dev/null +++ b/pkg/chartutil/testdata/albatross/dev1.yaml @@ -0,0 +1 @@ +env: "dev1" \ No newline at end of file diff --git a/pkg/chartutil/testdata/albatross/dev2.yaml b/pkg/chartutil/testdata/albatross/dev2.yaml new file mode 100644 index 000000000..f76c7be72 --- /dev/null +++ b/pkg/chartutil/testdata/albatross/dev2.yaml @@ -0,0 +1 @@ +env: "dev2" \ No newline at end of file diff --git a/pkg/chartutil/testdata/albatross/values.yaml b/pkg/chartutil/testdata/albatross/values.yaml index 3121cd7ce..62162fe6d 100644 --- a/pkg/chartutil/testdata/albatross/values.yaml +++ b/pkg/chartutil/testdata/albatross/values.yaml @@ -1,4 +1,5 @@ albatross: "true" +env: "default" global: author: Coleridge