Skip to content

Commit f8c80b7

Browse files
authored
Merge pull request #812 from monopole/moreGeneratorTests
More generator tests.
2 parents 8db82d2 + 0488f57 commit f8c80b7

File tree

1 file changed

+138
-11
lines changed

1 file changed

+138
-11
lines changed

pkg/target/configmaps_test.go

Lines changed: 138 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,146 @@ import (
2020
"testing"
2121
)
2222

23-
func TestGenerator1(t *testing.T) {
23+
// Generate a Secret and a ConfigMap from the same data
24+
// to compare the result.
25+
func TestGeneratorBasics(t *testing.T) {
26+
th := NewKustTestHarness(t, "/app")
27+
th.writeK("/app", `
28+
namePrefix: blah-
29+
configMapGenerator:
30+
- name: bob
31+
literals:
32+
- fruit=apple
33+
- vegetable=broccoli
34+
env: foo.env
35+
files:
36+
- passphrase=phrase.dat
37+
- forces.txt
38+
secretGenerator:
39+
- name: bob
40+
literals:
41+
- fruit=apple
42+
- vegetable=broccoli
43+
env: foo.env
44+
files:
45+
- passphrase=phrase.dat
46+
- forces.txt
47+
`)
48+
th.writeF("/app/foo.env", `
49+
MOUNTAIN=everest
50+
OCEAN=pacific
51+
`)
52+
th.writeF("/app/phrase.dat", `
53+
Life is short.
54+
But the years are long.
55+
Not while the evil days come not.
56+
`)
57+
th.writeF("/app/forces.txt", `
58+
gravitational
59+
electromagnetic
60+
strong nuclear
61+
weak nuclear
62+
`)
63+
m, err := th.makeKustTarget().MakeCustomizedResMap()
64+
if err != nil {
65+
t.Fatalf("Err: %v", err)
66+
}
67+
th.assertActualEqualsExpected(m, `
68+
apiVersion: v1
69+
data:
70+
MOUNTAIN: everest
71+
OCEAN: pacific
72+
forces.txt: |2
73+
74+
gravitational
75+
electromagnetic
76+
strong nuclear
77+
weak nuclear
78+
fruit: apple
79+
passphrase: |2
80+
81+
Life is short.
82+
But the years are long.
83+
Not while the evil days come not.
84+
vegetable: broccoli
85+
kind: ConfigMap
86+
metadata:
87+
name: blah-bob-k772g5db55
88+
---
89+
apiVersion: v1
90+
data:
91+
MOUNTAIN: ZXZlcmVzdA==
92+
OCEAN: cGFjaWZpYw==
93+
forces.txt: CmdyYXZpdGF0aW9uYWwKZWxlY3Ryb21hZ25ldGljCnN0cm9uZyBudWNsZWFyCndlYWsgbnVjbGVhcgo=
94+
fruit: YXBwbGU=
95+
passphrase: CkxpZmUgaXMgc2hvcnQuCkJ1dCB0aGUgeWVhcnMgYXJlIGxvbmcuCk5vdCB3aGlsZSB0aGUgZXZpbCBkYXlzIGNvbWUgbm90Lgo=
96+
vegetable: YnJvY2NvbGk=
97+
kind: Secret
98+
metadata:
99+
name: blah-bob-gmc2824f4b
100+
type: Opaque
101+
`)
102+
}
103+
104+
// TODO: These should be errors instead.
105+
func TestGeneratorRepeatsInKustomization(t *testing.T) {
106+
th := NewKustTestHarness(t, "/app")
107+
th.writeK("/app", `
108+
namePrefix: blah-
109+
configMapGenerator:
110+
- name: bob
111+
behavior: create
112+
literals:
113+
- bean=pinto
114+
- star=wolf-rayet
115+
literals:
116+
- fruit=apple
117+
- vegetable=broccoli
118+
files:
119+
- forces.txt
120+
files:
121+
- nobles=nobility.txt
122+
`)
123+
th.writeF("/app/forces.txt", `
124+
gravitational
125+
electromagnetic
126+
strong nuclear
127+
weak nuclear
128+
`)
129+
th.writeF("/app/nobility.txt", `
130+
helium
131+
neon
132+
argon
133+
krypton
134+
xenon
135+
radon
136+
`)
137+
m, err := th.makeKustTarget().MakeCustomizedResMap()
138+
if err != nil {
139+
t.Fatalf("Err: %v", err)
140+
}
141+
th.assertActualEqualsExpected(m, `
142+
apiVersion: v1
143+
data:
144+
fruit: apple
145+
nobles: |2
146+
147+
helium
148+
neon
149+
argon
150+
krypton
151+
xenon
152+
radon
153+
vegetable: broccoli
154+
kind: ConfigMap
155+
metadata:
156+
name: blah-bob-gfkcbk5ckf
157+
`)
158+
}
159+
160+
func TestGeneratorOverlays(t *testing.T) {
24161
th := NewKustTestHarness(t, "/app/overlay")
25162
th.writeK("/app/base1", `
26-
apiVersion: kustomize.config.k8s.io/v1beta1
27-
kind: Kustomization
28163
namePrefix: p1-
29164
configMapGenerator:
30165
- name: com1
@@ -33,8 +168,6 @@ configMapGenerator:
33168
- from=base
34169
`)
35170
th.writeK("/app/base2", `
36-
apiVersion: kustomize.config.k8s.io/v1beta1
37-
kind: Kustomization
38171
namePrefix: p2-
39172
configMapGenerator:
40173
- name: com2
@@ -43,8 +176,6 @@ configMapGenerator:
43176
- from=base
44177
`)
45178
th.writeK("/app/overlay/o1", `
46-
apiVersion: kustomize.config.k8s.io/v1beta1
47-
kind: Kustomization
48179
bases:
49180
- ../../base1
50181
configMapGenerator:
@@ -54,8 +185,6 @@ configMapGenerator:
54185
- from=overlay
55186
`)
56187
th.writeK("/app/overlay/o2", `
57-
apiVersion: kustomize.config.k8s.io/v1beta1
58-
kind: Kustomization
59188
bases:
60189
- ../../base2
61190
configMapGenerator:
@@ -65,8 +194,6 @@ configMapGenerator:
65194
- from=overlay
66195
`)
67196
th.writeK("/app/overlay", `
68-
apiVersion: kustomize.config.k8s.io/v1beta1
69-
kind: Kustomization
70197
bases:
71198
- o1
72199
- o2

0 commit comments

Comments
 (0)