mirror of
https://github.com/kubernetes-sigs/kustomize.git
synced 2026-06-13 01:50:55 +00:00
More generator tests.
This commit is contained in:
@@ -20,11 +20,146 @@ import (
|
|||||||
"testing"
|
"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 := NewKustTestHarness(t, "/app/overlay")
|
||||||
th.writeK("/app/base1", `
|
th.writeK("/app/base1", `
|
||||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
|
||||||
kind: Kustomization
|
|
||||||
namePrefix: p1-
|
namePrefix: p1-
|
||||||
configMapGenerator:
|
configMapGenerator:
|
||||||
- name: com1
|
- name: com1
|
||||||
@@ -33,8 +168,6 @@ configMapGenerator:
|
|||||||
- from=base
|
- from=base
|
||||||
`)
|
`)
|
||||||
th.writeK("/app/base2", `
|
th.writeK("/app/base2", `
|
||||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
|
||||||
kind: Kustomization
|
|
||||||
namePrefix: p2-
|
namePrefix: p2-
|
||||||
configMapGenerator:
|
configMapGenerator:
|
||||||
- name: com2
|
- name: com2
|
||||||
@@ -43,8 +176,6 @@ configMapGenerator:
|
|||||||
- from=base
|
- from=base
|
||||||
`)
|
`)
|
||||||
th.writeK("/app/overlay/o1", `
|
th.writeK("/app/overlay/o1", `
|
||||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
|
||||||
kind: Kustomization
|
|
||||||
bases:
|
bases:
|
||||||
- ../../base1
|
- ../../base1
|
||||||
configMapGenerator:
|
configMapGenerator:
|
||||||
@@ -54,8 +185,6 @@ configMapGenerator:
|
|||||||
- from=overlay
|
- from=overlay
|
||||||
`)
|
`)
|
||||||
th.writeK("/app/overlay/o2", `
|
th.writeK("/app/overlay/o2", `
|
||||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
|
||||||
kind: Kustomization
|
|
||||||
bases:
|
bases:
|
||||||
- ../../base2
|
- ../../base2
|
||||||
configMapGenerator:
|
configMapGenerator:
|
||||||
@@ -65,8 +194,6 @@ configMapGenerator:
|
|||||||
- from=overlay
|
- from=overlay
|
||||||
`)
|
`)
|
||||||
th.writeK("/app/overlay", `
|
th.writeK("/app/overlay", `
|
||||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
|
||||||
kind: Kustomization
|
|
||||||
bases:
|
bases:
|
||||||
- o1
|
- o1
|
||||||
- o2
|
- o2
|
||||||
|
|||||||
Reference in New Issue
Block a user