@@ -47,14 +47,15 @@ func testGeneralServiceImport() {
4747 t .createServiceExport (& clients [0 ], helloServiceExport )
4848 })
4949
50- assertHasKeyValues := func (actual , expected map [string ]string ) {
50+ assertHasKeyValues := func (g Gomega , actual , expected map [string ]string ) {
5151 for k , v := range expected {
52- Expect (actual ).To (HaveKeyWithValue (k , v ), reportNonConformant ("" ))
52+ g . Expect (actual ).To (HaveKeyWithValue (k , v ), reportNonConformant ("" ))
5353 }
5454 }
55- assertNotHasKeyValues := func (actual , expected map [string ]string ) {
55+
56+ assertNotHasKeyValues := func (g Gomega , actual , expected map [string ]string ) {
5657 for k , v := range expected {
57- Expect (actual ).ToNot (HaveKeyWithValue (k , v ), reportNonConformant ("" ))
58+ g . Expect (actual ).ToNot (HaveKeyWithValue (k , v ), reportNonConformant ("" ))
5859 }
5960 }
6061
@@ -66,10 +67,7 @@ func testGeneralServiceImport() {
6667
6768 AddReportEntry (SpecRefReportEntry , "https://github.com/kubernetes/enhancements/blob/master/keps/sig-multicluster/1645-multi-cluster-services-api/README.md#importing-services" )
6869
69- serviceImport := t .awaitServiceImport (& clients [0 ], t .helloService .Name , func (serviceImport * v1alpha1.ServiceImport ) bool {
70- return true
71- })
72- Expect (serviceImport ).NotTo (BeNil (), "ServiceImport was not found" )
70+ t .awaitServiceImport (& clients [0 ], t .helloService .Name , false , nil )
7371
7472 By (fmt .Sprintf ("Exporting the service on the second cluster %q" , clients [1 ].name ))
7573
@@ -109,16 +107,14 @@ func testGeneralServiceImport() {
109107 Label (OptionalLabel ), Label (ExportedLabelsLabel ), func () {
110108 AddReportEntry (SpecRefReportEntry , "https://github.com/kubernetes/enhancements/tree/master/keps/sig-multicluster/1645-multi-cluster-services-api#labels-and-annotations" )
111109
112- serviceImport := t .awaitServiceImport (& clients [0 ], helloServiceName , func ( serviceImport * v1alpha1. ServiceImport ) bool {
113- return len ( serviceImport . Labels ) > 0
114- } )
115- Expect ( serviceImport ). NotTo ( BeNil (), "ServiceImport was not found" )
110+ t .awaitServiceImport (& clients [0 ], helloServiceName , false ,
111+ func ( g Gomega , serviceImport * v1alpha1. ServiceImport ) {
112+ assertHasKeyValues ( g , serviceImport . Annotations , helloServiceExport . Annotations )
113+ assertNotHasKeyValues ( g , serviceImport . Annotations , t . helloService . Annotations )
116114
117- assertHasKeyValues (serviceImport .Annotations , helloServiceExport .Annotations )
118- assertNotHasKeyValues (serviceImport .Annotations , t .helloService .Annotations )
119-
120- assertHasKeyValues (serviceImport .Labels , helloServiceExport .Labels )
121- assertNotHasKeyValues (serviceImport .Labels , t .helloService .Labels )
115+ assertHasKeyValues (g , serviceImport .Labels , helloServiceExport .Labels )
116+ assertNotHasKeyValues (g , serviceImport .Labels , t .helloService .Labels )
117+ })
122118 })
123119 })
124120
@@ -141,16 +137,14 @@ func testGeneralServiceImport() {
141137 t .awaitServiceExportCondition (& clients [0 ], v1alpha1 .ServiceExportConflict , metav1 .ConditionTrue )
142138 t .awaitServiceExportCondition (& clients [1 ], v1alpha1 .ServiceExportConflict , metav1 .ConditionTrue )
143139
144- serviceImport := t .awaitServiceImport (& clients [0 ], t .helloService .Name , func (serviceImport * v1alpha1.ServiceImport ) bool {
145- return len (serviceImport .Labels ) > 0
146- })
147- Expect (serviceImport ).NotTo (BeNil (), "ServiceImport was not found" )
148-
149- assertHasKeyValues (serviceImport .Annotations , helloServiceExport .Annotations )
150- assertNotHasKeyValues (serviceImport .Annotations , tt .helloServiceExport2 .Annotations )
140+ t .awaitServiceImport (& clients [0 ], t .helloService .Name , false ,
141+ func (g Gomega , serviceImport * v1alpha1.ServiceImport ) {
142+ assertHasKeyValues (g , serviceImport .Annotations , helloServiceExport .Annotations )
143+ assertNotHasKeyValues (g , serviceImport .Annotations , tt .helloServiceExport2 .Annotations )
151144
152- assertHasKeyValues (serviceImport .Labels , helloServiceExport .Labels )
153- assertNotHasKeyValues (serviceImport .Labels , tt .helloServiceExport2 .Labels )
145+ assertHasKeyValues (g , serviceImport .Labels , helloServiceExport .Labels )
146+ assertNotHasKeyValues (g , serviceImport .Labels , tt .helloServiceExport2 .Labels )
147+ })
154148 })
155149 })
156150 })
@@ -173,9 +167,7 @@ func testClusterIPServiceImport() {
173167 AddReportEntry (SpecRefReportEntry , "https://github.com/kubernetes/enhancements/tree/master/keps/sig-multicluster/1645-multi-cluster-services-api#importing-services" )
174168
175169 for i := range clients {
176- serviceImport := t .awaitServiceImport (& clients [i ], helloServiceName , nil )
177- Expect (serviceImport ).NotTo (BeNil (), reportNonConformant (fmt .Sprintf ("ServiceImport was not found on cluster %q" ,
178- clients [i ].name )))
170+ serviceImport := t .awaitServiceImport (& clients [i ], helloServiceName , true , nil )
179171
180172 Expect (serviceImport .Spec .Type ).To (Equal (v1alpha1 .ClusterSetIP ), reportNonConformant (
181173 fmt .Sprintf ("ServiceImport on cluster %q has type %q" , clients [i ].name , serviceImport .Spec .Type )))
@@ -195,37 +187,32 @@ func testClusterIPServiceImport() {
195187 Label (RequiredLabel ), func () {
196188 AddReportEntry (SpecRefReportEntry , "https://github.com/kubernetes/enhancements/tree/master/keps/sig-multicluster/1645-multi-cluster-services-api#session-affinity" )
197189
198- serviceImport := t .awaitServiceImport (& clients [0 ], helloServiceName , nil )
199- Expect (serviceImport ). NotTo ( BeNil ( ), "ServiceImport was not found" )
190+ t .awaitServiceImport (& clients [0 ], helloServiceName , false , func ( g Gomega , serviceImport * v1alpha1. ServiceImport ) {
191+ g . Expect (serviceImport . Spec . SessionAffinity ). To ( Equal ( t . helloService . Spec . SessionAffinity ), reportNonConformant ( "" ) )
200192
201- Expect (serviceImport .Spec .SessionAffinity ).To (Equal (t .helloService .Spec .SessionAffinity ), reportNonConformant ("" ))
202-
203- Expect (serviceImport .Spec .SessionAffinityConfig ).To (Equal (t .helloService .Spec .SessionAffinityConfig ), reportNonConformant (
204- "The SessionAffinityConfig of the ServiceImport does not match the exported Service's SessionAffinityConfig" ))
193+ g .Expect (serviceImport .Spec .SessionAffinityConfig ).To (Equal (t .helloService .Spec .SessionAffinityConfig ), reportNonConformant (
194+ "The SessionAffinityConfig of the ServiceImport does not match the exported Service's SessionAffinityConfig" ))
195+ })
205196 })
206197
207198 Specify ("An IP should be allocated for a ClusterSetIP ServiceImport" , Label (RequiredLabel ), func () {
208199 AddReportEntry (SpecRefReportEntry , "https://github.com/kubernetes/enhancements/tree/master/keps/sig-multicluster/1645-multi-cluster-services-api#clustersetip" )
209200
210- serviceImport := t .awaitServiceImport (& clients [0 ], t .helloService .Name , func ( serviceImport * v1alpha1. ServiceImport ) bool {
211- return len ( serviceImport . Spec . IPs ) > 0
212- } )
213- Expect ( serviceImport ). NotTo ( BeNil (), "ServiceImport was not found" )
201+ serviceImport := t .awaitServiceImport (& clients [0 ], t .helloService .Name , false ,
202+ func ( g Gomega , serviceImport * v1alpha1. ServiceImport ) {
203+ g . Expect ( serviceImport . Spec . IPs ). ToNot ( BeEmpty (), reportNonConformant ( "" ) )
204+ } )
214205
215- Expect (serviceImport .Spec .IPs ).ToNot (BeEmpty (), reportNonConformant ("" ))
216206 Expect (net .ParseIP (serviceImport .Spec .IPs [0 ])).ToNot (BeNil (),
217207 reportNonConformant (fmt .Sprintf ("The value %q is not a valid IP" , serviceImport .Spec .IPs [0 ])))
218208 })
219209
220210 Specify ("The ports for a ClusterSetIP ServiceImport should match those of the exported service" , Label (RequiredLabel ), func () {
221211 AddReportEntry (SpecRefReportEntry , "https://github.com/kubernetes/enhancements/tree/master/keps/sig-multicluster/1645-multi-cluster-services-api#service-port" )
222212
223- serviceImport := t .awaitServiceImport (& clients [0 ], helloServiceName , func (serviceImport * v1alpha1.ServiceImport ) bool {
224- return len ( serviceImport .Spec .Ports ) > 0
213+ t .awaitServiceImport (& clients [0 ], helloServiceName , false , func (g Gomega , serviceImport * v1alpha1.ServiceImport ) {
214+ g . Expect ( sortMCSPorts ( serviceImport .Spec .Ports )). To ( Equal ( toMCSPorts ( t . helloService . Spec . Ports )), reportNonConformant ( "" ))
225215 })
226- Expect (serviceImport ).NotTo (BeNil (), "ServiceImport was not found" )
227-
228- Expect (sortMCSPorts (serviceImport .Spec .Ports )).To (Equal (toMCSPorts (t .helloService .Spec .Ports )), reportNonConformant ("" ))
229216 })
230217
231218 Context ("A ClusterIP service exported on two clusters" , func () {
@@ -246,13 +233,11 @@ func testClusterIPServiceImport() {
246233 Specify ("should expose the union of the constituent service ports" , Label (RequiredLabel ), func () {
247234 AddReportEntry (SpecRefReportEntry , "https://github.com/kubernetes/enhancements/tree/master/keps/sig-multicluster/1645-multi-cluster-services-api#service-port" )
248235
249- serviceImport := t .awaitServiceImport (& clients [0 ], t .helloService .Name , func (serviceImport * v1alpha1.ServiceImport ) bool {
250- return len (serviceImport .Spec .Ports ) == 3
251- })
252- Expect (serviceImport ).NotTo (BeNil (), "ServiceImport was not found" )
253-
254- Expect (sortMCSPorts (serviceImport .Spec .Ports )).To (Equal (toMCSPorts (
255- append (t .helloService .Spec .Ports , tt .helloService2 .Spec .Ports [1 ]))), reportNonConformant ("" ))
236+ t .awaitServiceImport (& clients [0 ], t .helloService .Name , false ,
237+ func (g Gomega , serviceImport * v1alpha1.ServiceImport ) {
238+ g .Expect (sortMCSPorts (serviceImport .Spec .Ports )).To (Equal (toMCSPorts (
239+ append (t .helloService .Spec .Ports , tt .helloService2 .Spec .Ports [1 ]))), reportNonConformant ("" ))
240+ })
256241 })
257242 })
258243
@@ -268,13 +253,11 @@ func testClusterIPServiceImport() {
268253 t .awaitServiceExportCondition (& clients [0 ], v1alpha1 .ServiceExportConflict , metav1 .ConditionTrue )
269254 t .awaitServiceExportCondition (& clients [1 ], v1alpha1 .ServiceExportConflict , metav1 .ConditionTrue )
270255
271- serviceImport := t .awaitServiceImport (& clients [0 ], t .helloService .Name , func (serviceImport * v1alpha1.ServiceImport ) bool {
272- return len (serviceImport .Spec .Ports ) == len (t .helloService .Spec .Ports )
273- })
274- Expect (serviceImport ).NotTo (BeNil (), "ServiceImport was not found" )
275-
276- Expect (sortMCSPorts (serviceImport .Spec .Ports )).To (Equal (toMCSPorts (t .helloService .Spec .Ports )),
277- reportNonConformant ("The service ports were not resolved correctly" ))
256+ t .awaitServiceImport (& clients [0 ], t .helloService .Name , false ,
257+ func (g Gomega , serviceImport * v1alpha1.ServiceImport ) {
258+ g .Expect (sortMCSPorts (serviceImport .Spec .Ports )).To (Equal (toMCSPorts (t .helloService .Spec .Ports )),
259+ reportNonConformant ("The service ports were not resolved correctly" ))
260+ })
278261 })
279262 })
280263 })
@@ -296,9 +279,7 @@ func testHeadlessServiceImport() {
296279 AddReportEntry (SpecRefReportEntry , "https://github.com/kubernetes/enhancements/tree/master/keps/sig-multicluster/1645-multi-cluster-services-api#service-types" )
297280
298281 for i := range clients {
299- serviceImport := t .awaitServiceImport (& clients [i ], helloServiceName , nil )
300- Expect (serviceImport ).NotTo (BeNil (), reportNonConformant (fmt .Sprintf ("ServiceImport was not found on cluster %q" ,
301- clients [i ].name )))
282+ serviceImport := t .awaitServiceImport (& clients [i ], helloServiceName , true , nil )
302283
303284 Expect (serviceImport .Spec .Type ).To (Equal (v1alpha1 .Headless ), reportNonConformant (
304285 fmt .Sprintf ("ServiceImport on cluster %q has type %q" , clients [i ].name , serviceImport .Spec .Type )))
@@ -317,8 +298,7 @@ func testHeadlessServiceImport() {
317298 Specify ("No clusterset IP should be allocated for a Headless ServiceImport" , Label (RequiredLabel ), func () {
318299 AddReportEntry (SpecRefReportEntry , "https://github.com/kubernetes/enhancements/tree/master/keps/sig-multicluster/1645-multi-cluster-services-api#clustersetip" )
319300
320- serviceImport := t .awaitServiceImport (& clients [0 ], t .helloService .Name , nil )
321- Expect (serviceImport ).NotTo (BeNil (), "ServiceImport was not found" )
301+ t .awaitServiceImport (& clients [0 ], t .helloService .Name , false , nil )
322302
323303 Consistently (func () []string {
324304 return t .getServiceImport (& clients [0 ], t .helloService .Name ).Spec .IPs
0 commit comments