(t *testing.T)
| 237 | } |
| 238 | |
| 239 | func 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 | |
| 295 | func TestAddPodDiffNs(t *testing.T) { |
| 296 | log.SetupZapLogger(log.GetDefaultLogOpts()) |
nothing calls this directly
no test coverage detected