Consolidate test harness to one package.

This commit is contained in:
Jeffrey Regan
2019-12-02 09:28:50 -08:00
parent ce935448c1
commit 382c330f5b
64 changed files with 676 additions and 710 deletions

View File

@@ -8,13 +8,13 @@ import (
"strings"
"testing"
"sigs.k8s.io/kustomize/api/konfig"
. "sigs.k8s.io/kustomize/api/internal/target"
"sigs.k8s.io/kustomize/api/konfig"
kusttest_test "sigs.k8s.io/kustomize/api/testutils/kusttest"
)
func TestTargetMustHaveKustomizationFile(t *testing.T) {
th := makeTestHarness(t)
th := kusttest_test.MakeHarness(t)
th.WriteF("/app/service.yaml", `
apiVersion: v1
kind: Service
@@ -37,7 +37,7 @@ metadata:
}
func TestTargetMustHaveOnlyOneKustomizationFile(t *testing.T) {
th := makeTestHarness(t)
th := kusttest_test.MakeHarness(t)
for _, n := range konfig.RecognizedKustomizationFileNames() {
th.WriteF(filepath.Join("/app", n), `
apiVersion: kustomize.config.k8s.io/v1beta1
@@ -54,7 +54,7 @@ kind: Kustomization
}
func TestBaseMustHaveKustomizationFile(t *testing.T) {
th := makeTestHarness(t)
th := kusttest_test.MakeHarness(t)
th.WriteK("/app", `
resources:
- base
@@ -80,7 +80,7 @@ spec:
}
func TestResourceNotFound(t *testing.T) {
th := makeTestHarness(t)
th := kusttest_test.MakeHarness(t)
th.WriteK("/app", `
resources:
- deployment.yaml

View File

@@ -5,9 +5,11 @@ package krusty_test
import (
"testing"
kusttest_test "sigs.k8s.io/kustomize/api/testutils/kusttest"
)
func writeMediumBase(th testingHarness) {
func writeMediumBase(th kusttest_test.Harness) {
th.WriteK("/app/base", `
namePrefix: baseprefix-
commonLabels:
@@ -57,7 +59,7 @@ spec:
}
func TestMediumBase(t *testing.T) {
th := makeTestHarness(t)
th := kusttest_test.MakeHarness(t)
writeMediumBase(th)
m := th.Run("/app/base", th.MakeDefaultOptions())
th.AssertActualEqualsExpected(m, `
@@ -111,7 +113,7 @@ spec:
}
func TestMediumOverlay(t *testing.T) {
th := makeTestHarness(t)
th := kusttest_test.MakeHarness(t)
writeMediumBase(th)
th.WriteK("/app/overlay", `
namePrefix: test-infra-

View File

@@ -8,11 +8,12 @@ import (
"testing"
. "sigs.k8s.io/kustomize/api/krusty"
kusttest_test "sigs.k8s.io/kustomize/api/testutils/kusttest"
"sigs.k8s.io/kustomize/api/types"
)
func TestOrderPreserved(t *testing.T) {
th := makeTestHarness(t)
th := kusttest_test.MakeHarness(t)
th.WriteK("/app/base", `
namePrefix: b-
resources:
@@ -99,7 +100,7 @@ metadata:
}
func TestBaseInResourceList(t *testing.T) {
th := makeTestHarness(t)
th := kusttest_test.MakeHarness(t)
th.WriteK("/app/prod", `
namePrefix: b-
resources:
@@ -131,7 +132,7 @@ spec:
`)
}
func writeSmallBase(th testingHarness) {
func writeSmallBase(th kusttest_test.Harness) {
th.WriteK("/app/base", `
namePrefix: a-
commonLabels:
@@ -169,7 +170,7 @@ spec:
}
func TestSmallBase(t *testing.T) {
th := makeTestHarness(t)
th := kusttest_test.MakeHarness(t)
writeSmallBase(th)
m := th.Run("/app/base", th.MakeDefaultOptions())
th.AssertActualEqualsExpected(m, `
@@ -209,7 +210,7 @@ spec:
}
func TestSmallOverlay(t *testing.T) {
th := makeTestHarness(t)
th := kusttest_test.MakeHarness(t)
writeSmallBase(th)
th.WriteK("/app/overlay", `
namePrefix: b-
@@ -284,7 +285,7 @@ spec:
}
func TestSharedPatchDisAllowed(t *testing.T) {
th := makeTestHarness(t)
th := kusttest_test.MakeHarness(t)
writeSmallBase(th)
th.WriteK("/app/overlay", `
commonLabels:
@@ -315,7 +316,7 @@ spec:
}
func TestSharedPatchAllowed(t *testing.T) {
th := makeTestHarness(t)
th := kusttest_test.MakeHarness(t)
writeSmallBase(th)
th.WriteK("/app/overlay", `
commonLabels:
@@ -381,7 +382,7 @@ spec:
}
func TestSmallOverlayJSONPatch(t *testing.T) {
th := makeTestHarness(t)
th := kusttest_test.MakeHarness(t)
writeSmallBase(th)
th.WriteK("/app/overlay", `
resources:

View File

@@ -5,6 +5,8 @@ package krusty_test
import (
"testing"
kusttest_test "sigs.k8s.io/kustomize/api/testutils/kusttest"
)
// Here is a structure of a kustomization of two components, component1
@@ -38,7 +40,7 @@ import (
// ├── kustomization.yaml
func TestBaseReuseNameConflict(t *testing.T) {
th := makeTestHarness(t)
th := kusttest_test.MakeHarness(t)
th.WriteK("/app/component1/base", `
resources:
- ../../shared

View File

@@ -11,7 +11,7 @@ import (
"regexp"
"testing"
"sigs.k8s.io/kustomize/api/testutils/kusttest"
kusttest_test "sigs.k8s.io/kustomize/api/testutils/kusttest"
)
// This is an example of using a helm chart as a base,
@@ -34,7 +34,7 @@ func TestChartInflatorPlugin(t *testing.T) {
tc.PrepExecPlugin(
"someteam.example.com", "v1", "ChartInflator")
th := makeTestHarness(t)
th := kusttest_test.MakeHarness(t)
th.WriteK("/app", `
generators:
- chartInflator.yaml

View File

@@ -8,6 +8,7 @@ import (
"testing"
. "sigs.k8s.io/kustomize/api/krusty"
kusttest_test "sigs.k8s.io/kustomize/api/testutils/kusttest"
"sigs.k8s.io/kustomize/api/types"
)
@@ -25,7 +26,7 @@ spec:
app: my-app
`
func writeStatefulSetBase(th testingHarness) {
func writeStatefulSetBase(th kusttest_test.Harness) {
th.WriteK("/app/base", `
resources:
- statefulset.yaml
@@ -54,7 +55,7 @@ spec:
`)
}
func writeHTTPSOverlay(th testingHarness) {
func writeHTTPSOverlay(th kusttest_test.Harness) {
th.WriteK("/app/https", `
resources:
- ../base
@@ -73,7 +74,7 @@ spec:
`)
}
func writeHTTPSTransformerRaw(th testingHarness) {
func writeHTTPSTransformerRaw(th kusttest_test.Harness) {
th.WriteF("/app/https/service/https-svc.yaml", httpsService)
th.WriteF("/app/https/transformer/transformer.yaml", `
apiVersion: builtin
@@ -95,7 +96,7 @@ patch: |-
`)
}
func writeHTTPSTransformerBase(th testingHarness) {
func writeHTTPSTransformerBase(th kusttest_test.Harness) {
th.WriteK("/app/https/service", `
resources:
- https-svc.yaml
@@ -107,7 +108,7 @@ resources:
writeHTTPSTransformerRaw(th)
}
func writeConfigFromEnvOverlay(th testingHarness) {
func writeConfigFromEnvOverlay(th kusttest_test.Harness) {
th.WriteK("/app/config", `
resources:
- ../base
@@ -136,7 +137,7 @@ spec:
`)
}
func writeConfigFromEnvTransformerRaw(th testingHarness) {
func writeConfigFromEnvTransformerRaw(th kusttest_test.Harness) {
th.WriteF("/app/config/map/generator.yaml", `
apiVersion: builtin
kind: ConfigMapGenerator
@@ -171,7 +172,7 @@ patch: |-
name: my-config
`)
}
func writeConfigFromEnvTransformerBase(th testingHarness) {
func writeConfigFromEnvTransformerBase(th kusttest_test.Harness) {
th.WriteK("/app/config/map", `
resources:
- generator.yaml
@@ -183,7 +184,7 @@ resources:
writeConfigFromEnvTransformerRaw(th)
}
func writeTolerationsOverlay(th testingHarness) {
func writeTolerationsOverlay(th kusttest_test.Harness) {
th.WriteK("/app/tolerations", `
resources:
- ../base
@@ -205,7 +206,7 @@ spec:
`)
}
func writeTolerationsTransformerRaw(th testingHarness) {
func writeTolerationsTransformerRaw(th kusttest_test.Harness) {
th.WriteF("/app/tolerations/transformer.yaml", `
apiVersion: builtin
kind: PatchTransformer
@@ -231,7 +232,7 @@ patch: |-
`)
}
func writeTolerationsTransformerBase(th testingHarness) {
func writeTolerationsTransformerBase(th kusttest_test.Harness) {
th.WriteK("/app/tolerations", `
resources:
- transformer.yaml
@@ -239,7 +240,7 @@ resources:
writeTolerationsTransformerRaw(th)
}
func writeStorageOverlay(th testingHarness) {
func writeStorageOverlay(th kusttest_test.Harness) {
th.WriteK("/app/storage", `
resources:
- ../base
@@ -256,7 +257,7 @@ patchesJson6902:
`)
}
func writeStorageTransformerRaw(th testingHarness) {
func writeStorageTransformerRaw(th kusttest_test.Harness) {
th.WriteF("/app/storage/transformer.yaml", `
apiVersion: builtin
kind: PatchTransformer
@@ -272,7 +273,7 @@ patch: |-
`)
}
func writeStorageTransformerBase(th testingHarness) {
func writeStorageTransformerBase(th kusttest_test.Harness) {
th.WriteK("/app/storage", `
resources:
- transformer.yaml
@@ -280,14 +281,14 @@ resources:
writeStorageTransformerRaw(th)
}
func writePatchingOverlays(th testingHarness) {
func writePatchingOverlays(th kusttest_test.Harness) {
writeStorageOverlay(th)
writeConfigFromEnvOverlay(th)
writeTolerationsOverlay(th)
writeHTTPSOverlay(th)
}
func writePatchingTransformersRaw(th testingHarness) {
func writePatchingTransformersRaw(th kusttest_test.Harness) {
writeStorageTransformerRaw(th)
writeConfigFromEnvTransformerRaw(th)
writeTolerationsTransformerRaw(th)
@@ -310,7 +311,7 @@ func writePatchingTransformersRaw(th testingHarness) {
// 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
// the plugin is instantiated and used.
func writePatchingTransformerBases(th testingHarness) {
func writePatchingTransformerBases(th kusttest_test.Harness) {
writeStorageTransformerBase(th)
writeConfigFromEnvTransformerBase(th)
writeTolerationsTransformerBase(th)
@@ -353,7 +354,7 @@ func writePatchingTransformerBases(th testingHarness) {
// - prod: Combines the config, tolerations and https intermediate overlays.
func TestComplexComposition_Dev_Failure(t *testing.T) {
th := makeTestHarness(t)
th := kusttest_test.MakeHarness(t)
writeStatefulSetBase(th)
writePatchingOverlays(th)
th.WriteK("/app/dev", `
@@ -405,7 +406,7 @@ metadata:
`
func TestComplexComposition_Dev_SuccessWithRawTransformers(t *testing.T) {
th := makeTestHarness(t)
th := kusttest_test.MakeHarness(t)
writeStatefulSetBase(th)
writePatchingTransformersRaw(th)
th.WriteK("/app/dev", `
@@ -426,7 +427,7 @@ transformers:
}
func TestComplexComposition_Dev_SuccessWithBaseTransformers(t *testing.T) {
th := makeTestHarness(t)
th := kusttest_test.MakeHarness(t)
writeStatefulSetBase(th)
writePatchingTransformerBases(th)
th.WriteK("/app/dev", `
@@ -443,7 +444,7 @@ transformers:
}
func TestComplexComposition_Prod_Failure(t *testing.T) {
th := makeTestHarness(t)
th := kusttest_test.MakeHarness(t)
writeStatefulSetBase(th)
writePatchingOverlays(th)
th.WriteK("/app/prod", `
@@ -512,7 +513,7 @@ metadata:
`
func TestComplexComposition_Prod_SuccessWithRawTransformers(t *testing.T) {
th := makeTestHarness(t)
th := kusttest_test.MakeHarness(t)
writeStatefulSetBase(th)
writePatchingTransformersRaw(th)
th.WriteK("/app/prod", `
@@ -535,7 +536,7 @@ transformers:
}
func TestComplexComposition_Prod_SuccessWithBaseTransformers(t *testing.T) {
th := makeTestHarness(t)
th := kusttest_test.MakeHarness(t)
writeStatefulSetBase(th)
writePatchingTransformerBases(th)
th.WriteK("/app/prod", `

View File

@@ -5,12 +5,14 @@ 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 := makeTestHarness(t)
th := kusttest_test.MakeHarness(t)
th.WriteK("/app", `
namePrefix: blah-
configMapGenerator:
@@ -107,7 +109,7 @@ type: Opaque
// TODO: These should be errors instead.
func TestGeneratorRepeatsInKustomization(t *testing.T) {
th := makeTestHarness(t)
th := kusttest_test.MakeHarness(t)
th.WriteK("/app", `
namePrefix: blah-
configMapGenerator:
@@ -159,7 +161,7 @@ metadata:
}
func TestGeneratorOverlays(t *testing.T) {
th := makeTestHarness(t)
th := kusttest_test.MakeHarness(t)
th.WriteK("/app/base1", `
namePrefix: p1-
configMapGenerator:
@@ -231,7 +233,7 @@ metadata:
func TestConfigMapGeneratorMergeNamePrefix(t *testing.T) {
th := makeTestHarness(t)
th := kusttest_test.MakeHarness(t)
th.WriteK("/app/base", `
configMapGenerator:
- name: cm

View File

@@ -5,9 +5,11 @@ package krusty_test
import (
"testing"
kusttest_test "sigs.k8s.io/kustomize/api/testutils/kusttest"
)
func writeBaseWithCrd(th testingHarness) {
func writeBaseWithCrd(th kusttest_test.Harness) {
th.WriteK("/app/base", `
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
@@ -223,7 +225,7 @@ data:
}
func TestCrdBase(t *testing.T) {
th := makeTestHarness(t)
th := kusttest_test.MakeHarness(t)
writeBaseWithCrd(th)
m := th.Run("/app/base", th.MakeDefaultOptions())
th.AssertActualEqualsExpected(m, `
@@ -254,7 +256,7 @@ spec:
}
func TestCrdWithOverlay(t *testing.T) {
th := makeTestHarness(t)
th := kusttest_test.MakeHarness(t)
writeBaseWithCrd(th)
th.WriteK("/app/overlay", `
apiVersion: kustomize.config.k8s.io/v1beta1
@@ -303,7 +305,7 @@ spec:
}
func TestCrdWithContainers(t *testing.T) {
th := makeTestHarness(t)
th := kusttest_test.MakeHarness(t)
th.WriteK("/app/crd/containers", `
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization

View File

@@ -5,9 +5,11 @@ package krusty_test
import (
"testing"
kusttest_test "sigs.k8s.io/kustomize/api/testutils/kusttest"
)
func makeBaseReferencingCustomConfig(th testingHarness) {
func makeBaseReferencingCustomConfig(th kusttest_test.Harness) {
th.WriteK("/app/base", `
namePrefix: x-
commonLabels:
@@ -72,7 +74,7 @@ spec:
}
func TestCustomConfig(t *testing.T) {
th := makeTestHarness(t)
th := kusttest_test.MakeHarness(t)
makeBaseReferencingCustomConfig(th)
th.WriteLegacyConfigs("/app/base/config/defaults.yaml")
th.WriteF("/app/base/config/custom.yaml", `
@@ -135,7 +137,7 @@ spec:
}
func TestCustomConfigWithDefaultOverspecification(t *testing.T) {
th := makeTestHarness(t)
th := kusttest_test.MakeHarness(t)
makeBaseReferencingCustomConfig(th)
th.WriteLegacyConfigs("/app/base/config/defaults.yaml")
// Specifying namePrefix here conflicts with (is the same as)
@@ -203,7 +205,7 @@ spec:
}
func TestFixedBug605_BaseCustomizationAvailableInOverlay(t *testing.T) {
th := makeTestHarness(t)
th := kusttest_test.MakeHarness(t)
makeBaseReferencingCustomConfig(th)
th.WriteLegacyConfigs("/app/base/config/defaults.yaml")
th.WriteF("/app/base/config/custom.yaml", `

View File

@@ -19,7 +19,7 @@ func TestCustomNamePrefixer(t *testing.T) {
tc.BuildGoPlugin(
"builtin", "", "PrefixSuffixTransformer")
th := makeTestHarness(t)
th := kusttest_test.MakeHarness(t)
th.WriteK("/app", `
resources:
- deployment.yaml

View File

@@ -24,7 +24,7 @@ func TestReusableCustomTransformers(t *testing.T) {
tc.BuildGoPlugin(
"builtin", "", "LabelTransformer")
th := makeTestHarness(t)
th := kusttest_test.MakeHarness(t)
// First write three custom configurations for builtin plugins.

View File

@@ -58,7 +58,7 @@ spec:
`
const patchJsonRestartPolicy = `[{"op": "add", "path": "/spec/template/spec/restartPolicy", "value": "Always"}]`
func writeDeploymentBase(th testingHarness) {
func writeDeploymentBase(th kusttest_test.Harness) {
th.WriteK("/app/base", `
resources:
- deployment.yaml
@@ -79,7 +79,7 @@ spec:
`)
}
func writeProbeOverlay(th testingHarness) {
func writeProbeOverlay(th kusttest_test.Harness) {
th.WriteK("/app/probe", `
resources:
- ../base
@@ -89,7 +89,7 @@ patchesStrategicMerge:
th.WriteF("/app/probe/dep-patch.yaml", patchAddProbe)
}
func writeDNSOverlay(th testingHarness) {
func writeDNSOverlay(th kusttest_test.Harness) {
th.WriteK("/app/dns", `
resources:
- ../base
@@ -99,7 +99,7 @@ patchesStrategicMerge:
th.WriteF("/app/dns/dep-patch.yaml", patchDnsPolicy)
}
func writeRestartOverlay(th testingHarness) {
func writeRestartOverlay(th kusttest_test.Harness) {
th.WriteK("/app/restart", `
resources:
- ../base
@@ -123,7 +123,7 @@ patchesStrategicMerge:
// base
//
func TestIssue1251_CompositeDiamond_Failure(t *testing.T) {
th := makeTestHarness(t)
th := kusttest_test.MakeHarness(t)
writeDeploymentBase(th)
writeProbeOverlay(th)
writeDNSOverlay(th)
@@ -168,7 +168,7 @@ spec:
// This test reuses some methods from TestIssue1251_CompositeDiamond,
// but overwrites the kustomization files in the overlays.
func TestIssue1251_Patches_Overlayed(t *testing.T) {
th := makeTestHarness(t)
th := kusttest_test.MakeHarness(t)
writeDeploymentBase(th)
// probe overlays base.
@@ -197,7 +197,7 @@ patchesStrategicMerge:
}
func TestIssue1251_Patches_Local(t *testing.T) {
th := makeTestHarness(t)
th := kusttest_test.MakeHarness(t)
writeDeploymentBase(th)
th.WriteK("/app/composite", `
@@ -216,7 +216,7 @@ patchesStrategicMerge:
th.AssertActualEqualsExpected(m, expectedPatchedDeployment)
}
func definePatchDirStructure(th testingHarness) {
func definePatchDirStructure(th kusttest_test.Harness) {
writeDeploymentBase(th)
th.WriteF("/app/patches/patchRestartPolicy.yaml", patchRestartPolicy)
@@ -226,7 +226,7 @@ func definePatchDirStructure(th testingHarness) {
// Fails due to file load restrictor.
func TestIssue1251_Patches_ProdVsDev_Failure(t *testing.T) {
th := makeTestHarness(t)
th := kusttest_test.MakeHarness(t)
definePatchDirStructure(th)
th.WriteK("/app/prod", `
@@ -299,7 +299,7 @@ spec:
// the kustomization root), opening the user to whatever
// threat the load restrictor was meant to address.
func TestIssue1251_Patches_ProdVsDev(t *testing.T) {
th := makeTestHarness(t)
th := kusttest_test.MakeHarness(t)
definePatchDirStructure(th)
th.WriteK("/app/prod", `
@@ -315,7 +315,7 @@ patchesStrategicMerge:
m := th.Run("/app/prod", opts)
th.AssertActualEqualsExpected(m, prodDevMergeResult1)
th = makeTestHarness(t)
th = kusttest_test.MakeHarness(t)
definePatchDirStructure(th)
th.WriteK("/app/dev", `
@@ -337,7 +337,7 @@ func TestIssue1251_Plugins_ProdVsDev(t *testing.T) {
tc.BuildGoPlugin(
"builtin", "", "PatchJson6902Transformer")
th := makeTestHarness(t)
th := kusttest_test.MakeHarness(t)
defineTransformerDirStructure(th)
th.WriteK("/app/prod", `
resources:
@@ -370,7 +370,7 @@ func TestIssue1251_Plugins_Local(t *testing.T) {
tc.BuildGoPlugin(
"builtin", "", "PatchJson6902Transformer")
th := makeTestHarness(t)
th := kusttest_test.MakeHarness(t)
writeDeploymentBase(th)
writeJsonTransformerPluginConfig(
@@ -393,7 +393,7 @@ transformers:
}
func writeJsonTransformerPluginConfig(
th testingHarness, path, name, patch string) {
th kusttest_test.Harness, path, name, patch string) {
th.WriteF(filepath.Join(path, name+"Config.yaml"),
fmt.Sprintf(`
apiVersion: builtin
@@ -417,7 +417,7 @@ func TestIssue1251_Plugins_Bundled(t *testing.T) {
tc.BuildGoPlugin(
"builtin", "", "PatchJson6902Transformer")
th := makeTestHarness(t)
th := kusttest_test.MakeHarness(t)
writeDeploymentBase(th)
th.WriteK("/app/patches", `
@@ -443,7 +443,7 @@ transformers:
th.AssertActualEqualsExpected(m, expectedPatchedDeployment)
}
func defineTransformerDirStructure(th testingHarness) {
func defineTransformerDirStructure(th kusttest_test.Harness) {
writeDeploymentBase(th)
th.WriteK("/app/patches/addDnsPolicy", `

View File

@@ -5,6 +5,8 @@ package krusty_test
import (
"testing"
kusttest_test "sigs.k8s.io/kustomize/api/testutils/kusttest"
)
// Here's a structure of two kustomizations,
@@ -28,7 +30,7 @@ import (
// \ | /
// base
//
func writeDiamondBase(th testingHarness) {
func writeDiamondBase(th kusttest_test.Harness) {
th.WriteK("/app/base", `
resources:
- deploy.yaml
@@ -43,7 +45,7 @@ spec:
`)
}
func writeKirk(th testingHarness) {
func writeKirk(th kusttest_test.Harness) {
th.WriteK("/app/kirk", `
namePrefix: kirk-
resources:
@@ -70,7 +72,7 @@ data:
`)
}
func writeSpock(th testingHarness) {
func writeSpock(th kusttest_test.Harness) {
th.WriteK("/app/spock", `
namePrefix: spock-
resources:
@@ -88,7 +90,7 @@ spec:
`)
}
func writeBones(th testingHarness) {
func writeBones(th kusttest_test.Harness) {
th.WriteK("/app/bones", `
namePrefix: bones-
resources:
@@ -106,7 +108,7 @@ spec:
`)
}
func writeTenants(th testingHarness) {
func writeTenants(th kusttest_test.Harness) {
th.WriteK("/app/tenants", `
namePrefix: t-
resources:
@@ -137,7 +139,7 @@ data:
}
func TestBasicDiamond(t *testing.T) {
th := makeTestHarness(t)
th := kusttest_test.MakeHarness(t)
writeDiamondBase(th)
writeKirk(th)
writeSpock(th)

View File

@@ -5,10 +5,12 @@ package krusty_test
import (
"testing"
kusttest_test "sigs.k8s.io/kustomize/api/testutils/kusttest"
)
func TestIssue596AllowDirectoriesThatAreSubstringsOfEachOther(t *testing.T) {
th := makeTestHarness(t)
th := kusttest_test.MakeHarness(t)
th.WriteK("/app/base", "")
th.WriteK("/app/overlays/aws", `
resources:

View File

@@ -9,6 +9,7 @@ import (
"sigs.k8s.io/kustomize/api/resmap"
"sigs.k8s.io/kustomize/api/resource"
kusttest_test "sigs.k8s.io/kustomize/api/testutils/kusttest"
)
func findSecret(m resmap.ResMap) *resource.Resource {
@@ -21,7 +22,7 @@ func findSecret(m resmap.ResMap) *resource.Resource {
}
func TestDisableNameSuffixHash(t *testing.T) {
th := makeTestHarness(t)
th := kusttest_test.MakeHarness(t)
const kustomizationContent = `
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization

View File

@@ -5,9 +5,11 @@ package krusty_test
import (
"testing"
kusttest_test "sigs.k8s.io/kustomize/api/testutils/kusttest"
)
func makeCommonFileForExtendedPatchTest(th testingHarness) {
func makeCommonFileForExtendedPatchTest(th kusttest_test.Harness) {
th.WriteF("/app/base/deployment.yaml", `
apiVersion: apps/v1beta2
kind: Deployment
@@ -87,7 +89,7 @@ spec:
}
func TestExtendedPatchNameSelector(t *testing.T) {
th := makeTestHarness(t)
th := kusttest_test.MakeHarness(t)
makeCommonFileForExtendedPatchTest(th)
th.WriteK("/app/base", `
resources:
@@ -189,7 +191,7 @@ spec:
}
func TestExtendedPatchGvkSelector(t *testing.T) {
th := makeTestHarness(t)
th := kusttest_test.MakeHarness(t)
makeCommonFileForExtendedPatchTest(th)
th.WriteK("/app/base", `
resources:
@@ -291,7 +293,7 @@ spec:
}
func TestExtendedPatchLabelSelector(t *testing.T) {
th := makeTestHarness(t)
th := kusttest_test.MakeHarness(t)
makeCommonFileForExtendedPatchTest(th)
th.WriteK("/app/base", `
resources:
@@ -393,7 +395,7 @@ spec:
}
func TestExtendedPatchNameGvkSelector(t *testing.T) {
th := makeTestHarness(t)
th := kusttest_test.MakeHarness(t)
makeCommonFileForExtendedPatchTest(th)
th.WriteK("/app/base", `
resources:
@@ -494,7 +496,7 @@ spec:
}
func TestExtendedPatchNameLabelSelector(t *testing.T) {
th := makeTestHarness(t)
th := kusttest_test.MakeHarness(t)
makeCommonFileForExtendedPatchTest(th)
th.WriteK("/app/base", `
resources:
@@ -597,7 +599,7 @@ spec:
}
func TestExtendedPatchGvkLabelSelector(t *testing.T) {
th := makeTestHarness(t)
th := kusttest_test.MakeHarness(t)
makeCommonFileForExtendedPatchTest(th)
th.WriteK("/app/base", `
resources:
@@ -698,7 +700,7 @@ spec:
}
func TestExtendedPatchNameGvkLabelSelector(t *testing.T) {
th := makeTestHarness(t)
th := kusttest_test.MakeHarness(t)
makeCommonFileForExtendedPatchTest(th)
th.WriteK("/app/base", `
resources:
@@ -800,7 +802,7 @@ spec:
}
func TestExtendedPatchNoMatch(t *testing.T) {
th := makeTestHarness(t)
th := kusttest_test.MakeHarness(t)
makeCommonFileForExtendedPatchTest(th)
th.WriteK("/app/base", `
resources:
@@ -898,7 +900,7 @@ spec:
}
func TestExtendedPatchWithoutTarget(t *testing.T) {
th := makeTestHarness(t)
th := kusttest_test.MakeHarness(t)
makeCommonFileForExtendedPatchTest(th)
th.WriteK("/app/base", `
resources:
@@ -996,7 +998,7 @@ spec:
}
func TestExtendedPatchNoMatchMultiplePatch(t *testing.T) {
th := makeTestHarness(t)
th := kusttest_test.MakeHarness(t)
makeCommonFileForExtendedPatchTest(th)
th.WriteK("/app/base", `
resources:
@@ -1098,7 +1100,7 @@ spec:
}
func TestExtendedPatchMultiplePatchOverlapping(t *testing.T) {
th := makeTestHarness(t)
th := kusttest_test.MakeHarness(t)
makeCommonFileForExtendedPatchTest(th)
th.WriteK("/app/base", `
resources:

View File

@@ -6,10 +6,12 @@ package krusty_test
import (
"strings"
"testing"
kusttest_test "sigs.k8s.io/kustomize/api/testutils/kusttest"
)
func TestSimpleBase(t *testing.T) {
th := makeTestHarness(t)
th := kusttest_test.MakeHarness(t)
th.WriteK("/app/base", `
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
@@ -146,7 +148,7 @@ spec:
`)
}
func makeBaseWithGenerators(th testingHarness) {
func makeBaseWithGenerators(th kusttest_test.Harness) {
th.WriteK("/app", `
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
@@ -212,7 +214,7 @@ spec:
}
func TestBaseWithGeneratorsAlone(t *testing.T) {
th := makeTestHarness(t)
th := kusttest_test.MakeHarness(t)
makeBaseWithGenerators(th)
m := th.Run("/app", th.MakeDefaultOptions())
th.AssertActualEqualsExpected(m, `
@@ -303,7 +305,7 @@ type: Opaque
}
func TestMergeAndReplaceGenerators(t *testing.T) {
th := makeTestHarness(t)
th := kusttest_test.MakeHarness(t)
makeBaseWithGenerators(th)
th.WriteF("/overlay/deployment.yaml", `
apiVersion: apps/v1beta2
@@ -458,7 +460,7 @@ metadata:
}
func TestGeneratingIntoNamespaces(t *testing.T) {
th := makeTestHarness(t)
th := kusttest_test.MakeHarness(t)
th.WriteK("/app", `
configMapGenerator:
- name: test
@@ -524,7 +526,7 @@ type: Opaque
// Valid that conflict is detected is the name are identical
// and namespace left to default
func TestConfigMapGeneratingIntoSameNamespace(t *testing.T) {
th := makeTestHarness(t)
th := kusttest_test.MakeHarness(t)
th.WriteK("/app", `
configMapGenerator:
- name: test
@@ -547,7 +549,7 @@ configMapGenerator:
// Valid that conflict is detected is the name are identical
// and namespace left to default
func TestSecretGeneratingIntoSameNamespace(t *testing.T) {
th := makeTestHarness(t)
th := kusttest_test.MakeHarness(t)
th.WriteK("/app", `
secretGenerator:
- name: test

View File

@@ -5,10 +5,12 @@ package krusty_test
import (
"testing"
kusttest_test "sigs.k8s.io/kustomize/api/testutils/kusttest"
)
func TestSecretGenerator(t *testing.T) {
th := makeTestHarness(t)
th := kusttest_test.MakeHarness(t)
th.WriteK("/app", `
secretGenerator:
- name: bob
@@ -44,7 +46,7 @@ type: Opaque
}
func TestGeneratorOptionsWithBases(t *testing.T) {
th := makeTestHarness(t)
th := kusttest_test.MakeHarness(t)
th.WriteK("/app/base", `
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization

View File

@@ -5,9 +5,11 @@ package krusty_test
import (
"testing"
kusttest_test "sigs.k8s.io/kustomize/api/testutils/kusttest"
)
func makeResourcesForPatchTest(th testingHarness) {
func makeResourcesForPatchTest(th kusttest_test.Harness) {
th.WriteF("/app/base/deployment.yaml", `
apiVersion: apps/v1
kind: Deployment
@@ -37,7 +39,7 @@ spec:
}
func TestStrategicMergePatchInline(t *testing.T) {
th := makeTestHarness(t)
th := kusttest_test.MakeHarness(t)
makeResourcesForPatchTest(th)
th.WriteK("/app/base", `
resources:
@@ -86,7 +88,7 @@ spec:
}
func TestJSONPatchInline(t *testing.T) {
th := makeTestHarness(t)
th := kusttest_test.MakeHarness(t)
makeResourcesForPatchTest(th)
th.WriteK("/app/base", `
resources:
@@ -133,7 +135,7 @@ spec:
}
func TestExtendedPatchInlineJSON(t *testing.T) {
th := makeTestHarness(t)
th := kusttest_test.MakeHarness(t)
makeResourcesForPatchTest(th)
th.WriteK("/app/base", `
resources:
@@ -178,7 +180,7 @@ spec:
}
func TestExtendedPatchInlineYAML(t *testing.T) {
th := makeTestHarness(t)
th := kusttest_test.MakeHarness(t)
makeResourcesForPatchTest(th)
th.WriteK("/app/base", `
resources:

View File

@@ -6,9 +6,11 @@ package krusty_test
import (
"strings"
"testing"
kusttest_test "sigs.k8s.io/kustomize/api/testutils/kusttest"
)
func makeCommonFileForMultiplePatchTest(th testingHarness) {
func makeCommonFileForMultiplePatchTest(th kusttest_test.Harness) {
th.WriteK("/app/base", `
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
@@ -87,7 +89,7 @@ configMapGenerator:
}
func TestMultiplePatchesNoConflict(t *testing.T) {
th := makeTestHarness(t)
th := kusttest_test.MakeHarness(t)
makeCommonFileForMultiplePatchTest(th)
th.WriteF("/app/overlay/staging/deployment-patch1.yaml", `
apiVersion: apps/v1beta2
@@ -228,7 +230,7 @@ metadata:
}
func TestMultiplePatchesWithConflict(t *testing.T) {
th := makeTestHarness(t)
th := kusttest_test.MakeHarness(t)
makeCommonFileForMultiplePatchTest(th)
th.WriteF("/app/overlay/staging/deployment-patch1.yaml", `
apiVersion: apps/v1beta2
@@ -320,7 +322,7 @@ spec:
}
for _, c := range cases {
t.Run(c.name, func(t *testing.T) {
th := makeTestHarness(t)
th := kusttest_test.MakeHarness(t)
makeCommonFileForMultiplePatchTest(th)
th.WriteF("/app/overlay/staging/deployment-patch1.yaml", c.patch1)
@@ -418,7 +420,7 @@ metadata:
}
func TestMultiplePatchesBothWithPatchDeleteDirective(t *testing.T) {
th := makeTestHarness(t)
th := kusttest_test.MakeHarness(t)
makeCommonFileForMultiplePatchTest(th)
th.WriteF("/app/overlay/staging/deployment-patch1.yaml", `
apiVersion: apps/v1beta2

View File

@@ -5,10 +5,12 @@ package krusty_test
import (
"testing"
kusttest_test "sigs.k8s.io/kustomize/api/testutils/kusttest"
)
func TestNamespacedGenerator(t *testing.T) {
th := makeTestHarness(t)
th := kusttest_test.MakeHarness(t)
th.WriteK("/app", `
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
@@ -71,7 +73,7 @@ type: Opaque
}
func TestNamespacedGeneratorWithOverlays(t *testing.T) {
th := makeTestHarness(t)
th := kusttest_test.MakeHarness(t)
th.WriteK("/app/base", `
namespace: base

View File

@@ -6,10 +6,12 @@ package krusty_test
import (
"strings"
"testing"
kusttest_test "sigs.k8s.io/kustomize/api/testutils/kusttest"
)
func TestNamespacedSecrets(t *testing.T) {
th := makeTestHarness(t)
th := kusttest_test.MakeHarness(t)
th.WriteF("/app/secrets.yaml", `
apiVersion: v1
kind: Secret
@@ -93,7 +95,7 @@ rules:
// PrefixSuffixTransformer and namereference transformers are
// able to deal with simultaneous change of namespace and name.
func TestNameAndNsTransformation(t *testing.T) {
th := makeTestHarness(t)
th := kusttest_test.MakeHarness(t)
th.WriteK("/nameandns", `
namePrefix: p1-
@@ -463,7 +465,7 @@ spec:
// using the same name in different namespaces are treated as ambiguous if the namespace is
// not specified
func TestVariablesAmbiguous(t *testing.T) {
th := makeTestHarness(t)
th := kusttest_test.MakeHarness(t)
th.WriteK("/namespaceNeedInVar/myapp", namespaceNeedInVarMyApp)
th.WriteF("/namespaceNeedInVar/myapp/elasticsearch-dev-service.yaml", namespaceNeedInVarDevResources)
th.WriteF("/namespaceNeedInVar/myapp/elasticsearch-test-service.yaml", namespaceNeedInVarTestResources)
@@ -520,7 +522,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 := makeTestHarness(t)
th := kusttest_test.MakeHarness(t)
th.WriteK("/namespaceNeedInVar/dev", namespaceNeedInVarDevFolder)
th.WriteF("/namespaceNeedInVar/dev/elasticsearch-dev-service.yaml", namespaceNeedInVarDevResources)
th.WriteK("/namespaceNeedInVar/test", namespaceNeedInVarTestFolder)
@@ -576,7 +578,7 @@ vars:
// TestVariablesDisambiguatedWithNamespace demonstrates that adding the namespace
// to the variable declarations allows to disambiguate the variables.
func TestVariablesDisambiguatedWithNamespace(t *testing.T) {
th := makeTestHarness(t)
th := kusttest_test.MakeHarness(t)
th.WriteK("/namespaceNeedInVar/myapp", namespaceNeedInVarMyAppWithNamespace)
th.WriteF("/namespaceNeedInVar/myapp/elasticsearch-dev-service.yaml", namespaceNeedInVarDevResources)
th.WriteF("/namespaceNeedInVar/myapp/elasticsearch-test-service.yaml", namespaceNeedInVarTestResources)

View File

@@ -5,10 +5,12 @@ package krusty_test
import (
"testing"
kusttest_test "sigs.k8s.io/kustomize/api/testutils/kusttest"
)
func TestNullValues(t *testing.T) {
th := makeTestHarness(t)
th := kusttest_test.MakeHarness(t)
th.WriteF("/app/deployment.yaml", `
apiVersion: apps/v1
kind: Deployment

View File

@@ -25,17 +25,17 @@ func TestPluginEnvironment(t *testing.T) {
"someteam.example.com", "v1", "PrintPluginEnv")
confirmBehavior(
makeTestHarnessWithFs(t, filesys.MakeFsInMemory()),
kusttest_test.MakeHarnessWithFs(t, filesys.MakeFsInMemory()),
filesys.Separator)
dir := makeTmpDir(t)
defer os.RemoveAll(dir)
confirmBehavior(
makeTestHarnessWithFs(t, filesys.MakeFsOnDisk()),
kusttest_test.MakeHarnessWithFs(t, filesys.MakeFsOnDisk()),
dir)
}
func confirmBehavior(th testingHarness, dir string) {
func confirmBehavior(th kusttest_test.Harness, dir string) {
th.WriteK(dir, `
generators:
- config.yaml

View File

@@ -5,10 +5,12 @@ package krusty_test
import (
"testing"
kusttest_test "sigs.k8s.io/kustomize/api/testutils/kusttest"
)
func TestPruneConfigMap(t *testing.T) {
th := makeTestHarness(t)
th := kusttest_test.MakeHarness(t)
th.WriteK("/app/base", `
resources:
- deployment.yaml

View File

@@ -6,9 +6,11 @@ package krusty_test
import (
"strings"
"testing"
kusttest_test "sigs.k8s.io/kustomize/api/testutils/kusttest"
)
func writeBase(th testingHarness) {
func writeBase(th kusttest_test.Harness) {
th.WriteK("/app/base", `
resources:
- serviceaccount.yaml
@@ -62,7 +64,7 @@ rules:
`)
}
func writeMidOverlays(th testingHarness) {
func writeMidOverlays(th kusttest_test.Harness) {
// Mid-level overlays
th.WriteK("/app/overlays/a", `
resources:
@@ -78,7 +80,7 @@ nameSuffix: -suffixB
`)
}
func writeTopOverlay(th testingHarness) {
func writeTopOverlay(th kusttest_test.Harness) {
// Top overlay, combining the mid-level overlays
th.WriteK("/app/combined", `
resources:
@@ -89,7 +91,7 @@ resources:
func TestBase(t *testing.T) {
//th := kusttest_test.NewKustTestHarness(t, "/app/base")
th := makeTestHarness(t)
th := kusttest_test.MakeHarness(t)
writeBase(th)
m := th.Run("/app/base", th.MakeDefaultOptions())
th.AssertActualEqualsExpected(m, `
@@ -139,7 +141,7 @@ rules:
}
func TestMidLevelA(t *testing.T) {
th := makeTestHarness(t)
th := kusttest_test.MakeHarness(t)
writeBase(th)
writeMidOverlays(th)
m := th.Run("/app/overlays/a", th.MakeDefaultOptions())
@@ -190,7 +192,7 @@ rules:
}
func TestMidLevelB(t *testing.T) {
th := makeTestHarness(t)
th := kusttest_test.MakeHarness(t)
writeBase(th)
writeMidOverlays(th)
m := th.Run("/app/overlays/b", th.MakeDefaultOptions())
@@ -241,7 +243,7 @@ rules:
}
func TestMultibasesNoConflict(t *testing.T) {
th := makeTestHarness(t)
th := kusttest_test.MakeHarness(t)
writeBase(th)
writeMidOverlays(th)
writeTopOverlay(th)
@@ -336,7 +338,7 @@ rules:
}
func TestMultibasesWithConflict(t *testing.T) {
th := makeTestHarness(t)
th := kusttest_test.MakeHarness(t)
//th := kusttest_test.NewKustTestHarness(t, "/app/combined")
writeBase(th)
writeMidOverlays(th)

View File

@@ -1,202 +0,0 @@
// Copyright 2019 The Kubernetes Authors.
// SPDX-License-Identifier: Apache-2.0
package krusty_test
import (
"fmt"
"path/filepath"
"strings"
"testing"
"sigs.k8s.io/kustomize/api/filesys"
"sigs.k8s.io/kustomize/api/konfig"
"sigs.k8s.io/kustomize/api/konfig/builtinpluginconsts"
. "sigs.k8s.io/kustomize/api/krusty"
"sigs.k8s.io/kustomize/api/resmap"
"sigs.k8s.io/kustomize/api/types"
)
type testingHarness struct {
t *testing.T
fSys filesys.FileSystem
}
func makeTestHarness(t *testing.T) testingHarness {
return makeTestHarnessWithFs(t, filesys.MakeFsInMemory())
}
func makeTestHarnessWithFs(
t *testing.T, fSys filesys.FileSystem) testingHarness {
return testingHarness{
t: t,
fSys: fSys,
}
}
func (th testingHarness) GetT() *testing.T {
return th.t
}
func (th testingHarness) WriteK(path string, content string) {
th.fSys.WriteFile(
filepath.Join(
path,
konfig.DefaultKustomizationFileName()), []byte(`
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
`+content))
}
func (th testingHarness) WriteF(path string, content string) {
th.fSys.WriteFile(path, []byte(content))
}
func (th testingHarness) MakeDefaultOptions() Options {
return th.MakeOptionsPluginsDisabled()
}
// This has no impact on Builtin plugins, as they are always enabled.
func (th testingHarness) MakeOptionsPluginsDisabled() Options {
return Options{
LoadRestrictions: types.LoadRestrictionsRootOnly,
PluginConfig: konfig.DisabledPluginConfig(),
}
}
// Enables use of non-builtin plugins.
func (th testingHarness) MakeOptionsPluginsEnabled() Options {
c, err := konfig.EnabledPluginConfig()
if err != nil {
if strings.Contains(err.Error(), "unable to find plugin root") {
th.t.Log(
"Tests that want to run with plugins enabled must be " +
"bookended by calls to NewPluginTestEnv.Set(), Reset().")
}
th.t.Fatal(err)
}
return Options{
LoadRestrictions: types.LoadRestrictionsRootOnly,
PluginConfig: c,
}
}
// Run, failing on error.
func (th testingHarness) Run(path string, o Options) resmap.ResMap {
m, err := MakeKustomizer(th.fSys, &o).Run(path)
if err != nil {
th.t.Fatal(err)
}
return m
}
// Run, failing if there is no error.
func (th testingHarness) RunWithErr(path string, o Options) error {
_, err := MakeKustomizer(th.fSys, &o).Run(path)
if err == nil {
th.t.Fatalf("expected error")
}
return err
}
func (th testingHarness) AssertActualEqualsExpected(
m resmap.ResMap, expected string) {
th.AssertActualEqualsExpectedWithTweak(m, nil, expected)
}
func (th testingHarness) AssertActualEqualsExpectedWithTweak(
m resmap.ResMap, tweaker func([]byte) []byte, expected string) {
if m == nil {
th.t.Fatalf("Map should not be nil.")
}
// Ignore leading linefeed in expected value
// to ease readability of tests.
if len(expected) > 0 && expected[0] == 10 {
expected = expected[1:]
}
actual, err := m.AsYaml()
if err != nil {
th.t.Fatalf("Unexpected err: %v", err)
}
if tweaker != nil {
actual = tweaker(actual)
}
if string(actual) != expected {
th.reportDiffAndFail(actual, expected)
}
}
// Pretty printing of file differences.
func (th testingHarness) reportDiffAndFail(actual []byte, expected string) {
sE, maxLen := convertToArray(expected)
sA, _ := convertToArray(string(actual))
fmt.Println("===== ACTUAL BEGIN ========================================")
fmt.Print(string(actual))
fmt.Println("===== ACTUAL END ==========================================")
format := fmt.Sprintf("%%s %%-%ds %%s\n", maxLen+4)
limit := 0
if len(sE) < len(sA) {
limit = len(sE)
} else {
limit = len(sA)
}
fmt.Printf(format, " ", "EXPECTED", "ACTUAL")
fmt.Printf(format, " ", "--------", "------")
for i := 0; i < limit; i++ {
fmt.Printf(format, hint(sE[i], sA[i]), sE[i], sA[i])
}
if len(sE) < len(sA) {
for i := len(sE); i < len(sA); i++ {
fmt.Printf(format, "X", "", sA[i])
}
} else {
for i := len(sA); i < len(sE); i++ {
fmt.Printf(format, "X", sE[i], "")
}
}
th.t.Fatalf("Expected not equal to actual")
}
func convertToArray(x string) ([]string, int) {
a := strings.Split(strings.TrimSuffix(x, "\n"), "\n")
maxLen := 0
for i, v := range a {
z := tabToSpace(v)
if len(z) > maxLen {
maxLen = len(z)
}
a[i] = z
}
return a, maxLen
}
func hint(a, b string) string {
if a == b {
return " "
}
return "X"
}
func tabToSpace(input string) string {
var result []string
for _, i := range input {
if i == 9 {
result = append(result, " ")
} else {
result = append(result, string(i))
}
}
return strings.Join(result, "")
}
func (th testingHarness) WriteLegacyConfigs(fName string) {
m := builtinpluginconsts.GetDefaultFieldSpecsAsMap()
var content []byte
for _, tCfg := range m {
content = append(content, []byte(tCfg)...)
}
err := th.fSys.WriteFile(fName, content)
if err != nil {
th.t.Fatalf("unable to add file %s", fName)
}
}

View File

@@ -10,7 +10,7 @@ import (
"sigs.k8s.io/kustomize/api/types"
)
func writeDeployment(th testingHarness, path string) {
func writeDeployment(th kusttest_test.Harness, path string) {
th.WriteF(path, `
apiVersion: apps/v1
kind: Deployment
@@ -28,7 +28,7 @@ spec:
`)
}
func writeStringPrefixer(th testingHarness, path, name string) {
func writeStringPrefixer(th kusttest_test.Harness, path, name string) {
th.WriteF(path, `
apiVersion: someteam.example.com/v1
kind: StringPrefixer
@@ -37,7 +37,7 @@ metadata:
`)
}
func writeDatePrefixer(th testingHarness, path, name string) {
func writeDatePrefixer(th kusttest_test.Harness, path, name string) {
th.WriteF(path, `
apiVersion: someteam.example.com/v1
kind: DatePrefixer
@@ -55,7 +55,7 @@ func TestOrderedTransformers(t *testing.T) {
tc.BuildGoPlugin(
"someteam.example.com", "v1", "DatePrefixer")
th := makeTestHarness(t)
th := kusttest_test.MakeHarness(t)
th.WriteK("/app", `
resources:
- deployment.yaml
@@ -95,7 +95,7 @@ func TestPluginsNotEnabled(t *testing.T) {
tc.BuildGoPlugin(
"someteam.example.com", "v1", "StringPrefixer")
th := makeTestHarness(t)
th := kusttest_test.MakeHarness(t)
th.WriteK("/app", `
transformers:
- stringPrefixer.yaml
@@ -117,7 +117,7 @@ func TestSedTransformer(t *testing.T) {
tc.PrepExecPlugin(
"someteam.example.com", "v1", "SedTransformer")
th := makeTestHarness(t)
th := kusttest_test.MakeHarness(t)
th.WriteK("/app", `
resources:
- configmap.yaml
@@ -185,7 +185,7 @@ func TestTransformedTransformers(t *testing.T) {
tc.BuildGoPlugin(
"someteam.example.com", "v1", "DatePrefixer")
th := makeTestHarness(t)
th := kusttest_test.MakeHarness(t)
th.WriteK("/app/base", `
resources:

View File

@@ -5,9 +5,11 @@ package krusty_test
import (
"testing"
kusttest_test "sigs.k8s.io/kustomize/api/testutils/kusttest"
)
func makeStatefulSetKustomization(th testingHarness) {
func makeStatefulSetKustomization(th kusttest_test.Harness) {
th.WriteK("/app", `
commonLabels:
notIn: arrays
@@ -90,7 +92,7 @@ spec:
}
func TestTransformersNoCreateArrays(t *testing.T) {
th := makeTestHarness(t)
th := kusttest_test.MakeHarness(t)
makeStatefulSetKustomization(th)
m := th.Run("/app", th.MakeDefaultOptions())
th.AssertActualEqualsExpected(m, `

View File

@@ -5,9 +5,11 @@ package krusty_test
import (
"testing"
kusttest_test "sigs.k8s.io/kustomize/api/testutils/kusttest"
)
func makeTransfomersImageBase(th testingHarness) {
func makeTransfomersImageBase(th kusttest_test.Harness) {
th.WriteK("/app/base", `
resources:
- deploy1.yaml
@@ -92,7 +94,7 @@ spec3:
}
func TestIssue1281_JsonPatchAndImageTag(t *testing.T) {
th := makeTestHarness(t)
th := kusttest_test.MakeHarness(t)
th.WriteK("/app", `
resources:
- deployment.yaml
@@ -172,7 +174,7 @@ spec:
}
func TestTransfomersImageDefaultConfig(t *testing.T) {
th := makeTestHarness(t)
th := kusttest_test.MakeHarness(t)
makeTransfomersImageBase(th)
m := th.Run("/app/base", th.MakeDefaultOptions())
th.AssertActualEqualsExpected(m, `
@@ -233,7 +235,7 @@ spec3:
`)
}
func makeTransfomersImageCustomBase(th testingHarness) {
func makeTransfomersImageCustomBase(th kusttest_test.Harness) {
th.WriteK("/app/base", `
resources:
- custom.yaml
@@ -306,7 +308,7 @@ images:
}
func TestTransfomersImageCustomConfig(t *testing.T) {
th := makeTestHarness(t)
th := kusttest_test.MakeHarness(t)
makeTransfomersImageCustomBase(th)
m := th.Run("/app/base", th.MakeDefaultOptions())
th.AssertActualEqualsExpected(m, `
@@ -346,7 +348,7 @@ spec3:
`)
}
func makeTransfomersImageKnativeBase(th testingHarness) {
func makeTransfomersImageKnativeBase(th kusttest_test.Harness) {
th.WriteK("/app/base", `
resources:
- knative.yaml
@@ -378,7 +380,7 @@ images:
}
func TestTransfomersImageKnativeConfig(t *testing.T) {
th := makeTestHarness(t)
th := kusttest_test.MakeHarness(t)
makeTransfomersImageKnativeBase(th)
m := th.Run("/app/base", th.MakeDefaultOptions())
th.AssertActualEqualsExpected(m, `

View File

@@ -6,10 +6,12 @@ package krusty_test
import (
"strings"
"testing"
kusttest_test "sigs.k8s.io/kustomize/api/testutils/kusttest"
)
func TestBasicVariableRef(t *testing.T) {
th := makeTestHarness(t)
th := kusttest_test.MakeHarness(t)
th.WriteK("/app", `
namePrefix: base-
resources:
@@ -60,7 +62,7 @@ spec:
}
func TestBasicVarCollision(t *testing.T) {
th := makeTestHarness(t)
th := kusttest_test.MakeHarness(t)
th.WriteK("/app/base1", `
namePrefix: base1-
resources:
@@ -136,7 +138,7 @@ resources:
}
func TestVarPropagatesUp(t *testing.T) {
th := makeTestHarness(t)
th := kusttest_test.MakeHarness(t)
th.WriteK("/app/base1", `
namePrefix: base1-
resources:
@@ -279,7 +281,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 := makeTestHarness(t)
th := kusttest_test.MakeHarness(t)
th.WriteK("/app/base", `
namePrefix: base-
resources:
@@ -359,7 +361,7 @@ resources:
}
func TestVarRefBig(t *testing.T) {
th := makeTestHarness(t)
th := kusttest_test.MakeHarness(t)
th.WriteK("/app/base", `
namePrefix: base-
resources:
@@ -925,7 +927,7 @@ metadata:
}
func TestVariableRefIngress(t *testing.T) {
th := makeTestHarness(t)
th := kusttest_test.MakeHarness(t)
th.WriteK("/app/base", `
resources:
- service.yaml
@@ -1064,7 +1066,7 @@ spec:
}
func TestVariableRefMountPath(t *testing.T) {
th := makeTestHarness(t)
th := kusttest_test.MakeHarness(t)
th.WriteK("/app/base", `
resources:
- deployment.yaml
@@ -1136,7 +1138,7 @@ metadata:
}
func TestVariableRefMaps(t *testing.T) {
th := makeTestHarness(t)
th := kusttest_test.MakeHarness(t)
th.WriteK("/app/base", `
resources:
- deployment.yaml
@@ -1192,7 +1194,7 @@ metadata:
}
func TestVaribaleRefDifferentPrefix(t *testing.T) {
th := makeTestHarness(t)
th := kusttest_test.MakeHarness(t)
th.WriteK("/app/base", `
namePrefix: base-
resources: