@@ -18,6 +18,7 @@ package proxy
18
18
19
19
import (
20
20
"net"
21
+ "reflect"
21
22
"testing"
22
23
23
24
"github.com/davecgh/go-spew/spew"
@@ -166,15 +167,15 @@ func TestServiceToServiceMap(t *testing.T) {
166
167
svc .Spec .LoadBalancerIP = "5.6.7.8"
167
168
svc .Spec .Ports = addTestPort (svc .Spec .Ports , "port3" , "UDP" , 8675 , 30061 , 7000 )
168
169
svc .Spec .Ports = addTestPort (svc .Spec .Ports , "port4" , "UDP" , 8676 , 30062 , 7001 )
169
- svc .Status .LoadBalancer = v1.LoadBalancerStatus {
170
- Ingress : []v1.LoadBalancerIngress {
171
- {IP : "10.1.2.4" },
172
- },
173
- }
170
+ svc .Status .LoadBalancer .Ingress = []v1.LoadBalancerIngress {{IP : "10.1.2.4" }}
174
171
}),
175
172
expected : map [ServicePortName ]* BaseServiceInfo {
176
- makeServicePortName ("ns1" , "load-balancer" , "port3" , v1 .ProtocolUDP ): makeTestServiceInfo ("172.16.55.11" , 8675 , "UDP" , 0 ),
177
- makeServicePortName ("ns1" , "load-balancer" , "port4" , v1 .ProtocolUDP ): makeTestServiceInfo ("172.16.55.11" , 8676 , "UDP" , 0 ),
173
+ makeServicePortName ("ns1" , "load-balancer" , "port3" , v1 .ProtocolUDP ): makeTestServiceInfo ("172.16.55.11" , 8675 , "UDP" , 0 , func (info * BaseServiceInfo ) {
174
+ info .loadBalancerStatus .Ingress = []v1.LoadBalancerIngress {{IP : "10.1.2.4" }}
175
+ }),
176
+ makeServicePortName ("ns1" , "load-balancer" , "port4" , v1 .ProtocolUDP ): makeTestServiceInfo ("172.16.55.11" , 8676 , "UDP" , 0 , func (info * BaseServiceInfo ) {
177
+ info .loadBalancerStatus .Ingress = []v1.LoadBalancerIngress {{IP : "10.1.2.4" }}
178
+ }),
178
179
},
179
180
},
180
181
{
@@ -185,17 +186,17 @@ func TestServiceToServiceMap(t *testing.T) {
185
186
svc .Spec .LoadBalancerIP = "5.6.7.8"
186
187
svc .Spec .Ports = addTestPort (svc .Spec .Ports , "portx" , "UDP" , 8677 , 30063 , 7002 )
187
188
svc .Spec .Ports = addTestPort (svc .Spec .Ports , "porty" , "UDP" , 8678 , 30064 , 7003 )
188
- svc .Status .LoadBalancer = v1.LoadBalancerStatus {
189
- Ingress : []v1.LoadBalancerIngress {
190
- {IP : "10.1.2.3" },
191
- },
192
- }
189
+ svc .Status .LoadBalancer .Ingress = []v1.LoadBalancerIngress {{IP : "10.1.2.3" }}
193
190
svc .Spec .ExternalTrafficPolicy = v1 .ServiceExternalTrafficPolicyTypeLocal
194
191
svc .Spec .HealthCheckNodePort = 345
195
192
}),
196
193
expected : map [ServicePortName ]* BaseServiceInfo {
197
- makeServicePortName ("ns1" , "only-local-load-balancer" , "portx" , v1 .ProtocolUDP ): makeTestServiceInfo ("172.16.55.12" , 8677 , "UDP" , 345 ),
198
- makeServicePortName ("ns1" , "only-local-load-balancer" , "porty" , v1 .ProtocolUDP ): makeTestServiceInfo ("172.16.55.12" , 8678 , "UDP" , 345 ),
194
+ makeServicePortName ("ns1" , "only-local-load-balancer" , "portx" , v1 .ProtocolUDP ): makeTestServiceInfo ("172.16.55.12" , 8677 , "UDP" , 345 , func (info * BaseServiceInfo ) {
195
+ info .loadBalancerStatus .Ingress = []v1.LoadBalancerIngress {{IP : "10.1.2.3" }}
196
+ }),
197
+ makeServicePortName ("ns1" , "only-local-load-balancer" , "porty" , v1 .ProtocolUDP ): makeTestServiceInfo ("172.16.55.12" , 8678 , "UDP" , 345 , func (info * BaseServiceInfo ) {
198
+ info .loadBalancerStatus .Ingress = []v1.LoadBalancerIngress {{IP : "10.1.2.3" }}
199
+ }),
199
200
},
200
201
},
201
202
{
@@ -225,6 +226,14 @@ func TestServiceToServiceMap(t *testing.T) {
225
226
},
226
227
},
227
228
},
229
+ Status : v1.ServiceStatus {
230
+ LoadBalancer : v1.LoadBalancerStatus {
231
+ Ingress : []v1.LoadBalancerIngress {
232
+ {IP : testExternalIPv4 },
233
+ {IP : testExternalIPv6 },
234
+ },
235
+ },
236
+ },
228
237
},
229
238
isIPv6Mode : & falseVal ,
230
239
},
@@ -245,6 +254,14 @@ func TestServiceToServiceMap(t *testing.T) {
245
254
},
246
255
},
247
256
},
257
+ Status : v1.ServiceStatus {
258
+ LoadBalancer : v1.LoadBalancerStatus {
259
+ Ingress : []v1.LoadBalancerIngress {
260
+ {IP : testExternalIPv4 },
261
+ {IP : testExternalIPv6 },
262
+ },
263
+ },
264
+ },
248
265
},
249
266
isIPv6Mode : & trueVal ,
250
267
},
@@ -267,11 +284,20 @@ func TestServiceToServiceMap(t *testing.T) {
267
284
},
268
285
},
269
286
},
287
+ Status : v1.ServiceStatus {
288
+ LoadBalancer : v1.LoadBalancerStatus {
289
+ Ingress : []v1.LoadBalancerIngress {
290
+ {IP : testExternalIPv4 },
291
+ {IP : testExternalIPv6 },
292
+ },
293
+ },
294
+ },
270
295
},
271
296
expected : map [ServicePortName ]* BaseServiceInfo {
272
297
makeServicePortName ("test" , "validIPv4" , "testPort" , v1 .ProtocolTCP ): makeTestServiceInfo (testClusterIPv4 , 12345 , "TCP" , 0 , func (info * BaseServiceInfo ) {
273
298
info .externalIPs = []string {testExternalIPv4 }
274
299
info .loadBalancerSourceRanges = []string {testSourceRangeIPv4 }
300
+ info .loadBalancerStatus .Ingress = []v1.LoadBalancerIngress {{IP : testExternalIPv4 }}
275
301
}),
276
302
},
277
303
isIPv6Mode : & falseVal ,
@@ -295,11 +321,20 @@ func TestServiceToServiceMap(t *testing.T) {
295
321
},
296
322
},
297
323
},
324
+ Status : v1.ServiceStatus {
325
+ LoadBalancer : v1.LoadBalancerStatus {
326
+ Ingress : []v1.LoadBalancerIngress {
327
+ {IP : testExternalIPv4 },
328
+ {IP : testExternalIPv6 },
329
+ },
330
+ },
331
+ },
298
332
},
299
333
expected : map [ServicePortName ]* BaseServiceInfo {
300
334
makeServicePortName ("test" , "validIPv6" , "testPort" , v1 .ProtocolTCP ): makeTestServiceInfo (testClusterIPv6 , 12345 , "TCP" , 0 , func (info * BaseServiceInfo ) {
301
335
info .externalIPs = []string {testExternalIPv6 }
302
336
info .loadBalancerSourceRanges = []string {testSourceRangeIPv6 }
337
+ info .loadBalancerStatus .Ingress = []v1.LoadBalancerIngress {{IP : testExternalIPv6 }}
303
338
}),
304
339
},
305
340
isIPv6Mode : & trueVal ,
@@ -323,11 +358,20 @@ func TestServiceToServiceMap(t *testing.T) {
323
358
},
324
359
},
325
360
},
361
+ Status : v1.ServiceStatus {
362
+ LoadBalancer : v1.LoadBalancerStatus {
363
+ Ingress : []v1.LoadBalancerIngress {
364
+ {IP : testExternalIPv4 },
365
+ {IP : testExternalIPv6 },
366
+ },
367
+ },
368
+ },
326
369
},
327
370
expected : map [ServicePortName ]* BaseServiceInfo {
328
371
makeServicePortName ("test" , "filterIPv6InIPV4Mode" , "testPort" , v1 .ProtocolTCP ): makeTestServiceInfo (testClusterIPv4 , 12345 , "TCP" , 0 , func (info * BaseServiceInfo ) {
329
372
info .externalIPs = []string {testExternalIPv4 }
330
373
info .loadBalancerSourceRanges = []string {testSourceRangeIPv4 }
374
+ info .loadBalancerStatus .Ingress = []v1.LoadBalancerIngress {{IP : testExternalIPv4 }}
331
375
}),
332
376
},
333
377
isIPv6Mode : & falseVal ,
@@ -351,11 +395,20 @@ func TestServiceToServiceMap(t *testing.T) {
351
395
},
352
396
},
353
397
},
398
+ Status : v1.ServiceStatus {
399
+ LoadBalancer : v1.LoadBalancerStatus {
400
+ Ingress : []v1.LoadBalancerIngress {
401
+ {IP : testExternalIPv4 },
402
+ {IP : testExternalIPv6 },
403
+ },
404
+ },
405
+ },
354
406
},
355
407
expected : map [ServicePortName ]* BaseServiceInfo {
356
408
makeServicePortName ("test" , "filterIPv4InIPV6Mode" , "testPort" , v1 .ProtocolTCP ): makeTestServiceInfo (testClusterIPv6 , 12345 , "TCP" , 0 , func (info * BaseServiceInfo ) {
357
409
info .externalIPs = []string {testExternalIPv6 }
358
410
info .loadBalancerSourceRanges = []string {testSourceRangeIPv6 }
411
+ info .loadBalancerStatus .Ingress = []v1.LoadBalancerIngress {{IP : testExternalIPv6 }}
359
412
}),
360
413
},
361
414
isIPv6Mode : & trueVal ,
@@ -377,7 +430,8 @@ func TestServiceToServiceMap(t *testing.T) {
377
430
svcInfo .protocol != expectedInfo .protocol ||
378
431
svcInfo .healthCheckNodePort != expectedInfo .healthCheckNodePort ||
379
432
! sets .NewString (svcInfo .externalIPs ... ).Equal (sets .NewString (expectedInfo .externalIPs ... )) ||
380
- ! sets .NewString (svcInfo .loadBalancerSourceRanges ... ).Equal (sets .NewString (expectedInfo .loadBalancerSourceRanges ... )) {
433
+ ! sets .NewString (svcInfo .loadBalancerSourceRanges ... ).Equal (sets .NewString (expectedInfo .loadBalancerSourceRanges ... )) ||
434
+ ! reflect .DeepEqual (svcInfo .loadBalancerStatus , expectedInfo .loadBalancerStatus ) {
381
435
t .Errorf ("[%s] expected new[%v]to be %v, got %v" , tc .desc , svcKey , expectedInfo , * svcInfo )
382
436
}
383
437
}
0 commit comments