Merge pull request #1869 from Dingshujie/mv_test_example_to_krusty

mv /api/internal/target example to /api/krusty
This commit is contained in:
Kubernetes Prow Robot
2019-11-30 06:19:02 -08:00
committed by GitHub
14 changed files with 147 additions and 325 deletions

View File

@@ -1,18 +1,16 @@
// Copyright 2019 The Kubernetes Authors.
// SPDX-License-Identifier: Apache-2.0
package target_test
package krusty_test
import (
"testing"
kusttest_test "sigs.k8s.io/kustomize/api/testutils/kusttest"
)
// Generate a Secret and a ConfigMap from the same data
// to compare the result.
func TestGeneratorBasics(t *testing.T) {
th := kusttest_test.NewKustTestHarness(t, "/app")
th := makeTestHarness(t)
th.WriteK("/app", `
namePrefix: blah-
configMapGenerator:
@@ -59,10 +57,8 @@ electromagnetic
strong nuclear
weak nuclear
`)
m, err := th.MakeKustTarget().MakeCustomizedResMap()
if err != nil {
t.Fatalf("Err: %v", err)
}
m := th.Run("/app", th.MakeDefaultOptions())
th.AssertActualEqualsExpected(m, `
apiVersion: v1
data:
@@ -111,7 +107,7 @@ type: Opaque
// TODO: These should be errors instead.
func TestGeneratorRepeatsInKustomization(t *testing.T) {
th := kusttest_test.NewKustTestHarness(t, "/app")
th := makeTestHarness(t)
th.WriteK("/app", `
namePrefix: blah-
configMapGenerator:
@@ -142,10 +138,7 @@ krypton
xenon
radon
`)
m, err := th.MakeKustTarget().MakeCustomizedResMap()
if err != nil {
t.Fatalf("Err: %v", err)
}
m := th.Run("/app", th.MakeDefaultOptions())
th.AssertActualEqualsExpected(m, `
apiVersion: v1
data:
@@ -166,7 +159,7 @@ metadata:
}
func TestGeneratorOverlays(t *testing.T) {
th := kusttest_test.NewKustTestHarness(t, "/app/overlay")
th := makeTestHarness(t)
th.WriteK("/app/base1", `
namePrefix: p1-
configMapGenerator:
@@ -212,10 +205,7 @@ configMapGenerator:
- foo=bar
- baz=qux
`)
m, err := th.MakeKustTarget().MakeCustomizedResMap()
if err != nil {
t.Fatalf("Err: %v", err)
}
m := th.Run("/app/overlay", th.MakeDefaultOptions())
th.AssertActualEqualsExpected(m, `
apiVersion: v1
data:
@@ -240,7 +230,8 @@ metadata:
}
func TestConfigMapGeneratorMergeNamePrefix(t *testing.T) {
th := kusttest_test.NewKustTestHarness(t, "/app")
th := makeTestHarness(t)
th.WriteK("/app/base", `
configMapGenerator:
- name: cm
@@ -272,10 +263,7 @@ configMapGenerator:
literals:
- big=crunch
`)
m, err := th.MakeKustTarget().MakeCustomizedResMap()
if err != nil {
t.Fatalf("Err: %v", err)
}
m := th.Run("/app", th.MakeDefaultOptions())
th.AssertActualEqualsExpected(m, `
apiVersion: v1
data:

View File

@@ -1,15 +1,13 @@
// Copyright 2019 The Kubernetes Authors.
// SPDX-License-Identifier: Apache-2.0
package target_test
package krusty_test
import (
"testing"
kusttest_test "sigs.k8s.io/kustomize/api/testutils/kusttest"
)
func writeBaseWithCrd(th *kusttest_test.KustTestHarness) {
func writeBaseWithCrd(th testingHarness) {
th.WriteK("/app/base", `
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
@@ -225,12 +223,9 @@ data:
}
func TestCrdBase(t *testing.T) {
th := kusttest_test.NewKustTestHarness(t, "/app/base")
th := makeTestHarness(t)
writeBaseWithCrd(th)
m, err := th.MakeKustTarget().MakeCustomizedResMap()
if err != nil {
t.Fatalf("Err: %v", err)
}
m := th.Run("/app/base", th.MakeDefaultOptions())
th.AssertActualEqualsExpected(m, `
apiVersion: v1
data:
@@ -259,7 +254,7 @@ spec:
}
func TestCrdWithOverlay(t *testing.T) {
th := kusttest_test.NewKustTestHarness(t, "/app/overlay")
th := makeTestHarness(t)
writeBaseWithCrd(th)
th.WriteK("/app/overlay", `
apiVersion: kustomize.config.k8s.io/v1beta1
@@ -278,10 +273,7 @@ metadata:
spec:
action: makehoney
`)
m, err := th.MakeKustTarget().MakeCustomizedResMap()
if err != nil {
t.Fatalf("Err: %v", err)
}
m := th.Run("/app/overlay", th.MakeDefaultOptions())
th.AssertActualEqualsExpected(m, `
apiVersion: v1
@@ -311,7 +303,7 @@ spec:
}
func TestCrdWithContainers(t *testing.T) {
th := kusttest_test.NewKustTestHarness(t, "/app/crd/containers")
th := makeTestHarness(t)
th.WriteK("/app/crd/containers", `
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
@@ -343,10 +335,7 @@ spec:
containers:
description: Containers allows injecting additional containers
`)
m, err := th.MakeKustTarget().MakeCustomizedResMap()
if err != nil {
t.Fatalf("Err: %v", err)
}
m := th.Run("/app/crd/containers", th.MakeDefaultOptions())
th.AssertActualEqualsExpected(m, `
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition

View File

@@ -1,12 +1,10 @@
// Copyright 2019 The Kubernetes Authors.
// SPDX-License-Identifier: Apache-2.0
package target_test
package krusty_test
import (
"testing"
kusttest_test "sigs.k8s.io/kustomize/api/testutils/kusttest"
)
// Here's a structure of two kustomizations,
@@ -30,7 +28,7 @@ import (
// \ | /
// base
//
func writeDiamondBase(th *kusttest_test.KustTestHarness) {
func writeDiamondBase(th testingHarness) {
th.WriteK("/app/base", `
resources:
- deploy.yaml
@@ -45,7 +43,7 @@ spec:
`)
}
func writeKirk(th *kusttest_test.KustTestHarness) {
func writeKirk(th testingHarness) {
th.WriteK("/app/kirk", `
namePrefix: kirk-
resources:
@@ -72,7 +70,7 @@ data:
`)
}
func writeSpock(th *kusttest_test.KustTestHarness) {
func writeSpock(th testingHarness) {
th.WriteK("/app/spock", `
namePrefix: spock-
resources:
@@ -90,7 +88,7 @@ spec:
`)
}
func writeBones(th *kusttest_test.KustTestHarness) {
func writeBones(th testingHarness) {
th.WriteK("/app/bones", `
namePrefix: bones-
resources:
@@ -108,7 +106,7 @@ spec:
`)
}
func writeTenants(th *kusttest_test.KustTestHarness) {
func writeTenants(th testingHarness) {
th.WriteK("/app/tenants", `
namePrefix: t-
resources:
@@ -139,7 +137,7 @@ data:
}
func TestBasicDiamond(t *testing.T) {
th := kusttest_test.NewKustTestHarness(t, "/app/prod")
th := makeTestHarness(t)
writeDiamondBase(th)
writeKirk(th)
writeSpock(th)
@@ -177,10 +175,7 @@ data:
zone: twilight
`)
m, err := th.MakeKustTarget().MakeCustomizedResMap()
if err != nil {
t.Fatalf("Err: %v", err)
}
m := th.Run("/app/prod", th.MakeDefaultOptions())
th.AssertActualEqualsExpected(m, `
apiVersion: v1
kind: Deployment

View File

@@ -1,15 +1,13 @@
// Copyright 2019 The Kubernetes Authors.
// SPDX-License-Identifier: Apache-2.0
package target_test
package krusty_test
import (
"testing"
kusttest_test "sigs.k8s.io/kustomize/api/testutils/kusttest"
)
func makeCommonFileForExtendedPatchTest(th *kusttest_test.KustTestHarness) {
func makeCommonFileForExtendedPatchTest(th testingHarness) {
th.WriteF("/app/base/deployment.yaml", `
apiVersion: apps/v1beta2
kind: Deployment
@@ -89,7 +87,7 @@ spec:
}
func TestExtendedPatchNameSelector(t *testing.T) {
th := kusttest_test.NewKustTestHarness(t, "/app/base")
th := makeTestHarness(t)
makeCommonFileForExtendedPatchTest(th)
th.WriteK("/app/base", `
resources:
@@ -108,10 +106,7 @@ metadata:
annotations:
new-key: new-value
`)
m, err := th.MakeKustTarget().MakeCustomizedResMap()
if err != nil {
t.Fatalf("Err: %v", err)
}
m := th.Run("/app/base", th.MakeDefaultOptions())
th.AssertActualEqualsExpected(m, `
apiVersion: apps/v1beta2
kind: Deployment
@@ -194,7 +189,7 @@ spec:
}
func TestExtendedPatchGvkSelector(t *testing.T) {
th := kusttest_test.NewKustTestHarness(t, "/app/base")
th := makeTestHarness(t)
makeCommonFileForExtendedPatchTest(th)
th.WriteK("/app/base", `
resources:
@@ -213,10 +208,7 @@ metadata:
annotations:
new-key: new-value
`)
m, err := th.MakeKustTarget().MakeCustomizedResMap()
if err != nil {
t.Fatalf("Err: %v", err)
}
m := th.Run("/app/base", th.MakeDefaultOptions())
th.AssertActualEqualsExpected(m, `
apiVersion: apps/v1beta2
kind: Deployment
@@ -299,7 +291,7 @@ spec:
}
func TestExtendedPatchLabelSelector(t *testing.T) {
th := kusttest_test.NewKustTestHarness(t, "/app/base")
th := makeTestHarness(t)
makeCommonFileForExtendedPatchTest(th)
th.WriteK("/app/base", `
resources:
@@ -318,10 +310,7 @@ metadata:
annotations:
new-key: new-value
`)
m, err := th.MakeKustTarget().MakeCustomizedResMap()
if err != nil {
t.Fatalf("Err: %v", err)
}
m := th.Run("/app/base", th.MakeDefaultOptions())
th.AssertActualEqualsExpected(m, `
apiVersion: apps/v1beta2
kind: Deployment
@@ -404,7 +393,7 @@ spec:
}
func TestExtendedPatchNameGvkSelector(t *testing.T) {
th := kusttest_test.NewKustTestHarness(t, "/app/base")
th := makeTestHarness(t)
makeCommonFileForExtendedPatchTest(th)
th.WriteK("/app/base", `
resources:
@@ -424,10 +413,7 @@ metadata:
annotations:
new-key: new-value
`)
m, err := th.MakeKustTarget().MakeCustomizedResMap()
if err != nil {
t.Fatalf("Err: %v", err)
}
m := th.Run("/app/base", th.MakeDefaultOptions())
th.AssertActualEqualsExpected(m, `
apiVersion: apps/v1beta2
kind: Deployment
@@ -508,7 +494,7 @@ spec:
}
func TestExtendedPatchNameLabelSelector(t *testing.T) {
th := kusttest_test.NewKustTestHarness(t, "/app/base")
th := makeTestHarness(t)
makeCommonFileForExtendedPatchTest(th)
th.WriteK("/app/base", `
resources:
@@ -528,10 +514,7 @@ metadata:
annotations:
new-key: new-value
`)
m, err := th.MakeKustTarget().MakeCustomizedResMap()
if err != nil {
t.Fatalf("Err: %v", err)
}
m := th.Run("/app/base", th.MakeDefaultOptions())
th.AssertActualEqualsExpected(m, `
apiVersion: apps/v1beta2
kind: Deployment
@@ -614,7 +597,7 @@ spec:
}
func TestExtendedPatchGvkLabelSelector(t *testing.T) {
th := kusttest_test.NewKustTestHarness(t, "/app/base")
th := makeTestHarness(t)
makeCommonFileForExtendedPatchTest(th)
th.WriteK("/app/base", `
resources:
@@ -634,10 +617,7 @@ metadata:
annotations:
new-key: new-value
`)
m, err := th.MakeKustTarget().MakeCustomizedResMap()
if err != nil {
t.Fatalf("Err: %v", err)
}
m := th.Run("/app/base", th.MakeDefaultOptions())
th.AssertActualEqualsExpected(m, `
apiVersion: apps/v1beta2
kind: Deployment
@@ -718,7 +698,7 @@ spec:
}
func TestExtendedPatchNameGvkLabelSelector(t *testing.T) {
th := kusttest_test.NewKustTestHarness(t, "/app/base")
th := makeTestHarness(t)
makeCommonFileForExtendedPatchTest(th)
th.WriteK("/app/base", `
resources:
@@ -739,10 +719,7 @@ metadata:
annotations:
new-key: new-value
`)
m, err := th.MakeKustTarget().MakeCustomizedResMap()
if err != nil {
t.Fatalf("Err: %v", err)
}
m := th.Run("/app/base", th.MakeDefaultOptions())
th.AssertActualEqualsExpected(m, `
apiVersion: apps/v1beta2
kind: Deployment
@@ -823,7 +800,7 @@ spec:
}
func TestExtendedPatchNoMatch(t *testing.T) {
th := kusttest_test.NewKustTestHarness(t, "/app/base")
th := makeTestHarness(t)
makeCommonFileForExtendedPatchTest(th)
th.WriteK("/app/base", `
resources:
@@ -842,10 +819,7 @@ metadata:
annotations:
new-key: new-value
`)
m, err := th.MakeKustTarget().MakeCustomizedResMap()
if err != nil {
t.Fatalf("Err: %v", err)
}
m := th.Run("/app/base", th.MakeDefaultOptions())
th.AssertActualEqualsExpected(m, `
apiVersion: apps/v1beta2
kind: Deployment
@@ -924,7 +898,7 @@ spec:
}
func TestExtendedPatchWithoutTarget(t *testing.T) {
th := kusttest_test.NewKustTestHarness(t, "/app/base")
th := makeTestHarness(t)
makeCommonFileForExtendedPatchTest(th)
th.WriteK("/app/base", `
resources:
@@ -941,10 +915,7 @@ metadata:
annotations:
new-key: new-value
`)
m, err := th.MakeKustTarget().MakeCustomizedResMap()
if err != nil {
t.Fatalf("Err: %v", err)
}
m := th.Run("/app/base", th.MakeDefaultOptions())
th.AssertActualEqualsExpected(m, `
apiVersion: apps/v1beta2
kind: Deployment
@@ -1025,7 +996,7 @@ spec:
}
func TestExtendedPatchNoMatchMultiplePatch(t *testing.T) {
th := kusttest_test.NewKustTestHarness(t, "/app/base")
th := makeTestHarness(t)
makeCommonFileForExtendedPatchTest(th)
th.WriteK("/app/base", `
resources:
@@ -1048,10 +1019,7 @@ metadata:
annotations:
new-key: new-value
`)
m, err := th.MakeKustTarget().MakeCustomizedResMap()
if err != nil {
t.Fatalf("Err: %v", err)
}
m := th.Run("/app/base", th.MakeDefaultOptions())
th.AssertActualEqualsExpected(m, `
apiVersion: apps/v1beta2
kind: Deployment
@@ -1130,7 +1098,7 @@ spec:
}
func TestExtendedPatchMultiplePatchOverlapping(t *testing.T) {
th := kusttest_test.NewKustTestHarness(t, "/app/base")
th := makeTestHarness(t)
makeCommonFileForExtendedPatchTest(th)
th.WriteK("/app/base", `
resources:
@@ -1161,10 +1129,7 @@ metadata:
annotations:
new-key-from-patch2: new-value
`)
m, err := th.MakeKustTarget().MakeCustomizedResMap()
if err != nil {
t.Fatalf("Err: %v", err)
}
m := th.Run("/app/base", th.MakeDefaultOptions())
th.AssertActualEqualsExpected(m, `
apiVersion: apps/v1beta2
kind: Deployment

View File

@@ -1,17 +1,15 @@
// Copyright 2019 The Kubernetes Authors.
// SPDX-License-Identifier: Apache-2.0
package target_test
package krusty_test
import (
"strings"
"testing"
kusttest_test "sigs.k8s.io/kustomize/api/testutils/kusttest"
)
func TestSimpleBase(t *testing.T) {
th := kusttest_test.NewKustTestHarness(t, "/app/base")
th := makeTestHarness(t)
th.WriteK("/app/base", `
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
@@ -72,10 +70,7 @@ spec:
- name: nginx
image: nginx
`)
m, err := th.MakeKustTarget().MakeCustomizedResMap()
if err != nil {
t.Fatalf("Err: %v", err)
}
m := th.Run("/app/base", th.MakeDefaultOptions())
th.AssertActualEqualsExpected(m, `
apiVersion: v1
kind: Service
@@ -151,7 +146,7 @@ spec:
`)
}
func makeBaseWithGenerators(th *kusttest_test.KustTestHarness) {
func makeBaseWithGenerators(th testingHarness) {
th.WriteK("/app", `
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
@@ -217,12 +212,9 @@ spec:
}
func TestBaseWithGeneratorsAlone(t *testing.T) {
th := kusttest_test.NewKustTestHarness(t, "/app")
th := makeTestHarness(t)
makeBaseWithGenerators(th)
m, err := th.MakeKustTarget().MakeCustomizedResMap()
if err != nil {
t.Fatalf("Err: %v", err)
}
m := th.Run("/app", th.MakeDefaultOptions())
th.AssertActualEqualsExpected(m, `
apiVersion: apps/v1beta2
kind: Deployment
@@ -311,7 +303,7 @@ type: Opaque
}
func TestMergeAndReplaceGenerators(t *testing.T) {
th := kusttest_test.NewKustTestHarness(t, "/overlay")
th := makeTestHarness(t)
makeBaseWithGenerators(th)
th.WriteF("/overlay/deployment.yaml", `
apiVersion: apps/v1beta2
@@ -355,10 +347,7 @@ secretGenerator:
literals:
- proxy=haproxy
`)
m, err := th.MakeKustTarget().MakeCustomizedResMap()
if err != nil {
t.Fatalf("Err: %v", err)
}
m := th.Run("/overlay", th.MakeDefaultOptions())
th.AssertActualEqualsExpected(m, `
apiVersion: apps/v1beta2
kind: Deployment
@@ -469,7 +458,7 @@ metadata:
}
func TestGeneratingIntoNamespaces(t *testing.T) {
th := kusttest_test.NewKustTestHarness(t, "/app")
th := makeTestHarness(t)
th.WriteK("/app", `
configMapGenerator:
- name: test
@@ -492,10 +481,7 @@ secretGenerator:
- username=admin
- password=somepw
`)
m, err := th.MakeKustTarget().MakeCustomizedResMap()
if err != nil {
t.Fatalf("Err: %v", err)
}
m := th.Run("/app", th.MakeDefaultOptions())
th.AssertActualEqualsExpected(m, `
apiVersion: v1
data:
@@ -538,7 +524,7 @@ type: Opaque
// Valid that conflict is detected is the name are identical
// and namespace left to default
func TestConfigMapGeneratingIntoSameNamespace(t *testing.T) {
th := kusttest_test.NewKustTestHarness(t, "/app")
th := makeTestHarness(t)
th.WriteK("/app", `
configMapGenerator:
- name: test
@@ -549,7 +535,7 @@ configMapGenerator:
literals:
- key=value
`)
_, err := th.MakeKustTarget().MakeCustomizedResMap()
err := th.RunWithErr("/app", th.MakeDefaultOptions())
if err == nil {
t.Fatalf("expected error")
}
@@ -561,7 +547,7 @@ configMapGenerator:
// Valid that conflict is detected is the name are identical
// and namespace left to default
func TestSecretGeneratingIntoSameNamespace(t *testing.T) {
th := kusttest_test.NewKustTestHarness(t, "/app")
th := makeTestHarness(t)
th.WriteK("/app", `
secretGenerator:
- name: test
@@ -574,7 +560,7 @@ secretGenerator:
- username=admin
- password=somepw
`)
_, err := th.MakeKustTarget().MakeCustomizedResMap()
err := th.RunWithErr("/app", th.MakeDefaultOptions())
if err == nil {
t.Fatalf("expected error")
}

View File

@@ -1,16 +1,14 @@
// Copyright 2019 The Kubernetes Authors.
// SPDX-License-Identifier: Apache-2.0
package target_test
package krusty_test
import (
"testing"
kusttest_test "sigs.k8s.io/kustomize/api/testutils/kusttest"
)
func TestSecretGenerator(t *testing.T) {
th := kusttest_test.NewKustTestHarness(t, "/app")
th := makeTestHarness(t)
th.WriteK("/app", `
secretGenerator:
- name: bob
@@ -28,10 +26,7 @@ MOUNTAIN=everest
OCEAN=pacific
`)
th.WriteF("/app/phrase.dat", "dat phrase")
m, err := th.MakeKustTarget().MakeCustomizedResMap()
if err != nil {
t.Fatalf("Err: %v", err)
}
m := th.Run("/app", th.MakeDefaultOptions())
th.AssertActualEqualsExpected(m, `
apiVersion: v1
data:
@@ -49,7 +44,7 @@ type: Opaque
}
func TestGeneratorOptionsWithBases(t *testing.T) {
th := kusttest_test.NewKustTestHarness(t, "/app/overlay")
th := makeTestHarness(t)
th.WriteK("/app/base", `
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
@@ -76,10 +71,7 @@ configMapGenerator:
literals:
- fruit=apple
`)
m, err := th.MakeKustTarget().MakeCustomizedResMap()
if err != nil {
t.Fatalf("Err: %v", err)
}
m := th.Run("/app/overlay", th.MakeDefaultOptions())
th.AssertActualEqualsExpected(m, `
apiVersion: v1
data:

View File

@@ -1,15 +1,13 @@
// Copyright 2019 The Kubernetes Authors.
// SPDX-License-Identifier: Apache-2.0
package target_test
package krusty_test
import (
"testing"
kusttest_test "sigs.k8s.io/kustomize/api/testutils/kusttest"
)
func makeResourcesForPatchTest(th *kusttest_test.KustTestHarness) {
func makeResourcesForPatchTest(th testingHarness) {
th.WriteF("/app/base/deployment.yaml", `
apiVersion: apps/v1
kind: Deployment
@@ -39,7 +37,7 @@ spec:
}
func TestStrategicMergePatchInline(t *testing.T) {
th := kusttest_test.NewKustTestHarness(t, "/app/base")
th := makeTestHarness(t)
makeResourcesForPatchTest(th)
th.WriteK("/app/base", `
resources:
@@ -58,10 +56,7 @@ patchesStrategicMerge:
- name: nginx
image: image1
`)
m, err := th.MakeKustTarget().MakeCustomizedResMap()
if err != nil {
t.Fatalf("Err: %v", err)
}
m := th.Run("/app/base", th.MakeDefaultOptions())
th.AssertActualEqualsExpected(m, `
apiVersion: apps/v1
kind: Deployment
@@ -91,7 +86,7 @@ spec:
}
func TestJSONPatchInline(t *testing.T) {
th := kusttest_test.NewKustTestHarness(t, "/app/base")
th := makeTestHarness(t)
makeResourcesForPatchTest(th)
th.WriteK("/app/base", `
resources:
@@ -108,10 +103,7 @@ patchesJson6902:
path: /spec/template/spec/containers/0/image
value: image1
`)
m, err := th.MakeKustTarget().MakeCustomizedResMap()
if err != nil {
t.Fatalf("Err: %v", err)
}
m := th.Run("/app/base", th.MakeDefaultOptions())
th.AssertActualEqualsExpected(m, `
apiVersion: apps/v1
kind: Deployment
@@ -141,7 +133,7 @@ spec:
}
func TestExtendedPatchInlineJSON(t *testing.T) {
th := kusttest_test.NewKustTestHarness(t, "/app/base")
th := makeTestHarness(t)
makeResourcesForPatchTest(th)
th.WriteK("/app/base", `
resources:
@@ -156,10 +148,7 @@ patches:
path: /spec/template/spec/containers/0/image
value: image1
`)
m, err := th.MakeKustTarget().MakeCustomizedResMap()
if err != nil {
t.Fatalf("Err: %v", err)
}
m := th.Run("/app/base", th.MakeDefaultOptions())
th.AssertActualEqualsExpected(m, `
apiVersion: apps/v1
kind: Deployment
@@ -189,7 +178,7 @@ spec:
}
func TestExtendedPatchInlineYAML(t *testing.T) {
th := kusttest_test.NewKustTestHarness(t, "/app/base")
th := makeTestHarness(t)
makeResourcesForPatchTest(th)
th.WriteK("/app/base", `
resources:
@@ -211,10 +200,7 @@ patches:
- name: nginx
image: image1
`)
m, err := th.MakeKustTarget().MakeCustomizedResMap()
if err != nil {
t.Fatalf("Err: %v", err)
}
m := th.Run("/app/base", th.MakeDefaultOptions())
th.AssertActualEqualsExpected(m, `
apiVersion: apps/v1
kind: Deployment

View File

@@ -1,16 +1,14 @@
// Copyright 2019 The Kubernetes Authors.
// SPDX-License-Identifier: Apache-2.0
package target_test
package krusty_test
import (
"strings"
"testing"
kusttest_test "sigs.k8s.io/kustomize/api/testutils/kusttest"
)
func makeCommonFileForMultiplePatchTest(th *kusttest_test.KustTestHarness) {
func makeCommonFileForMultiplePatchTest(th testingHarness) {
th.WriteK("/app/base", `
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
@@ -89,7 +87,7 @@ configMapGenerator:
}
func TestMultiplePatchesNoConflict(t *testing.T) {
th := kusttest_test.NewKustTestHarness(t, "/app/overlay/staging")
th := makeTestHarness(t)
makeCommonFileForMultiplePatchTest(th)
th.WriteF("/app/overlay/staging/deployment-patch1.yaml", `
apiVersion: apps/v1beta2
@@ -130,10 +128,7 @@ spec:
volumes:
- name: nginx-persistent-storage
`)
m, err := th.MakeKustTarget().MakeCustomizedResMap()
if err != nil {
t.Fatalf("Err: %v", err)
}
m := th.Run("/app/overlay/staging", th.MakeDefaultOptions())
th.AssertActualEqualsExpected(m, `
apiVersion: apps/v1beta2
kind: Deployment
@@ -233,7 +228,7 @@ metadata:
}
func TestMultiplePatchesWithConflict(t *testing.T) {
th := kusttest_test.NewKustTestHarness(t, "/app/overlay/staging")
th := makeTestHarness(t)
makeCommonFileForMultiplePatchTest(th)
th.WriteF("/app/overlay/staging/deployment-patch1.yaml", `
apiVersion: apps/v1beta2
@@ -271,7 +266,7 @@ spec:
- name: ENABLE_FEATURE_FOO
value: FALSE
`)
_, err := th.MakeKustTarget().MakeCustomizedResMap()
err := th.RunWithErr("/app/overlay/staging", th.MakeDefaultOptions())
if err == nil {
t.Fatalf("expected conflict")
}
@@ -325,15 +320,12 @@ spec:
}
for _, c := range cases {
t.Run(c.name, func(t *testing.T) {
th := kusttest_test.NewKustTestHarness(t, "/app/overlay/staging")
th := makeTestHarness(t)
makeCommonFileForMultiplePatchTest(th)
th.WriteF("/app/overlay/staging/deployment-patch1.yaml", c.patch1)
th.WriteF("/app/overlay/staging/deployment-patch2.yaml", c.patch2)
m, err := th.MakeKustTarget().MakeCustomizedResMap()
if err != nil {
t.Fatalf("Err: %v", err)
}
m := th.Run("/app/overlay/staging", th.MakeDefaultOptions())
th.AssertActualEqualsExpected(m, `apiVersion: apps/v1beta2
kind: Deployment
metadata:
@@ -426,7 +418,7 @@ metadata:
}
func TestMultiplePatchesBothWithPatchDeleteDirective(t *testing.T) {
th := kusttest_test.NewKustTestHarness(t, "/app/overlay/staging")
th := makeTestHarness(t)
makeCommonFileForMultiplePatchTest(th)
th.WriteF("/app/overlay/staging/deployment-patch1.yaml", `
apiVersion: apps/v1beta2
@@ -452,7 +444,7 @@ spec:
- $patch: delete
name: nginx
`)
_, err := th.MakeKustTarget().MakeCustomizedResMap()
err := th.RunWithErr("/app/overlay/staging", th.MakeDefaultOptions())
if err == nil {
t.Fatalf("Expected error")
}

View File

@@ -1,16 +1,14 @@
// Copyright 2019 The Kubernetes Authors.
// SPDX-License-Identifier: Apache-2.0
package target_test
package krusty_test
import (
"testing"
kusttest_test "sigs.k8s.io/kustomize/api/testutils/kusttest"
)
func TestNamespacedGenerator(t *testing.T) {
th := kusttest_test.NewKustTestHarness(t, "/app")
th := makeTestHarness(t)
th.WriteK("/app", `
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
@@ -34,10 +32,7 @@ secretGenerator:
literals:
- password.txt=anotherSecret
`)
m, err := th.MakeKustTarget().MakeCustomizedResMap()
if err != nil {
t.Fatalf("Err: %v", err)
}
m := th.Run("/app", th.MakeDefaultOptions())
th.AssertActualEqualsExpected(m, `
apiVersion: v1
data:
@@ -76,7 +71,7 @@ type: Opaque
}
func TestNamespacedGeneratorWithOverlays(t *testing.T) {
th := kusttest_test.NewKustTestHarness(t, "/app/overlay")
th := makeTestHarness(t)
th.WriteK("/app/base", `
namespace: base
@@ -97,10 +92,7 @@ configMapGenerator:
literals:
- overlay=true
`)
m, err := th.MakeKustTarget().MakeCustomizedResMap()
if err != nil {
t.Fatalf("Err: %v", err)
}
m := th.Run("/app/overlay", th.MakeDefaultOptions())
th.AssertActualEqualsExpected(m, `
apiVersion: v1
data:

View File

@@ -1,18 +1,15 @@
// Copyright 2019 The Kubernetes Authors.
// SPDX-License-Identifier: Apache-2.0
package target_test
package krusty_test
import (
"strings"
"testing"
kusttest_test "sigs.k8s.io/kustomize/api/testutils/kusttest"
)
func TestNamespacedSecrets(t *testing.T) {
th := kusttest_test.NewKustTestHarness(t, "/app")
th := makeTestHarness(t)
th.WriteF("/app/secrets.yaml", `
apiVersion: v1
kind: Secret
@@ -51,16 +48,12 @@ resources:
- secrets.yaml
- role.yaml
`)
m, err := th.MakeKustTarget().MakeCustomizedResMap()
// This validates Fix #1444. This should not be an error anymore -
// the secrets have the same name but are in different namespaces.
// The ClusterRole (by def) is not in a namespace,
// an in this case applies to *any* Secret resource
// named "dummy"
if err != nil {
t.Fatalf("Err: %v", err)
}
m := th.Run("/app", th.MakeDefaultOptions())
th.AssertActualEqualsExpected(m, `
apiVersion: v1
data:
@@ -100,7 +93,7 @@ rules:
// PrefixSuffixTransformer and namereference transformers are
// able to deal with simultaneous change of namespace and name.
func TestNameAndNsTransformation(t *testing.T) {
th := kusttest_test.NewKustTestHarness(t, "/nameandns")
th := makeTestHarness(t)
th.WriteK("/nameandns", `
namePrefix: p1-
@@ -206,11 +199,7 @@ kind: PersistentVolume
metadata:
name: pv1
`)
m, err := th.MakeKustTarget().MakeCustomizedResMap()
if err != nil {
t.Fatalf("Err: %v", err)
}
m := th.Run("/nameandns", th.MakeDefaultOptions())
th.AssertActualEqualsExpected(m, `
apiVersion: v1
kind: ConfigMap
@@ -474,11 +463,11 @@ spec:
// using the same name in different namespaces are treated as ambiguous if the namespace is
// not specified
func TestVariablesAmbiguous(t *testing.T) {
th := kusttest_test.NewKustTestHarness(t, "/namespaceNeedInVar/myapp")
th := makeTestHarness(t)
th.WriteK("/namespaceNeedInVar/myapp", namespaceNeedInVarMyApp)
th.WriteF("/namespaceNeedInVar/myapp/elasticsearch-dev-service.yaml", namespaceNeedInVarDevResources)
th.WriteF("/namespaceNeedInVar/myapp/elasticsearch-test-service.yaml", namespaceNeedInVarTestResources)
_, err := th.MakeKustTarget().MakeCustomizedResMap()
err := th.RunWithErr("/namespaceNeedInVar/myapp", th.MakeDefaultOptions())
if err == nil {
t.Fatalf("expected error")
}
@@ -531,7 +520,7 @@ vars:
// to TestVariablesAmbiguous problem. It requires to separate the variables
// and resources into multiple kustomization context/folders instead of one.
func TestVariablesAmbiguousWorkaround(t *testing.T) {
th := kusttest_test.NewKustTestHarness(t, "/namespaceNeedInVar/workaround")
th := makeTestHarness(t)
th.WriteK("/namespaceNeedInVar/dev", namespaceNeedInVarDevFolder)
th.WriteF("/namespaceNeedInVar/dev/elasticsearch-dev-service.yaml", namespaceNeedInVarDevResources)
th.WriteK("/namespaceNeedInVar/test", namespaceNeedInVarTestFolder)
@@ -541,10 +530,7 @@ resources:
- ../dev
- ../test
`)
m, err := th.MakeKustTarget().MakeCustomizedResMap()
if err != nil {
t.Fatalf("Err: %v", err)
}
m := th.Run("/namespaceNeedInVar/workaround", th.MakeDefaultOptions())
th.AssertActualEqualsExpected(m, namespaceNeedInVarExpectedOutput)
}
@@ -590,13 +576,10 @@ vars:
// TestVariablesDisambiguatedWithNamespace demonstrates that adding the namespace
// to the variable declarations allows to disambiguate the variables.
func TestVariablesDisambiguatedWithNamespace(t *testing.T) {
th := kusttest_test.NewKustTestHarness(t, "/namespaceNeedInVar/myapp")
th := makeTestHarness(t)
th.WriteK("/namespaceNeedInVar/myapp", namespaceNeedInVarMyAppWithNamespace)
th.WriteF("/namespaceNeedInVar/myapp/elasticsearch-dev-service.yaml", namespaceNeedInVarDevResources)
th.WriteF("/namespaceNeedInVar/myapp/elasticsearch-test-service.yaml", namespaceNeedInVarTestResources)
m, err := th.MakeKustTarget().MakeCustomizedResMap()
if err != nil {
t.Fatalf("Err: %v", err)
}
m := th.Run("/namespaceNeedInVar/myapp", th.MakeDefaultOptions())
th.AssertActualEqualsExpected(m, namespaceNeedInVarExpectedOutput)
}

View File

@@ -1,16 +1,14 @@
// Copyright 2019 The Kubernetes Authors.
// SPDX-License-Identifier: Apache-2.0
package target_test
package krusty_test
import (
"testing"
kusttest_test "sigs.k8s.io/kustomize/api/testutils/kusttest"
)
func TestNullValues(t *testing.T) {
th := kusttest_test.NewKustTestHarness(t, "/app")
th := makeTestHarness(t)
th.WriteF("/app/deployment.yaml", `
apiVersion: apps/v1
kind: Deployment
@@ -38,10 +36,7 @@ kind: Kustomization
resources:
- deployment.yaml
`)
m, err := th.MakeKustTarget().MakeCustomizedResMap()
if err != nil {
t.Fatalf("Err: %v", err)
}
m := th.Run("/app", th.MakeDefaultOptions())
th.AssertActualEqualsExpected(m, `
apiVersion: apps/v1

View File

@@ -1,16 +1,14 @@
// Copyright 2019 The Kubernetes Authors.
// SPDX-License-Identifier: Apache-2.0
package target_test
package krusty_test
import (
"testing"
kusttest_test "sigs.k8s.io/kustomize/api/testutils/kusttest"
)
func TestPruneConfigMap(t *testing.T) {
th := kusttest_test.NewKustTestHarness(t, "/app/base")
th := makeTestHarness(t)
th.WriteK("/app/base", `
resources:
- deployment.yaml
@@ -88,10 +86,7 @@ data:
username: jingfang
`)
m, err := th.MakeKustTarget().MakeCustomizedResMap()
if err != nil {
t.Fatalf("Err: %v", err)
}
m := th.Run("/app/base", th.MakeDefaultOptions())
//nolint
th.AssertActualEqualsExpected(m, `
apiVersion: apps/v1beta2

View File

@@ -1,16 +1,14 @@
// Copyright 2019 The Kubernetes Authors.
// SPDX-License-Identifier: Apache-2.0
package target_test
package krusty_test
import (
"strings"
"testing"
kusttest_test "sigs.k8s.io/kustomize/api/testutils/kusttest"
)
func writeBase(th *kusttest_test.KustTestHarness) {
func writeBase(th testingHarness) {
th.WriteK("/app/base", `
resources:
- serviceaccount.yaml
@@ -64,7 +62,7 @@ rules:
`)
}
func writeMidOverlays(th *kusttest_test.KustTestHarness) {
func writeMidOverlays(th testingHarness) {
// Mid-level overlays
th.WriteK("/app/overlays/a", `
resources:
@@ -80,7 +78,7 @@ nameSuffix: -suffixB
`)
}
func writeTopOverlay(th *kusttest_test.KustTestHarness) {
func writeTopOverlay(th testingHarness) {
// Top overlay, combining the mid-level overlays
th.WriteK("/app/combined", `
resources:
@@ -90,12 +88,10 @@ resources:
}
func TestBase(t *testing.T) {
th := kusttest_test.NewKustTestHarness(t, "/app/base")
//th := kusttest_test.NewKustTestHarness(t, "/app/base")
th := makeTestHarness(t)
writeBase(th)
m, err := th.MakeKustTarget().MakeCustomizedResMap()
if err != nil {
t.Fatalf("Unexpected err: %v", err)
}
m := th.Run("/app/base", th.MakeDefaultOptions())
th.AssertActualEqualsExpected(m, `
apiVersion: v1
kind: ServiceAccount
@@ -143,13 +139,10 @@ rules:
}
func TestMidLevelA(t *testing.T) {
th := kusttest_test.NewKustTestHarness(t, "/app/overlays/a")
th := makeTestHarness(t)
writeBase(th)
writeMidOverlays(th)
m, err := th.MakeKustTarget().MakeCustomizedResMap()
if err != nil {
t.Fatalf("Unexpected err: %v", err)
}
m := th.Run("/app/overlays/a", th.MakeDefaultOptions())
th.AssertActualEqualsExpected(m, `
apiVersion: v1
kind: ServiceAccount
@@ -197,13 +190,10 @@ rules:
}
func TestMidLevelB(t *testing.T) {
th := kusttest_test.NewKustTestHarness(t, "/app/overlays/b")
th := makeTestHarness(t)
writeBase(th)
writeMidOverlays(th)
m, err := th.MakeKustTarget().MakeCustomizedResMap()
if err != nil {
t.Fatalf("Unexpected err: %v", err)
}
m := th.Run("/app/overlays/b", th.MakeDefaultOptions())
th.AssertActualEqualsExpected(m, `
apiVersion: v1
kind: ServiceAccount
@@ -251,14 +241,11 @@ rules:
}
func TestMultibasesNoConflict(t *testing.T) {
th := kusttest_test.NewKustTestHarness(t, "/app/combined")
th := makeTestHarness(t)
writeBase(th)
writeMidOverlays(th)
writeTopOverlay(th)
m, err := th.MakeKustTarget().MakeCustomizedResMap()
if err != nil {
t.Fatalf("Unexpected err: %v", err)
}
m := th.Run("/app/combined", th.MakeDefaultOptions())
th.AssertActualEqualsExpected(m, `
apiVersion: v1
kind: ServiceAccount
@@ -349,7 +336,8 @@ rules:
}
func TestMultibasesWithConflict(t *testing.T) {
th := kusttest_test.NewKustTestHarness(t, "/app/combined")
th := makeTestHarness(t)
//th := kusttest_test.NewKustTestHarness(t, "/app/combined")
writeBase(th)
writeMidOverlays(th)
writeTopOverlay(th)
@@ -370,7 +358,7 @@ metadata:
name: serviceaccount
`)
_, err := th.MakeKustTarget().MakeCustomizedResMap()
err := th.RunWithErr("/app/combined", th.MakeDefaultOptions())
if err == nil {
t.Fatalf("expected error")
}

View File

@@ -1,17 +1,15 @@
// Copyright 2019 The Kubernetes Authors.
// SPDX-License-Identifier: Apache-2.0
package target_test
package krusty_test
import (
"strings"
"testing"
kusttest_test "sigs.k8s.io/kustomize/api/testutils/kusttest"
)
func TestBasicVariableRef(t *testing.T) {
th := kusttest_test.NewKustTestHarness(t, "/app")
th := makeTestHarness(t)
th.WriteK("/app", `
namePrefix: base-
resources:
@@ -42,10 +40,7 @@ spec:
- name: FOO
value: "$(POD_NAME)"
`)
m, err := th.MakeKustTarget().MakeCustomizedResMap()
if err != nil {
t.Fatalf("Err: %v", err)
}
m := th.Run("/app", th.MakeDefaultOptions())
th.AssertActualEqualsExpected(m, `
apiVersion: v1
kind: Pod
@@ -65,7 +60,7 @@ spec:
}
func TestBasicVarCollision(t *testing.T) {
th := kusttest_test.NewKustTestHarness(t, "/app/overlay")
th := makeTestHarness(t)
th.WriteK("/app/base1", `
namePrefix: base1-
resources:
@@ -131,7 +126,7 @@ resources:
- ../base1
- ../base2
`)
_, err := th.MakeKustTarget().MakeCustomizedResMap()
err := th.RunWithErr("/app/overlay", th.MakeDefaultOptions())
if err == nil {
t.Fatalf("should have an error")
}
@@ -141,7 +136,7 @@ resources:
}
func TestVarPropagatesUp(t *testing.T) {
th := kusttest_test.NewKustTestHarness(t, "/app/overlay")
th := makeTestHarness(t)
th.WriteK("/app/base1", `
namePrefix: base1-
resources:
@@ -227,10 +222,7 @@ spec:
- name: P2
value: "$(POD_NAME2)"
`)
m, err := th.MakeKustTarget().MakeCustomizedResMap()
if err != nil {
t.Fatalf("Err: %v", err)
}
m := th.Run("/app/overlay", th.MakeDefaultOptions())
th.AssertActualEqualsExpected(m, `
apiVersion: v1
kind: Pod
@@ -287,7 +279,7 @@ spec:
// are global. So if a base with a variable is included
// twice, it's a collision, so it's denied.
func TestBug506(t *testing.T) {
th := kusttest_test.NewKustTestHarness(t, "/app/top")
th := makeTestHarness(t)
th.WriteK("/app/base", `
namePrefix: base-
resources:
@@ -357,7 +349,7 @@ resources:
name: myServer
`
*/
_, err := th.MakeKustTarget().MakeCustomizedResMap()
err := th.RunWithErr("/app/top", th.MakeDefaultOptions())
if err == nil {
t.Fatalf("should have an error")
}
@@ -367,7 +359,7 @@ resources:
}
func TestVarRefBig(t *testing.T) {
th := kusttest_test.NewKustTestHarness(t, "/app/overlay/staging")
th := makeTestHarness(t)
th.WriteK("/app/base", `
namePrefix: base-
resources:
@@ -684,10 +676,7 @@ namePrefix: dev-
resources:
- ../../base
`)
m, err := th.MakeKustTarget().MakeCustomizedResMap()
if err != nil {
t.Fatalf("Err: %v", err)
}
m := th.Run("/app/overlay/staging", th.MakeDefaultOptions())
th.AssertActualEqualsExpected(m, `
apiVersion: v1
kind: ServiceAccount
@@ -936,7 +925,7 @@ metadata:
}
func TestVariableRefIngress(t *testing.T) {
th := kusttest_test.NewKustTestHarness(t, "/app/overlay")
th := makeTestHarness(t)
th.WriteK("/app/base", `
resources:
- service.yaml
@@ -1015,10 +1004,7 @@ nameprefix: kustomized-
resources:
- ../base
`)
m, err := th.MakeKustTarget().MakeCustomizedResMap()
if err != nil {
t.Fatalf("Err: %v", err)
}
m := th.Run("/app/overlay", th.MakeDefaultOptions())
th.AssertActualEqualsExpected(m, `
apiVersion: v1
kind: Service
@@ -1078,7 +1064,7 @@ spec:
}
func TestVariableRefMountPath(t *testing.T) {
th := kusttest_test.NewKustTestHarness(t, "/app/base")
th := makeTestHarness(t)
th.WriteK("/app/base", `
resources:
- deployment.yaml
@@ -1120,10 +1106,7 @@ vars:
name: my-namespace
`)
m, err := th.MakeKustTarget().MakeCustomizedResMap()
if err != nil {
t.Fatalf("Err: %v", err)
}
m := th.Run("/app/base", th.MakeDefaultOptions())
th.AssertActualEqualsExpected(m, `
apiVersion: apps/v1
kind: Deployment
@@ -1153,7 +1136,7 @@ metadata:
}
func TestVariableRefMaps(t *testing.T) {
th := kusttest_test.NewKustTestHarness(t, "/app/base")
th := makeTestHarness(t)
th.WriteK("/app/base", `
resources:
- deployment.yaml
@@ -1186,10 +1169,7 @@ vars:
name: my-namespace
`)
m, err := th.MakeKustTarget().MakeCustomizedResMap()
if err != nil {
t.Fatalf("Err: %v", err)
}
m := th.Run("/app/base", th.MakeDefaultOptions())
th.AssertActualEqualsExpected(m, `
apiVersion: apps/v1
kind: Deployment
@@ -1212,7 +1192,7 @@ metadata:
}
func TestVaribaleRefDifferentPrefix(t *testing.T) {
th := kusttest_test.NewKustTestHarness(t, "/app/base")
th := makeTestHarness(t)
th.WriteK("/app/base", `
namePrefix: base-
resources:
@@ -1299,11 +1279,7 @@ spec:
clusterIP: None
`)
m, err := th.MakeKustTarget().MakeCustomizedResMap()
if err != nil {
t.Fatalf("Err: %v", err)
}
m := th.Run("/app/base", th.MakeDefaultOptions())
th.AssertActualEqualsExpected(m, `
apiVersion: apps/v1
kind: StatefulSet