@@ -33,7 +33,7 @@ type updateDeploymentImageTest struct {
3333 name string
3434 containers []corev1.Container
3535 registry eventingv1alpha1.Registry
36- expected []string
36+ expected []corev1. Container
3737}
3838
3939var updateDeploymentImageTests = []updateDeploymentImageTest {
@@ -46,7 +46,10 @@ var updateDeploymentImageTests = []updateDeploymentImageTest{
4646 registry : eventingv1alpha1.Registry {
4747 Default : "new-registry.io/test/path/${NAME}:new-tag" ,
4848 },
49- expected : []string {"new-registry.io/test/path/queue:new-tag" },
49+ expected : []corev1.Container {{
50+ Name : "queue" ,
51+ Image : "new-registry.io/test/path/queue:new-tag" },
52+ },
5053 },
5154 {
5255 name : "UsesContainerNamePerContainer" ,
@@ -66,9 +69,15 @@ var updateDeploymentImageTests = []updateDeploymentImageTest{
6669 "container2" : "new-registry.io/test/path/new-container-2:new-tag" ,
6770 },
6871 },
69- expected : []string {
70- "new-registry.io/test/path/new-container-1:new-tag" ,
71- "new-registry.io/test/path/new-container-2:new-tag" ,
72+ expected : []corev1.Container {
73+ {
74+ Name : "container1" ,
75+ Image : "new-registry.io/test/path/new-container-1:new-tag" ,
76+ },
77+ {
78+ Name : "container2" ,
79+ Image : "new-registry.io/test/path/new-container-2:new-tag" ,
80+ },
7281 },
7382 },
7483 {
@@ -83,7 +92,10 @@ var updateDeploymentImageTests = []updateDeploymentImageTest{
8392 "queue" : "new-registry.io/test/path/new-value:new-override-tag" ,
8493 },
8594 },
86- expected : []string {"new-registry.io/test/path/new-value:new-override-tag" },
95+ expected : []corev1.Container {{
96+ Name : "queue" ,
97+ Image : "new-registry.io/test/path/new-value:new-override-tag" },
98+ },
8799 },
88100 {
89101 name : "NoChangeOverrideWithDifferentName" ,
@@ -96,7 +108,10 @@ var updateDeploymentImageTests = []updateDeploymentImageTest{
96108 "Unused" : "new-registry.io/test/path" ,
97109 },
98110 },
99- expected : []string {"docker.io/name/image:tag2" },
111+ expected : []corev1.Container {{
112+ Name : "image" ,
113+ Image : "docker.io/name/image:tag2" },
114+ },
100115 },
101116 {
102117 name : "NoChange" ,
@@ -105,7 +120,57 @@ var updateDeploymentImageTests = []updateDeploymentImageTest{
105120 Image : "gcr.io/knative-releases/github.com/knative/eventing/cmd/queue@sha256:1e40c99ff5977daa2d69873fff604c6d09651af1f9ff15aadf8849b3ee77ab45" },
106121 },
107122 registry : eventingv1alpha1.Registry {},
108- expected : []string {"gcr.io/knative-releases/github.com/knative/eventing/cmd/queue@sha256:1e40c99ff5977daa2d69873fff604c6d09651af1f9ff15aadf8849b3ee77ab45" },
123+ expected : []corev1.Container {{
124+ Name : "queue" ,
125+ Image : "gcr.io/knative-releases/github.com/knative/eventing/cmd/queue@sha256:1e40c99ff5977daa2d69873fff604c6d09651af1f9ff15aadf8849b3ee77ab45" },
126+ },
127+ },
128+ {
129+ name : "OverrideEnvVarImage" ,
130+ containers : []corev1.Container {{
131+ Env : []corev1.EnvVar {{Name : "SOME_IMAGE" , Value : "gcr.io/foo/bar" }},
132+ }},
133+ registry : eventingv1alpha1.Registry {
134+ Override : map [string ]string {
135+ "SOME_IMAGE" : "docker.io/my/overridden-image" ,
136+ },
137+ },
138+ expected : []corev1.Container {{
139+ Env : []corev1.EnvVar {{Name : "SOME_IMAGE" , Value : "docker.io/my/overridden-image" }},
140+ }},
141+ },
142+ {
143+ name : "NoOverrideEnvVarImage" ,
144+ containers : []corev1.Container {{
145+ Env : []corev1.EnvVar {{Name : "SOME_IMAGE" , Value : "gcr.io/foo/bar" }},
146+ }},
147+ registry : eventingv1alpha1.Registry {
148+ Override : map [string ]string {
149+ "OTHER_IMAGE" : "docker.io/my/overridden-image" ,
150+ },
151+ },
152+ expected : []corev1.Container {{
153+ Env : []corev1.EnvVar {{Name : "SOME_IMAGE" , Value : "gcr.io/foo/bar" }},
154+ }},
155+ },
156+ {
157+ name : "NoOverrideEnvVarImageAndContainerImageBoth" ,
158+ containers : []corev1.Container {{
159+ Name : "queue" ,
160+ Image : "gcr.io/knative-releases/github.com/knative/eventing/cmd/queue@sha256:1e40c99ff5977daa2d69873fff604c6d09651af1f9ff15aadf8849b3ee77ab45" ,
161+ Env : []corev1.EnvVar {{Name : "SOME_IMAGE" , Value : "gcr.io/foo/bar" }},
162+ }},
163+ registry : eventingv1alpha1.Registry {
164+ Override : map [string ]string {
165+ "queue" : "new-registry.io/test/path/new-value:new-override-tag" ,
166+ "SOME_IMAGE" : "docker.io/my/overridden-image" ,
167+ },
168+ },
169+ expected : []corev1.Container {{
170+ Name : "queue" ,
171+ Image : "new-registry.io/test/path/new-value:new-override-tag" ,
172+ Env : []corev1.EnvVar {{Name : "SOME_IMAGE" , Value : "docker.io/my/overridden-image" }},
173+ }},
109174 },
110175}
111176
@@ -132,9 +197,7 @@ func validateUnstructedDeploymentChanged(t *testing.T, tt *updateDeploymentImage
132197 var deployment = & appsv1.Deployment {}
133198 err := scheme .Scheme .Convert (u , deployment , nil )
134199 assertEqual (t , err , nil )
135- for i , expected := range tt .expected {
136- assertEqual (t , deployment .Spec .Template .Spec .Containers [i ].Image , expected )
137- }
200+ assertDeepEqual (t , deployment .Spec .Template .Spec .Containers , tt .expected )
138201}
139202
140203func makeDeployment (t * testing.T , name string , podSpec corev1.PodSpec ) * appsv1.Deployment {
0 commit comments