add replacement test failures

This commit is contained in:
Rob Ferguson
2021-07-09 10:39:38 -05:00
parent 4deeb7d59b
commit 3c1fd0e9cf

View File

@@ -344,79 +344,135 @@ spec:
} }
// TODO: Address namePrefix in overlay not applying to replacement targets // TODO: Address namePrefix in overlay not applying to replacement targets
// The image in the target deployment should end up being `prefix-source` instead of `source` // The name in the target deployment should end up being `prefix-source` instead of `source`
// https://github.com/kubernetes-sigs/kustomize/issues/4034 // https://github.com/kubernetes-sigs/kustomize/issues/4034
func TestReplacementTransformerWithNamePrefixOverlay(t *testing.T) { func TestReplacementTransformerWithNamePrefixOverlay(t *testing.T) {
th := kusttest_test.MakeEnhancedHarness(t) th := kusttest_test.MakeEnhancedHarness(t)
defer th.Reset() defer th.Reset()
th.WriteF("base/deployments.yaml", `
apiVersion: apps/v1
kind: Deployment
metadata:
name: target
spec:
template:
spec:
containers:
- image: nginx:oldtag
name: nginx
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: source
spec:
template:
spec:
containers:
- image: nginx:newtag
name: nginx
`)
th.WriteF("base/replacement.yaml", `
source:
name: source
kind: Deployment
targets:
- select:
name: target
fieldPaths:
- spec.template.spec.containers.[name=nginx].image
`)
th.WriteK("base", ` th.WriteK("base", `
generatorOptions:
disableNameSuffixHash: true
configMapGenerator:
- name: blue
- name: red
replacements: replacements:
- path: replacement.yaml - source:
resources: kind: ConfigMap
- deployments.yaml name: blue
fieldPath: metadata.name
targets:
- select:
name: red
fieldPaths:
- data.blue-name
options:
create: true
`) `)
th.WriteK(".", ` th.WriteK(".", `
namePrefix: prefix- namePrefix: overlay-
resources: resources:
- base - base
`) `)
m := th.Run(".", th.MakeDefaultOptions()) m := th.Run(".", th.MakeDefaultOptions())
th.AssertActualEqualsExpected(m, ` th.AssertActualEqualsExpected(m, `
apiVersion: apps/v1 apiVersion: v1
kind: Deployment kind: ConfigMap
metadata: metadata:
name: prefix-target name: overlay-blue
spec:
template:
spec:
containers:
- image: source
name: nginx
--- ---
apiVersion: apps/v1 apiVersion: v1
kind: Deployment data:
blue-name: blue
kind: ConfigMap
metadata: metadata:
name: prefix-source name: overlay-red
spec: `)
template: }
spec:
containers: func TestReplacementTransformerWithNamespaceOverlay(t *testing.T) {
- image: nginx:newtag th := kusttest_test.MakeEnhancedHarness(t)
name: nginx defer th.Reset()
th.WriteK("base", `
namespace: base-namespace
generatorOptions:
disableNameSuffixHash: true
configMapGenerator:
- name: blue
- name: red
replacements:
- source:
kind: ConfigMap
name: blue
fieldPath: metadata.namespace
targets:
- select:
name: red
fieldPaths:
- data.blue-namespace
options:
create: true
`)
th.WriteK(".", `
namespace: overlay-namespace
resources:
- base
`)
m := th.Run(".", th.MakeDefaultOptions())
th.AssertActualEqualsExpected(m, `
apiVersion: v1
kind: ConfigMap
metadata:
name: blue
namespace: overlay-namespace
---
apiVersion: v1
data:
blue-namespace: base-namespace
kind: ConfigMap
metadata:
name: red
namespace: overlay-namespace
`)
}
func TestReplacementTransformerWithConfigMapGenerator(t *testing.T) {
th := kusttest_test.MakeEnhancedHarness(t)
defer th.Reset()
th.WriteK(".", `
configMapGenerator:
- name: blue
- name: red
replacements:
- source:
kind: ConfigMap
name: blue
fieldPath: metadata.name
targets:
- select:
name: red
fieldPaths:
- data.blue-name
options:
create: true
`)
m := th.Run(".", th.MakeDefaultOptions())
th.AssertActualEqualsExpected(m, `
apiVersion: v1
kind: ConfigMap
metadata:
name: blue-6ct58987ht
---
apiVersion: v1
data:
blue-name: blue
kind: ConfigMap
metadata:
name: red-dc6gc5btkc
`) `)
} }