From c58c14284961c826c42752cb0bfc3a80f21260f0 Mon Sep 17 00:00:00 2001 From: Paul Kent Date: Sat, 25 Jul 2020 12:44:49 -0400 Subject: [PATCH] add test for issues raised in #2734 --- .../patchstrategicmerge_test.go | 99 ++++++++++++++++++- 1 file changed, 98 insertions(+), 1 deletion(-) diff --git a/api/filters/patchstrategicmerge/patchstrategicmerge_test.go b/api/filters/patchstrategicmerge/patchstrategicmerge_test.go index fd0120350..f77f23649 100644 --- a/api/filters/patchstrategicmerge/patchstrategicmerge_test.go +++ b/api/filters/patchstrategicmerge/patchstrategicmerge_test.go @@ -144,7 +144,104 @@ spec: - def `, }, - } + // kyaml cleans up things some folks prefer it didnt + // 1. [] -- see initContainers and imagePullSecrets + // 2. {} -- see emptyDir + // 3. null -- see creationTimestamp + "issue 2734 patch": { + input: ` +apiVersion: apps/v1 +kind: Deployment +metadata: + name: sas-crunchy-data-postgres-operator +spec: + replicas: 1 + template: + metadata: + creationTimestamp: null + spec: + containers: + - envFrom: [] + image: sas-crunchy-data-operator-api-server + imagePullPolicy: IfNotPresent + name: apiserver + ports: + - containerPort: 8443 + volumeMounts: + - mountPath: /security-ssh + name: security-ssh + - mountPath: /tmp + name: tmp + imagePullSecrets: [] + initContainers: [] + serviceAccountName: postgres-operator + volumes: + - emptyDir: {} + name: security-ssh + - emptyDir: {} + name: tmp +`, + patch: yaml.MustParse(` +apiVersion: apps/v1 +kind: Deployment +metadata: + name: sas-crunchy-data-postgres-operator + labels: + workload.sas.com/class: stateless +spec: + template: + metadata: + labels: + workload.sas.com/class: stateless + spec: + tolerations: + - effect: NoSchedule + key: workload.sas.com/class + operator: Equal + value: stateful +`), + expected: ` +apiVersion: apps/v1 +kind: Deployment +metadata: + name: sas-crunchy-data-postgres-operator + labels: + workload.sas.com/class: stateless +spec: + replicas: 1 + template: + metadata: + creationTimestamp: null + labels: + workload.sas.com/class: stateless + spec: + containers: + - envFrom: [] + image: sas-crunchy-data-operator-api-server + imagePullPolicy: IfNotPresent + name: apiserver + ports: + - containerPort: 8443 + volumeMounts: + - mountPath: /security-ssh + name: security-ssh + - mountPath: /tmp + name: tmp + imagePullSecrets: [] + initContainers: [] + serviceAccountName: postgres-operator + tolerations: + - effect: NoSchedule + key: workload.sas.com/class + operator: Equal + value: stateful + volumes: + - emptyDir: {} + name: security-ssh + - emptyDir: {} + name: tmp +`, + }} for tn, tc := range testCases { t.Run(tn, func(t *testing.T) {