From 605239a1e50a752c99e178d8330e52f5c9018a84 Mon Sep 17 00:00:00 2001 From: natasha41575 Date: Thu, 7 Oct 2021 15:40:23 -0700 Subject: [PATCH] test to demonstrate broken annotation selection --- api/filters/replacement/replacement_test.go | 74 +++++++++++++++++++++ 1 file changed, 74 insertions(+) diff --git a/api/filters/replacement/replacement_test.go b/api/filters/replacement/replacement_test.go index 9380865e2..9b766f248 100644 --- a/api/filters/replacement/replacement_test.go +++ b/api/filters/replacement/replacement_test.go @@ -1588,6 +1588,80 @@ data: `, expectedErr: "fieldPath `data.httpPort` is missing for replacement source ~G_~V_ConfigMap|~X|ports-from:data.httpPort", }, + "annotationSelector": { + input: `apiVersion: v1 +kind: Deployment +metadata: + name: deploy-1 + annotations: + foo: bar-1 +spec: + template: + spec: + containers: + - image: nginx:1.7.9 + name: nginx-tagged + - image: postgres:1.8.0 + name: postgresdb +--- +apiVersion: v1 +kind: Deployment +metadata: + name: deploy-2 + annotations: + foo: bar-2 +spec: + template: + spec: + containers: + - image: nginx:1.7.9 + name: nginx-tagged + - image: postgres:1.8.0 + name: postgresdb + +`, + replacements: `replacements: +- source: + kind: Deployment + name: deploy-1 + fieldPath: spec.template.spec.containers.0.image + targets: + - select: + annotationSelector: foo=bar-1 + fieldPaths: + - spec.template.spec.containers.1.image +`, + expected: `apiVersion: v1 +kind: Deployment +metadata: + name: deploy-1 + annotations: + foo: bar-1 +spec: + template: + spec: + containers: + - image: nginx:1.7.9 + name: nginx-tagged + - image: nginx:1.7.9 + name: postgresdb +--- +apiVersion: v1 +kind: Deployment +metadata: + name: deploy-2 + annotations: + foo: bar-2 +spec: + template: + spec: + containers: + - image: nginx:1.7.9 + name: nginx-tagged + - image: nginx:1.7.9 + name: postgresdb +`, + }, } for tn, tc := range testCases {