test to demonstrate '.' in list element path issue

This commit is contained in:
Natasha Sarkar
2021-06-01 13:18:20 -07:00
parent 74b0b3adc6
commit 4014440d06

View File

@@ -1338,8 +1338,51 @@ spec:
`,
expectedErr: "delimiter option can only be used with scalar nodes",
},
// test to demonstrate https://github.com/kubernetes-sigs/kustomize/issues/3927
// the source field is overwritten when there are multiple fieldPaths
"list index contains '.' character": {
input: `apiVersion: v1
kind: ConfigMap
metadata:
name: source
data:
value: example
---
apiVersion: kubernetes-client.io/v1
kind: ExternalSecret
metadata:
name: some-secret
spec:
backendType: secretsManager
data:
- key: some-prefix-replaceme
name: .first
version: latest
property: first
- key: some-prefix-replaceme
name: second
version: latest
property: second
`,
replacements: `replacements:
- source:
kind: ConfigMap
version: v1
name: source
fieldPath: data.value
targets:
- select:
group: kubernetes-client.io
version: v1
kind: ExternalSecret
name: some-secret
fieldPaths:
- spec.data.[name=.first].key
- spec.data.[name=second].key
options:
delimiter: "-"
index: 2
`,
expectedErr: "wrong Node Kind for spec.data expected: MappingNode was SequenceNode: value: {- key: some-prefix-replaceme",
},
"multiple field paths in target": {
input: `apiVersion: v1
kind: ConfigMap
@@ -1431,7 +1474,7 @@ spec:
t.Errorf("unexpected error: %s\n", err.Error())
t.FailNow()
}
if !assert.Equal(t, tc.expectedErr, err.Error()) {
if !assert.Contains(t, err.Error(), tc.expectedErr) {
t.FailNow()
}
}