From 0488f570cb02f9714fc4c9d60cdeb87a8917ec48 Mon Sep 17 00:00:00 2001 From: Jeffrey Regan Date: Fri, 22 Feb 2019 06:27:29 -0800 Subject: [PATCH] More generator tests. --- pkg/target/configmaps_test.go | 149 +++++++++++++++++++++++++++++++--- 1 file changed, 138 insertions(+), 11 deletions(-) diff --git a/pkg/target/configmaps_test.go b/pkg/target/configmaps_test.go index 5c4ad8d08..cad35066b 100644 --- a/pkg/target/configmaps_test.go +++ b/pkg/target/configmaps_test.go @@ -20,11 +20,146 @@ import ( "testing" ) -func TestGenerator1(t *testing.T) { +// Generate a Secret and a ConfigMap from the same data +// to compare the result. +func TestGeneratorBasics(t *testing.T) { + th := NewKustTestHarness(t, "/app") + th.writeK("/app", ` +namePrefix: blah- +configMapGenerator: +- name: bob + literals: + - fruit=apple + - vegetable=broccoli + env: foo.env + files: + - passphrase=phrase.dat + - forces.txt +secretGenerator: +- name: bob + literals: + - fruit=apple + - vegetable=broccoli + env: foo.env + files: + - passphrase=phrase.dat + - forces.txt +`) + th.writeF("/app/foo.env", ` +MOUNTAIN=everest +OCEAN=pacific +`) + th.writeF("/app/phrase.dat", ` +Life is short. +But the years are long. +Not while the evil days come not. +`) + th.writeF("/app/forces.txt", ` +gravitational +electromagnetic +strong nuclear +weak nuclear +`) + m, err := th.makeKustTarget().MakeCustomizedResMap() + if err != nil { + t.Fatalf("Err: %v", err) + } + th.assertActualEqualsExpected(m, ` +apiVersion: v1 +data: + MOUNTAIN: everest + OCEAN: pacific + forces.txt: |2 + + gravitational + electromagnetic + strong nuclear + weak nuclear + fruit: apple + passphrase: |2 + + Life is short. + But the years are long. + Not while the evil days come not. + vegetable: broccoli +kind: ConfigMap +metadata: + name: blah-bob-k772g5db55 +--- +apiVersion: v1 +data: + MOUNTAIN: ZXZlcmVzdA== + OCEAN: cGFjaWZpYw== + forces.txt: CmdyYXZpdGF0aW9uYWwKZWxlY3Ryb21hZ25ldGljCnN0cm9uZyBudWNsZWFyCndlYWsgbnVjbGVhcgo= + fruit: YXBwbGU= + passphrase: CkxpZmUgaXMgc2hvcnQuCkJ1dCB0aGUgeWVhcnMgYXJlIGxvbmcuCk5vdCB3aGlsZSB0aGUgZXZpbCBkYXlzIGNvbWUgbm90Lgo= + vegetable: YnJvY2NvbGk= +kind: Secret +metadata: + name: blah-bob-gmc2824f4b +type: Opaque +`) +} + +// TODO: These should be errors instead. +func TestGeneratorRepeatsInKustomization(t *testing.T) { + th := NewKustTestHarness(t, "/app") + th.writeK("/app", ` +namePrefix: blah- +configMapGenerator: +- name: bob + behavior: create + literals: + - bean=pinto + - star=wolf-rayet + literals: + - fruit=apple + - vegetable=broccoli + files: + - forces.txt + files: + - nobles=nobility.txt +`) + th.writeF("/app/forces.txt", ` +gravitational +electromagnetic +strong nuclear +weak nuclear +`) + th.writeF("/app/nobility.txt", ` +helium +neon +argon +krypton +xenon +radon +`) + m, err := th.makeKustTarget().MakeCustomizedResMap() + if err != nil { + t.Fatalf("Err: %v", err) + } + th.assertActualEqualsExpected(m, ` +apiVersion: v1 +data: + fruit: apple + nobles: |2 + + helium + neon + argon + krypton + xenon + radon + vegetable: broccoli +kind: ConfigMap +metadata: + name: blah-bob-gfkcbk5ckf +`) +} + +func TestGeneratorOverlays(t *testing.T) { th := NewKustTestHarness(t, "/app/overlay") th.writeK("/app/base1", ` -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization namePrefix: p1- configMapGenerator: - name: com1 @@ -33,8 +168,6 @@ configMapGenerator: - from=base `) th.writeK("/app/base2", ` -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization namePrefix: p2- configMapGenerator: - name: com2 @@ -43,8 +176,6 @@ configMapGenerator: - from=base `) th.writeK("/app/overlay/o1", ` -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization bases: - ../../base1 configMapGenerator: @@ -54,8 +185,6 @@ configMapGenerator: - from=overlay `) th.writeK("/app/overlay/o2", ` -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization bases: - ../../base2 configMapGenerator: @@ -65,8 +194,6 @@ configMapGenerator: - from=overlay `) th.writeK("/app/overlay", ` -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization bases: - o1 - o2