add replacements every element match test

This commit is contained in:
koba1t
2022-01-30 18:50:20 +09:00
parent 26b9af0379
commit b79d77a8a7

View File

@@ -1431,6 +1431,136 @@ spec:
name: second name: second
version: latest version: latest
property: second`, property: second`,
},
"index contains '*' character": {
input: `apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: sample-deploy
name: sample-deploy
spec:
replicas: 1
selector:
matchLabels:
app: sample-deploy
template:
metadata:
labels:
app: sample-deploy
spec:
containers:
- image: nginx
name: main
env:
- name: deployment-name
value: XXXXX
`,
replacements: `replacements:
- source:
kind: Deployment
name: sample-deploy
fieldPath: metadata.name
targets:
- select:
kind: Deployment
fieldPaths:
- spec.template.spec.containers.*.env.[name=deployment-name].value
`,
expected: `apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: sample-deploy
name: sample-deploy
spec:
replicas: 1
selector:
matchLabels:
app: sample-deploy
template:
metadata:
labels:
app: sample-deploy
spec:
containers:
- image: nginx
name: main
env:
- name: deployment-name
value: sample-deploy`,
},
"list index contains '*' character": {
input: `apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: sample-deploy
name: sample-deploy
spec:
replicas: 1
selector:
matchLabels:
app: sample-deploy
template:
metadata:
labels:
app: sample-deploy
spec:
containers:
- image: nginx
name: main
env:
- name: deployment-name
value: XXXXX
- name: foo
value: bar
- image: nginx
name: sidecar
env:
- name: deployment-name
value: YYYYY
`,
replacements: `replacements:
- source:
kind: Deployment
name: sample-deploy
fieldPath: metadata.name
targets:
- select:
kind: Deployment
fieldPaths:
- spec.template.spec.containers.*.env.[name=deployment-name].value
`,
expected: `apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: sample-deploy
name: sample-deploy
spec:
replicas: 1
selector:
matchLabels:
app: sample-deploy
template:
metadata:
labels:
app: sample-deploy
spec:
containers:
- image: nginx
name: main
env:
- name: deployment-name
value: sample-deploy
- name: foo
value: bar
- image: nginx
name: sidecar
env:
- name: deployment-name
value: sample-deploy`,
}, },
"multiple field paths in target": { "multiple field paths in target": {
input: `apiVersion: v1 input: `apiVersion: v1
@@ -1556,7 +1686,6 @@ spec:
name: postgresdb name: postgresdb
`, `,
}, },
"replacement source.fieldPath does not exist": { "replacement source.fieldPath does not exist": {
input: `apiVersion: v1 input: `apiVersion: v1
kind: ConfigMap kind: ConfigMap