mirror of
https://github.com/kubernetes-sigs/kustomize.git
synced 2026-06-13 10:00:56 +00:00
@@ -1,13 +1,14 @@
|
|||||||
// Copyright 2019 The Kubernetes Authors.
|
// Copyright 2019 The Kubernetes Authors.
|
||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
package target_test
|
package krusty_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"strings"
|
"strings"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
kusttest_test "sigs.k8s.io/kustomize/api/testutils/kusttest"
|
. "sigs.k8s.io/kustomize/api/krusty"
|
||||||
|
"sigs.k8s.io/kustomize/api/types"
|
||||||
)
|
)
|
||||||
|
|
||||||
const httpsService = `
|
const httpsService = `
|
||||||
@@ -24,7 +25,7 @@ spec:
|
|||||||
app: my-app
|
app: my-app
|
||||||
`
|
`
|
||||||
|
|
||||||
func writeStatefulSetBase(th *kusttest_test.KustTestHarness) {
|
func writeStatefulSetBase(th testingHarness) {
|
||||||
th.WriteK("/app/base", `
|
th.WriteK("/app/base", `
|
||||||
resources:
|
resources:
|
||||||
- statefulset.yaml
|
- statefulset.yaml
|
||||||
@@ -53,7 +54,7 @@ spec:
|
|||||||
`)
|
`)
|
||||||
}
|
}
|
||||||
|
|
||||||
func writeHTTPSOverlay(th *kusttest_test.KustTestHarness) {
|
func writeHTTPSOverlay(th testingHarness) {
|
||||||
th.WriteK("/app/https", `
|
th.WriteK("/app/https", `
|
||||||
resources:
|
resources:
|
||||||
- ../base
|
- ../base
|
||||||
@@ -72,7 +73,7 @@ spec:
|
|||||||
`)
|
`)
|
||||||
}
|
}
|
||||||
|
|
||||||
func writeHTTPSTransformerRaw(th *kusttest_test.KustTestHarness) {
|
func writeHTTPSTransformerRaw(th testingHarness) {
|
||||||
th.WriteF("/app/https/service/https-svc.yaml", httpsService)
|
th.WriteF("/app/https/service/https-svc.yaml", httpsService)
|
||||||
th.WriteF("/app/https/transformer/transformer.yaml", `
|
th.WriteF("/app/https/transformer/transformer.yaml", `
|
||||||
apiVersion: builtin
|
apiVersion: builtin
|
||||||
@@ -94,7 +95,7 @@ patch: |-
|
|||||||
`)
|
`)
|
||||||
}
|
}
|
||||||
|
|
||||||
func writeHTTPSTransformerBase(th *kusttest_test.KustTestHarness) {
|
func writeHTTPSTransformerBase(th testingHarness) {
|
||||||
th.WriteK("/app/https/service", `
|
th.WriteK("/app/https/service", `
|
||||||
resources:
|
resources:
|
||||||
- https-svc.yaml
|
- https-svc.yaml
|
||||||
@@ -106,7 +107,7 @@ resources:
|
|||||||
writeHTTPSTransformerRaw(th)
|
writeHTTPSTransformerRaw(th)
|
||||||
}
|
}
|
||||||
|
|
||||||
func writeConfigFromEnvOverlay(th *kusttest_test.KustTestHarness) {
|
func writeConfigFromEnvOverlay(th testingHarness) {
|
||||||
th.WriteK("/app/config", `
|
th.WriteK("/app/config", `
|
||||||
resources:
|
resources:
|
||||||
- ../base
|
- ../base
|
||||||
@@ -135,7 +136,7 @@ spec:
|
|||||||
`)
|
`)
|
||||||
}
|
}
|
||||||
|
|
||||||
func writeConfigFromEnvTransformerRaw(th *kusttest_test.KustTestHarness) {
|
func writeConfigFromEnvTransformerRaw(th testingHarness) {
|
||||||
th.WriteF("/app/config/map/generator.yaml", `
|
th.WriteF("/app/config/map/generator.yaml", `
|
||||||
apiVersion: builtin
|
apiVersion: builtin
|
||||||
kind: ConfigMapGenerator
|
kind: ConfigMapGenerator
|
||||||
@@ -170,7 +171,7 @@ patch: |-
|
|||||||
name: my-config
|
name: my-config
|
||||||
`)
|
`)
|
||||||
}
|
}
|
||||||
func writeConfigFromEnvTransformerBase(th *kusttest_test.KustTestHarness) {
|
func writeConfigFromEnvTransformerBase(th testingHarness) {
|
||||||
th.WriteK("/app/config/map", `
|
th.WriteK("/app/config/map", `
|
||||||
resources:
|
resources:
|
||||||
- generator.yaml
|
- generator.yaml
|
||||||
@@ -182,7 +183,7 @@ resources:
|
|||||||
writeConfigFromEnvTransformerRaw(th)
|
writeConfigFromEnvTransformerRaw(th)
|
||||||
}
|
}
|
||||||
|
|
||||||
func writeTolerationsOverlay(th *kusttest_test.KustTestHarness) {
|
func writeTolerationsOverlay(th testingHarness) {
|
||||||
th.WriteK("/app/tolerations", `
|
th.WriteK("/app/tolerations", `
|
||||||
resources:
|
resources:
|
||||||
- ../base
|
- ../base
|
||||||
@@ -204,7 +205,7 @@ spec:
|
|||||||
`)
|
`)
|
||||||
}
|
}
|
||||||
|
|
||||||
func writeTolerationsTransformerRaw(th *kusttest_test.KustTestHarness) {
|
func writeTolerationsTransformerRaw(th testingHarness) {
|
||||||
th.WriteF("/app/tolerations/transformer.yaml", `
|
th.WriteF("/app/tolerations/transformer.yaml", `
|
||||||
apiVersion: builtin
|
apiVersion: builtin
|
||||||
kind: PatchTransformer
|
kind: PatchTransformer
|
||||||
@@ -230,7 +231,7 @@ patch: |-
|
|||||||
`)
|
`)
|
||||||
}
|
}
|
||||||
|
|
||||||
func writeTolerationsTransformerBase(th *kusttest_test.KustTestHarness) {
|
func writeTolerationsTransformerBase(th testingHarness) {
|
||||||
th.WriteK("/app/tolerations", `
|
th.WriteK("/app/tolerations", `
|
||||||
resources:
|
resources:
|
||||||
- transformer.yaml
|
- transformer.yaml
|
||||||
@@ -238,7 +239,7 @@ resources:
|
|||||||
writeTolerationsTransformerRaw(th)
|
writeTolerationsTransformerRaw(th)
|
||||||
}
|
}
|
||||||
|
|
||||||
func writeStorageOverlay(th *kusttest_test.KustTestHarness) {
|
func writeStorageOverlay(th testingHarness) {
|
||||||
th.WriteK("/app/storage", `
|
th.WriteK("/app/storage", `
|
||||||
resources:
|
resources:
|
||||||
- ../base
|
- ../base
|
||||||
@@ -255,7 +256,7 @@ patchesJson6902:
|
|||||||
`)
|
`)
|
||||||
}
|
}
|
||||||
|
|
||||||
func writeStorageTransformerRaw(th *kusttest_test.KustTestHarness) {
|
func writeStorageTransformerRaw(th testingHarness) {
|
||||||
th.WriteF("/app/storage/transformer.yaml", `
|
th.WriteF("/app/storage/transformer.yaml", `
|
||||||
apiVersion: builtin
|
apiVersion: builtin
|
||||||
kind: PatchTransformer
|
kind: PatchTransformer
|
||||||
@@ -271,7 +272,7 @@ patch: |-
|
|||||||
`)
|
`)
|
||||||
}
|
}
|
||||||
|
|
||||||
func writeStorageTransformerBase(th *kusttest_test.KustTestHarness) {
|
func writeStorageTransformerBase(th testingHarness) {
|
||||||
th.WriteK("/app/storage", `
|
th.WriteK("/app/storage", `
|
||||||
resources:
|
resources:
|
||||||
- transformer.yaml
|
- transformer.yaml
|
||||||
@@ -279,14 +280,14 @@ resources:
|
|||||||
writeStorageTransformerRaw(th)
|
writeStorageTransformerRaw(th)
|
||||||
}
|
}
|
||||||
|
|
||||||
func writePatchingOverlays(th *kusttest_test.KustTestHarness) {
|
func writePatchingOverlays(th testingHarness) {
|
||||||
writeStorageOverlay(th)
|
writeStorageOverlay(th)
|
||||||
writeConfigFromEnvOverlay(th)
|
writeConfigFromEnvOverlay(th)
|
||||||
writeTolerationsOverlay(th)
|
writeTolerationsOverlay(th)
|
||||||
writeHTTPSOverlay(th)
|
writeHTTPSOverlay(th)
|
||||||
}
|
}
|
||||||
|
|
||||||
func writePatchingTransformersRaw(th *kusttest_test.KustTestHarness) {
|
func writePatchingTransformersRaw(th testingHarness) {
|
||||||
writeStorageTransformerRaw(th)
|
writeStorageTransformerRaw(th)
|
||||||
writeConfigFromEnvTransformerRaw(th)
|
writeConfigFromEnvTransformerRaw(th)
|
||||||
writeTolerationsTransformerRaw(th)
|
writeTolerationsTransformerRaw(th)
|
||||||
@@ -309,7 +310,7 @@ func writePatchingTransformersRaw(th *kusttest_test.KustTestHarness) {
|
|||||||
// must be self-contained, i.e. the config may not have fields that
|
// must be self-contained, i.e. the config may not have fields that
|
||||||
// refer to local files, since those files won't be present when
|
// refer to local files, since those files won't be present when
|
||||||
// the plugin is instantiated and used.
|
// the plugin is instantiated and used.
|
||||||
func writePatchingTransformerBases(th *kusttest_test.KustTestHarness) {
|
func writePatchingTransformerBases(th testingHarness) {
|
||||||
writeStorageTransformerBase(th)
|
writeStorageTransformerBase(th)
|
||||||
writeConfigFromEnvTransformerBase(th)
|
writeConfigFromEnvTransformerBase(th)
|
||||||
writeTolerationsTransformerBase(th)
|
writeTolerationsTransformerBase(th)
|
||||||
@@ -352,7 +353,7 @@ func writePatchingTransformerBases(th *kusttest_test.KustTestHarness) {
|
|||||||
// - prod: Combines the config, tolerations and https intermediate overlays.
|
// - prod: Combines the config, tolerations and https intermediate overlays.
|
||||||
|
|
||||||
func TestComplexComposition_Dev_Failure(t *testing.T) {
|
func TestComplexComposition_Dev_Failure(t *testing.T) {
|
||||||
th := kusttest_test.NewKustTestHarness(t, "/app/dev")
|
th := makeTestHarness(t)
|
||||||
writeStatefulSetBase(th)
|
writeStatefulSetBase(th)
|
||||||
writePatchingOverlays(th)
|
writePatchingOverlays(th)
|
||||||
th.WriteK("/app/dev", `
|
th.WriteK("/app/dev", `
|
||||||
@@ -360,7 +361,7 @@ resources:
|
|||||||
- ../storage
|
- ../storage
|
||||||
- ../config
|
- ../config
|
||||||
`)
|
`)
|
||||||
_, err := th.MakeKustTarget().MakeCustomizedResMap()
|
err := th.RunWithErr("/app/dev", th.MakeDefaultOptions())
|
||||||
if err == nil {
|
if err == nil {
|
||||||
t.Fatalf("Expected resource accumulation error")
|
t.Fatalf("Expected resource accumulation error")
|
||||||
}
|
}
|
||||||
@@ -404,7 +405,7 @@ metadata:
|
|||||||
`
|
`
|
||||||
|
|
||||||
func TestComplexComposition_Dev_SuccessWithRawTransformers(t *testing.T) {
|
func TestComplexComposition_Dev_SuccessWithRawTransformers(t *testing.T) {
|
||||||
th := kusttest_test.NewKustTestHarnessNoLoadRestrictor(t, "/app/dev")
|
th := makeTestHarness(t)
|
||||||
writeStatefulSetBase(th)
|
writeStatefulSetBase(th)
|
||||||
writePatchingTransformersRaw(th)
|
writePatchingTransformersRaw(th)
|
||||||
th.WriteK("/app/dev", `
|
th.WriteK("/app/dev", `
|
||||||
@@ -416,15 +417,16 @@ transformers:
|
|||||||
- ../config/transformer/transformer.yaml
|
- ../config/transformer/transformer.yaml
|
||||||
- ../storage/transformer.yaml
|
- ../storage/transformer.yaml
|
||||||
`)
|
`)
|
||||||
m, err := th.MakeKustTarget().MakeCustomizedResMap()
|
m := th.Run("/app/dev", func() Options {
|
||||||
if err != nil {
|
o := th.MakeDefaultOptions()
|
||||||
t.Fatalf("Unexpected err: %v", err)
|
o.LoadRestrictions = types.LoadRestrictionsNone
|
||||||
}
|
return o
|
||||||
|
}())
|
||||||
th.AssertActualEqualsExpected(m, devDesiredResult)
|
th.AssertActualEqualsExpected(m, devDesiredResult)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestComplexComposition_Dev_SuccessWithBaseTransformers(t *testing.T) {
|
func TestComplexComposition_Dev_SuccessWithBaseTransformers(t *testing.T) {
|
||||||
th := kusttest_test.NewKustTestHarness(t, "/app/dev")
|
th := makeTestHarness(t)
|
||||||
writeStatefulSetBase(th)
|
writeStatefulSetBase(th)
|
||||||
writePatchingTransformerBases(th)
|
writePatchingTransformerBases(th)
|
||||||
th.WriteK("/app/dev", `
|
th.WriteK("/app/dev", `
|
||||||
@@ -436,15 +438,12 @@ transformers:
|
|||||||
- ../config/transformer
|
- ../config/transformer
|
||||||
- ../storage
|
- ../storage
|
||||||
`)
|
`)
|
||||||
m, err := th.MakeKustTarget().MakeCustomizedResMap()
|
m := th.Run("/app/dev", th.MakeDefaultOptions())
|
||||||
if err != nil {
|
|
||||||
t.Fatalf("Unexpected err: %v", err)
|
|
||||||
}
|
|
||||||
th.AssertActualEqualsExpected(m, devDesiredResult)
|
th.AssertActualEqualsExpected(m, devDesiredResult)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestComplexComposition_Prod_Failure(t *testing.T) {
|
func TestComplexComposition_Prod_Failure(t *testing.T) {
|
||||||
th := kusttest_test.NewKustTestHarness(t, "/app/prod")
|
th := makeTestHarness(t)
|
||||||
writeStatefulSetBase(th)
|
writeStatefulSetBase(th)
|
||||||
writePatchingOverlays(th)
|
writePatchingOverlays(th)
|
||||||
th.WriteK("/app/prod", `
|
th.WriteK("/app/prod", `
|
||||||
@@ -453,7 +452,7 @@ resources:
|
|||||||
- ../tolerations
|
- ../tolerations
|
||||||
- ../https
|
- ../https
|
||||||
`)
|
`)
|
||||||
_, err := th.MakeKustTarget().MakeCustomizedResMap()
|
err := th.RunWithErr("/app/prod", th.MakeDefaultOptions())
|
||||||
if err == nil {
|
if err == nil {
|
||||||
t.Fatalf("Expected resource accumulation error")
|
t.Fatalf("Expected resource accumulation error")
|
||||||
}
|
}
|
||||||
@@ -513,7 +512,7 @@ metadata:
|
|||||||
`
|
`
|
||||||
|
|
||||||
func TestComplexComposition_Prod_SuccessWithRawTransformers(t *testing.T) {
|
func TestComplexComposition_Prod_SuccessWithRawTransformers(t *testing.T) {
|
||||||
th := kusttest_test.NewKustTestHarnessNoLoadRestrictor(t, "/app/prod")
|
th := makeTestHarness(t)
|
||||||
writeStatefulSetBase(th)
|
writeStatefulSetBase(th)
|
||||||
writePatchingTransformersRaw(th)
|
writePatchingTransformersRaw(th)
|
||||||
th.WriteK("/app/prod", `
|
th.WriteK("/app/prod", `
|
||||||
@@ -527,15 +526,16 @@ transformers:
|
|||||||
- ../https/transformer/transformer.yaml
|
- ../https/transformer/transformer.yaml
|
||||||
- ../tolerations/transformer.yaml
|
- ../tolerations/transformer.yaml
|
||||||
`)
|
`)
|
||||||
m, err := th.MakeKustTarget().MakeCustomizedResMap()
|
m := th.Run("/app/prod", func() Options {
|
||||||
if err != nil {
|
o := th.MakeDefaultOptions()
|
||||||
t.Fatalf("Unexpected err: %v", err)
|
o.LoadRestrictions = types.LoadRestrictionsNone
|
||||||
}
|
return o
|
||||||
|
}())
|
||||||
th.AssertActualEqualsExpected(m, prodDesiredResult)
|
th.AssertActualEqualsExpected(m, prodDesiredResult)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestComplexComposition_Prod_SuccessWithBaseTransformers(t *testing.T) {
|
func TestComplexComposition_Prod_SuccessWithBaseTransformers(t *testing.T) {
|
||||||
th := kusttest_test.NewKustTestHarness(t, "/app/prod")
|
th := makeTestHarness(t)
|
||||||
writeStatefulSetBase(th)
|
writeStatefulSetBase(th)
|
||||||
writePatchingTransformerBases(th)
|
writePatchingTransformerBases(th)
|
||||||
th.WriteK("/app/prod", `
|
th.WriteK("/app/prod", `
|
||||||
@@ -549,9 +549,6 @@ transformers:
|
|||||||
- ../https/transformer
|
- ../https/transformer
|
||||||
- ../tolerations
|
- ../tolerations
|
||||||
`)
|
`)
|
||||||
m, err := th.MakeKustTarget().MakeCustomizedResMap()
|
m := th.Run("/app/prod", th.MakeDefaultOptions())
|
||||||
if err != nil {
|
|
||||||
t.Fatalf("Unexpected err: %v", err)
|
|
||||||
}
|
|
||||||
th.AssertActualEqualsExpected(m, prodDesiredResult)
|
th.AssertActualEqualsExpected(m, prodDesiredResult)
|
||||||
}
|
}
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
// Copyright 2019 The Kubernetes Authors.
|
// Copyright 2019 The Kubernetes Authors.
|
||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
package target_test
|
package krusty_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"testing"
|
"testing"
|
||||||
@@ -19,8 +19,7 @@ func TestCustomNamePrefixer(t *testing.T) {
|
|||||||
tc.BuildGoPlugin(
|
tc.BuildGoPlugin(
|
||||||
"builtin", "", "PrefixSuffixTransformer")
|
"builtin", "", "PrefixSuffixTransformer")
|
||||||
|
|
||||||
th := kusttest_test.NewKustTestHarnessAllowPlugins(t, "/app")
|
th := makeTestHarness(t)
|
||||||
|
|
||||||
th.WriteK("/app", `
|
th.WriteK("/app", `
|
||||||
resources:
|
resources:
|
||||||
- deployment.yaml
|
- deployment.yaml
|
||||||
@@ -69,10 +68,7 @@ metadata:
|
|||||||
name: myService
|
name: myService
|
||||||
`)
|
`)
|
||||||
|
|
||||||
m, err := th.MakeKustTarget().MakeCustomizedResMap()
|
m := th.Run("/app", th.MakeDefaultOptions())
|
||||||
if err != nil {
|
|
||||||
t.Fatalf("Err: %v", err)
|
|
||||||
}
|
|
||||||
th.AssertActualEqualsExpected(m, `
|
th.AssertActualEqualsExpected(m, `
|
||||||
apiVersion: apps/v1
|
apiVersion: apps/v1
|
||||||
kind: Deployment
|
kind: Deployment
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
// Copyright 2019 The Kubernetes Authors.
|
// Copyright 2019 The Kubernetes Authors.
|
||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
package target_test
|
package krusty_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"testing"
|
"testing"
|
||||||
@@ -24,7 +24,7 @@ func TestReusableCustomTransformers(t *testing.T) {
|
|||||||
tc.BuildGoPlugin(
|
tc.BuildGoPlugin(
|
||||||
"builtin", "", "LabelTransformer")
|
"builtin", "", "LabelTransformer")
|
||||||
|
|
||||||
th := kusttest_test.NewKustTestHarnessAllowPlugins(t, "/app/staging")
|
th := makeTestHarness(t)
|
||||||
|
|
||||||
// First write three custom configurations for builtin plugins.
|
// First write three custom configurations for builtin plugins.
|
||||||
|
|
||||||
@@ -138,10 +138,7 @@ metadata:
|
|||||||
name: myService
|
name: myService
|
||||||
`)
|
`)
|
||||||
|
|
||||||
m, err := th.MakeKustTarget().MakeCustomizedResMap()
|
m := th.Run("/app/staging", th.MakeDefaultOptions())
|
||||||
if err != nil {
|
|
||||||
t.Fatalf("Err: %v", err)
|
|
||||||
}
|
|
||||||
th.AssertActualEqualsExpected(m, `
|
th.AssertActualEqualsExpected(m, `
|
||||||
apiVersion: apps/v1
|
apiVersion: apps/v1
|
||||||
kind: Deployment
|
kind: Deployment
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
// Copyright 2019 The Kubernetes Authors.
|
// Copyright 2019 The Kubernetes Authors.
|
||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
package target_test
|
package krusty_test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
@@ -10,6 +10,7 @@ import (
|
|||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
kusttest_test "sigs.k8s.io/kustomize/api/testutils/kusttest"
|
kusttest_test "sigs.k8s.io/kustomize/api/testutils/kusttest"
|
||||||
|
"sigs.k8s.io/kustomize/api/types"
|
||||||
)
|
)
|
||||||
|
|
||||||
const patchAddProbe = `
|
const patchAddProbe = `
|
||||||
@@ -57,7 +58,7 @@ spec:
|
|||||||
`
|
`
|
||||||
const patchJsonRestartPolicy = `[{"op": "add", "path": "/spec/template/spec/restartPolicy", "value": "Always"}]`
|
const patchJsonRestartPolicy = `[{"op": "add", "path": "/spec/template/spec/restartPolicy", "value": "Always"}]`
|
||||||
|
|
||||||
func writeDeploymentBase(th *kusttest_test.KustTestHarness) {
|
func writeDeploymentBase(th testingHarness) {
|
||||||
th.WriteK("/app/base", `
|
th.WriteK("/app/base", `
|
||||||
resources:
|
resources:
|
||||||
- deployment.yaml
|
- deployment.yaml
|
||||||
@@ -78,7 +79,7 @@ spec:
|
|||||||
`)
|
`)
|
||||||
}
|
}
|
||||||
|
|
||||||
func writeProbeOverlay(th *kusttest_test.KustTestHarness) {
|
func writeProbeOverlay(th testingHarness) {
|
||||||
th.WriteK("/app/probe", `
|
th.WriteK("/app/probe", `
|
||||||
resources:
|
resources:
|
||||||
- ../base
|
- ../base
|
||||||
@@ -88,7 +89,7 @@ patchesStrategicMerge:
|
|||||||
th.WriteF("/app/probe/dep-patch.yaml", patchAddProbe)
|
th.WriteF("/app/probe/dep-patch.yaml", patchAddProbe)
|
||||||
}
|
}
|
||||||
|
|
||||||
func writeDNSOverlay(th *kusttest_test.KustTestHarness) {
|
func writeDNSOverlay(th testingHarness) {
|
||||||
th.WriteK("/app/dns", `
|
th.WriteK("/app/dns", `
|
||||||
resources:
|
resources:
|
||||||
- ../base
|
- ../base
|
||||||
@@ -98,7 +99,7 @@ patchesStrategicMerge:
|
|||||||
th.WriteF("/app/dns/dep-patch.yaml", patchDnsPolicy)
|
th.WriteF("/app/dns/dep-patch.yaml", patchDnsPolicy)
|
||||||
}
|
}
|
||||||
|
|
||||||
func writeRestartOverlay(th *kusttest_test.KustTestHarness) {
|
func writeRestartOverlay(th testingHarness) {
|
||||||
th.WriteK("/app/restart", `
|
th.WriteK("/app/restart", `
|
||||||
resources:
|
resources:
|
||||||
- ../base
|
- ../base
|
||||||
@@ -122,7 +123,7 @@ patchesStrategicMerge:
|
|||||||
// base
|
// base
|
||||||
//
|
//
|
||||||
func TestIssue1251_CompositeDiamond_Failure(t *testing.T) {
|
func TestIssue1251_CompositeDiamond_Failure(t *testing.T) {
|
||||||
th := kusttest_test.NewKustTestHarness(t, "/app/composite")
|
th := makeTestHarness(t)
|
||||||
writeDeploymentBase(th)
|
writeDeploymentBase(th)
|
||||||
writeProbeOverlay(th)
|
writeProbeOverlay(th)
|
||||||
writeDNSOverlay(th)
|
writeDNSOverlay(th)
|
||||||
@@ -135,7 +136,7 @@ resources:
|
|||||||
- ../restart
|
- ../restart
|
||||||
`)
|
`)
|
||||||
|
|
||||||
_, err := th.MakeKustTarget().MakeCustomizedResMap()
|
err := th.RunWithErr("/app/composite", th.MakeDefaultOptions())
|
||||||
if err == nil {
|
if err == nil {
|
||||||
t.Fatalf("Expected resource accumulation error")
|
t.Fatalf("Expected resource accumulation error")
|
||||||
}
|
}
|
||||||
@@ -167,7 +168,7 @@ spec:
|
|||||||
// This test reuses some methods from TestIssue1251_CompositeDiamond,
|
// This test reuses some methods from TestIssue1251_CompositeDiamond,
|
||||||
// but overwrites the kustomization files in the overlays.
|
// but overwrites the kustomization files in the overlays.
|
||||||
func TestIssue1251_Patches_Overlayed(t *testing.T) {
|
func TestIssue1251_Patches_Overlayed(t *testing.T) {
|
||||||
th := kusttest_test.NewKustTestHarness(t, "/app/restart")
|
th := makeTestHarness(t)
|
||||||
writeDeploymentBase(th)
|
writeDeploymentBase(th)
|
||||||
|
|
||||||
// probe overlays base.
|
// probe overlays base.
|
||||||
@@ -191,15 +192,12 @@ patchesStrategicMerge:
|
|||||||
- dep-patch.yaml
|
- dep-patch.yaml
|
||||||
`)
|
`)
|
||||||
|
|
||||||
m, err := th.MakeKustTarget().MakeCustomizedResMap()
|
m := th.Run("/app/restart", th.MakeDefaultOptions())
|
||||||
if err != nil {
|
|
||||||
t.Fatalf("Err: %v", err)
|
|
||||||
}
|
|
||||||
th.AssertActualEqualsExpected(m, expectedPatchedDeployment)
|
th.AssertActualEqualsExpected(m, expectedPatchedDeployment)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestIssue1251_Patches_Local(t *testing.T) {
|
func TestIssue1251_Patches_Local(t *testing.T) {
|
||||||
th := kusttest_test.NewKustTestHarness(t, "/app/composite")
|
th := makeTestHarness(t)
|
||||||
writeDeploymentBase(th)
|
writeDeploymentBase(th)
|
||||||
|
|
||||||
th.WriteK("/app/composite", `
|
th.WriteK("/app/composite", `
|
||||||
@@ -214,14 +212,11 @@ patchesStrategicMerge:
|
|||||||
th.WriteF("/app/composite/patchDnsPolicy.yaml", patchDnsPolicy)
|
th.WriteF("/app/composite/patchDnsPolicy.yaml", patchDnsPolicy)
|
||||||
th.WriteF("/app/composite/patchAddProbe.yaml", patchAddProbe)
|
th.WriteF("/app/composite/patchAddProbe.yaml", patchAddProbe)
|
||||||
|
|
||||||
m, err := th.MakeKustTarget().MakeCustomizedResMap()
|
m := th.Run("/app/composite", th.MakeDefaultOptions())
|
||||||
if err != nil {
|
|
||||||
t.Fatalf("Err: %v", err)
|
|
||||||
}
|
|
||||||
th.AssertActualEqualsExpected(m, expectedPatchedDeployment)
|
th.AssertActualEqualsExpected(m, expectedPatchedDeployment)
|
||||||
}
|
}
|
||||||
|
|
||||||
func definePatchDirStructure(th *kusttest_test.KustTestHarness) {
|
func definePatchDirStructure(th testingHarness) {
|
||||||
writeDeploymentBase(th)
|
writeDeploymentBase(th)
|
||||||
|
|
||||||
th.WriteF("/app/patches/patchRestartPolicy.yaml", patchRestartPolicy)
|
th.WriteF("/app/patches/patchRestartPolicy.yaml", patchRestartPolicy)
|
||||||
@@ -231,7 +226,7 @@ func definePatchDirStructure(th *kusttest_test.KustTestHarness) {
|
|||||||
|
|
||||||
// Fails due to file load restrictor.
|
// Fails due to file load restrictor.
|
||||||
func TestIssue1251_Patches_ProdVsDev_Failure(t *testing.T) {
|
func TestIssue1251_Patches_ProdVsDev_Failure(t *testing.T) {
|
||||||
th := kusttest_test.NewKustTestHarness(t, "/app/prod")
|
th := makeTestHarness(t)
|
||||||
definePatchDirStructure(th)
|
definePatchDirStructure(th)
|
||||||
|
|
||||||
th.WriteK("/app/prod", `
|
th.WriteK("/app/prod", `
|
||||||
@@ -242,7 +237,7 @@ patchesStrategicMerge:
|
|||||||
- ../patches/patchDnsPolicy.yaml
|
- ../patches/patchDnsPolicy.yaml
|
||||||
`)
|
`)
|
||||||
|
|
||||||
_, err := th.MakeKustTarget().MakeCustomizedResMap()
|
err := th.RunWithErr("/app/prod", th.MakeDefaultOptions())
|
||||||
if err == nil {
|
if err == nil {
|
||||||
t.Fatalf("expected error")
|
t.Fatalf("expected error")
|
||||||
}
|
}
|
||||||
@@ -304,7 +299,7 @@ spec:
|
|||||||
// the kustomization root), opening the user to whatever
|
// the kustomization root), opening the user to whatever
|
||||||
// threat the load restrictor was meant to address.
|
// threat the load restrictor was meant to address.
|
||||||
func TestIssue1251_Patches_ProdVsDev(t *testing.T) {
|
func TestIssue1251_Patches_ProdVsDev(t *testing.T) {
|
||||||
th := kusttest_test.NewKustTestHarnessNoLoadRestrictor(t, "/app/prod")
|
th := makeTestHarness(t)
|
||||||
definePatchDirStructure(th)
|
definePatchDirStructure(th)
|
||||||
|
|
||||||
th.WriteK("/app/prod", `
|
th.WriteK("/app/prod", `
|
||||||
@@ -314,13 +309,13 @@ patchesStrategicMerge:
|
|||||||
- ../patches/patchAddProbe.yaml
|
- ../patches/patchAddProbe.yaml
|
||||||
- ../patches/patchDnsPolicy.yaml
|
- ../patches/patchDnsPolicy.yaml
|
||||||
`)
|
`)
|
||||||
m, err := th.MakeKustTarget().MakeCustomizedResMap()
|
opts := th.MakeDefaultOptions()
|
||||||
if err != nil {
|
opts.LoadRestrictions = types.LoadRestrictionsNone
|
||||||
t.Fatalf("unexpected error: %v", err)
|
|
||||||
}
|
m := th.Run("/app/prod", opts)
|
||||||
th.AssertActualEqualsExpected(m, prodDevMergeResult1)
|
th.AssertActualEqualsExpected(m, prodDevMergeResult1)
|
||||||
|
|
||||||
th = kusttest_test.NewKustTestHarnessNoLoadRestrictor(t, "/app/dev")
|
th = makeTestHarness(t)
|
||||||
definePatchDirStructure(th)
|
definePatchDirStructure(th)
|
||||||
|
|
||||||
th.WriteK("/app/dev", `
|
th.WriteK("/app/dev", `
|
||||||
@@ -331,10 +326,7 @@ patchesStrategicMerge:
|
|||||||
- ../patches/patchRestartPolicy.yaml
|
- ../patches/patchRestartPolicy.yaml
|
||||||
`)
|
`)
|
||||||
|
|
||||||
m, err = th.MakeKustTarget().MakeCustomizedResMap()
|
m = th.Run("/app/dev", opts)
|
||||||
if err != nil {
|
|
||||||
t.Fatalf("Err: %v", err)
|
|
||||||
}
|
|
||||||
th.AssertActualEqualsExpected(m, prodDevMergeResult2)
|
th.AssertActualEqualsExpected(m, prodDevMergeResult2)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -345,7 +337,7 @@ func TestIssue1251_Plugins_ProdVsDev(t *testing.T) {
|
|||||||
tc.BuildGoPlugin(
|
tc.BuildGoPlugin(
|
||||||
"builtin", "", "PatchJson6902Transformer")
|
"builtin", "", "PatchJson6902Transformer")
|
||||||
|
|
||||||
th := kusttest_test.NewKustTestHarnessAllowPlugins(t, "/app/prod")
|
th := makeTestHarness(t)
|
||||||
defineTransformerDirStructure(th)
|
defineTransformerDirStructure(th)
|
||||||
th.WriteK("/app/prod", `
|
th.WriteK("/app/prod", `
|
||||||
resources:
|
resources:
|
||||||
@@ -355,13 +347,9 @@ transformers:
|
|||||||
- ../patches/addDnsPolicy
|
- ../patches/addDnsPolicy
|
||||||
`)
|
`)
|
||||||
|
|
||||||
m, err := th.MakeKustTarget().MakeCustomizedResMap()
|
m := th.Run("/app/prod", th.MakeDefaultOptions())
|
||||||
if err != nil {
|
|
||||||
t.Fatalf("Err: %v", err)
|
|
||||||
}
|
|
||||||
th.AssertActualEqualsExpected(m, prodDevMergeResult1)
|
th.AssertActualEqualsExpected(m, prodDevMergeResult1)
|
||||||
|
|
||||||
th = kusttest_test.NewKustTestHarnessAllowPlugins(t, "/app/dev")
|
|
||||||
defineTransformerDirStructure(th)
|
defineTransformerDirStructure(th)
|
||||||
th.WriteK("/app/dev", `
|
th.WriteK("/app/dev", `
|
||||||
resources:
|
resources:
|
||||||
@@ -371,10 +359,7 @@ transformers:
|
|||||||
- ../patches/addDnsPolicy
|
- ../patches/addDnsPolicy
|
||||||
`)
|
`)
|
||||||
|
|
||||||
m, err = th.MakeKustTarget().MakeCustomizedResMap()
|
m = th.Run("/app/dev", th.MakeDefaultOptions())
|
||||||
if err != nil {
|
|
||||||
t.Fatalf("Err: %v", err)
|
|
||||||
}
|
|
||||||
th.AssertActualEqualsExpected(m, prodDevMergeResult2)
|
th.AssertActualEqualsExpected(m, prodDevMergeResult2)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -385,7 +370,7 @@ func TestIssue1251_Plugins_Local(t *testing.T) {
|
|||||||
tc.BuildGoPlugin(
|
tc.BuildGoPlugin(
|
||||||
"builtin", "", "PatchJson6902Transformer")
|
"builtin", "", "PatchJson6902Transformer")
|
||||||
|
|
||||||
th := kusttest_test.NewKustTestHarnessAllowPlugins(t, "/app/composite")
|
th := makeTestHarness(t)
|
||||||
writeDeploymentBase(th)
|
writeDeploymentBase(th)
|
||||||
|
|
||||||
writeJsonTransformerPluginConfig(
|
writeJsonTransformerPluginConfig(
|
||||||
@@ -403,15 +388,12 @@ transformers:
|
|||||||
- addRestartPolicyConfig.yaml
|
- addRestartPolicyConfig.yaml
|
||||||
- addProbeConfig.yaml
|
- addProbeConfig.yaml
|
||||||
`)
|
`)
|
||||||
m, err := th.MakeKustTarget().MakeCustomizedResMap()
|
m := th.Run("/app/composite", th.MakeDefaultOptions())
|
||||||
if err != nil {
|
|
||||||
t.Fatalf("Err: %v", err)
|
|
||||||
}
|
|
||||||
th.AssertActualEqualsExpected(m, expectedPatchedDeployment)
|
th.AssertActualEqualsExpected(m, expectedPatchedDeployment)
|
||||||
}
|
}
|
||||||
|
|
||||||
func writeJsonTransformerPluginConfig(
|
func writeJsonTransformerPluginConfig(
|
||||||
th *kusttest_test.KustTestHarness, path, name, patch string) {
|
th testingHarness, path, name, patch string) {
|
||||||
th.WriteF(filepath.Join(path, name+"Config.yaml"),
|
th.WriteF(filepath.Join(path, name+"Config.yaml"),
|
||||||
fmt.Sprintf(`
|
fmt.Sprintf(`
|
||||||
apiVersion: builtin
|
apiVersion: builtin
|
||||||
@@ -435,7 +417,7 @@ func TestIssue1251_Plugins_Bundled(t *testing.T) {
|
|||||||
tc.BuildGoPlugin(
|
tc.BuildGoPlugin(
|
||||||
"builtin", "", "PatchJson6902Transformer")
|
"builtin", "", "PatchJson6902Transformer")
|
||||||
|
|
||||||
th := kusttest_test.NewKustTestHarnessAllowPlugins(t, "/app/composite")
|
th := makeTestHarness(t)
|
||||||
writeDeploymentBase(th)
|
writeDeploymentBase(th)
|
||||||
|
|
||||||
th.WriteK("/app/patches", `
|
th.WriteK("/app/patches", `
|
||||||
@@ -457,14 +439,11 @@ resources:
|
|||||||
transformers:
|
transformers:
|
||||||
- ../patches
|
- ../patches
|
||||||
`)
|
`)
|
||||||
m, err := th.MakeKustTarget().MakeCustomizedResMap()
|
m := th.Run("/app/composite", th.MakeDefaultOptions())
|
||||||
if err != nil {
|
|
||||||
t.Fatalf("Err: %v", err)
|
|
||||||
}
|
|
||||||
th.AssertActualEqualsExpected(m, expectedPatchedDeployment)
|
th.AssertActualEqualsExpected(m, expectedPatchedDeployment)
|
||||||
}
|
}
|
||||||
|
|
||||||
func defineTransformerDirStructure(th *kusttest_test.KustTestHarness) {
|
func defineTransformerDirStructure(th testingHarness) {
|
||||||
writeDeploymentBase(th)
|
writeDeploymentBase(th)
|
||||||
|
|
||||||
th.WriteK("/app/patches/addDnsPolicy", `
|
th.WriteK("/app/patches/addDnsPolicy", `
|
||||||
@@ -47,6 +47,7 @@ func (th testingHarness) MakeDefaultOptions() Options {
|
|||||||
return th.MakeOptionsPluginsDisabled()
|
return th.MakeOptionsPluginsDisabled()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// This has no impact on Builtin plugins, as they are always enabled.
|
||||||
func (th testingHarness) MakeOptionsPluginsDisabled() Options {
|
func (th testingHarness) MakeOptionsPluginsDisabled() Options {
|
||||||
return Options{
|
return Options{
|
||||||
LoadRestrictions: types.LoadRestrictionsRootOnly,
|
LoadRestrictions: types.LoadRestrictionsRootOnly,
|
||||||
@@ -54,6 +55,7 @@ func (th testingHarness) MakeOptionsPluginsDisabled() Options {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Enables use of non-builtin plugins.
|
||||||
func (th testingHarness) MakeOptionsPluginsEnabled() Options {
|
func (th testingHarness) MakeOptionsPluginsEnabled() Options {
|
||||||
c, err := konfig.EnabledPluginConfig()
|
c, err := konfig.EnabledPluginConfig()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|||||||
Reference in New Issue
Block a user