MCPcopy
hub / github.com/microsoft/retina / TestAddPodSvcNodeSameIPDiffNS

Function TestAddPodSvcNodeSameIPDiffNS

pkg/controllers/cache/cache_test.go:239–293  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

237}
238
239func TestAddPodSvcNodeSameIPDiffNS(t *testing.T) {
240 log.SetupZapLogger(log.GetDefaultLogOpts())
241 ctrl := gomock.NewController(t)
242 defer ctrl.Finish()
243 p := pubsub.NewMockPubSubInterface(ctrl)
244 var wg sync.WaitGroup
245 wg.Add(5) // 2 pod + 2 svc + 1 node publishes
246 doFn := func(pubsub.PubSubTopic, interface{}) { wg.Done() }
247 p.EXPECT().Publish(common.PubSubPods, gomock.Any()).Times(2).Do(doFn)
248 p.EXPECT().Publish(common.PubSubSvc, gomock.Any()).Times(2).Do(doFn)
249 p.EXPECT().Publish(common.PubSubNode, gomock.Any()).Times(1).Do(doFn)
250 p.EXPECT().Subscribe(common.PubSubAPIServer, gomock.Any()).Times(1)
251 c := New(p)
252 assert.NotNil(t, c)
253
254 addEndpoints := common.NewRetinaEndpoint("pod1", "ns1", nil)
255 addEndpoints.SetLabels(map[string]string{
256 "app": "app1",
257 })
258
259 addEndpoints.SetIPs(&common.IPAddresses{
260 IPv4: net.IPv4(1, 2, 3, 4),
261 })
262
263 err := c.UpdateRetinaEndpoint(addEndpoints)
264 assert.NoError(t, err)
265
266 addSvc := common.NewRetinaSvc("svc1", "ns2",
267 &common.IPAddresses{
268 IPv4: net.IPv4(1, 2, 3, 4),
269 }, nil, nil)
270
271 err = c.UpdateRetinaSvc(addSvc)
272 assert.NoError(t, err)
273
274 obj := c.GetObjByIP("1.2.3.4")
275 assert.NotNil(t, obj)
276 svc := obj.(*common.RetinaSvc)
277 assert.Equal(t, addSvc.Name(), svc.Name())
278 assert.Equal(t, addSvc.Namespace(), svc.Namespace())
279
280 addNode := common.NewRetinaNode("node1", net.IPv4(1, 2, 3, 4), "zone-1")
281
282 err = c.UpdateRetinaNode(addNode)
283 assert.NoError(t, err)
284
285 obj = c.GetObjByIP("1.2.3.4")
286
287 assert.NotNil(t, obj)
288 node := obj.(*common.RetinaNode)
289 assert.Equal(t, addNode.Name(), node.Name())
290 assert.Equal(t, addNode.IPString(), node.IPString())
291
292 wg.Wait()
293}
294
295func TestAddPodDiffNs(t *testing.T) {
296 log.SetupZapLogger(log.GetDefaultLogOpts())

Callers

nothing calls this directly

Calls 15

EXPECTMethod · 0.95
SetLabelsMethod · 0.95
SetIPsMethod · 0.95
NameMethod · 0.95
IPStringMethod · 0.95
SetupZapLoggerFunction · 0.92
GetDefaultLogOptsFunction · 0.92
NewMockPubSubInterfaceFunction · 0.92
NewRetinaEndpointFunction · 0.92
NewRetinaSvcFunction · 0.92
NewRetinaNodeFunction · 0.92
DoMethod · 0.80

Tested by

no test coverage detected