@@ -288,12 +288,70 @@ func TestServiceDiscoveryClient_GetService(t *testing.T) {
288288 // TODO: Add unit tests
289289}
290290
291- func TestServiceDiscoveryClient_RegisterEndpoints (t * testing.T ) {
291+ func TestServiceDiscoveryClient_GetService_CachedValues (t * testing.T ) {
292292 // TODO: Add unit tests
293293}
294294
295+ func TestServiceDiscoveryClient_RegisterEndpoints (t * testing.T ) {
296+ mockController := gomock .NewController (t )
297+ defer mockController .Finish ()
298+
299+ sdApi := cloudmap .NewMockServiceDiscoveryApi (mockController )
300+
301+ sdc := getTestSdClient (t , sdApi )
302+ sdc .namespaceCache .Add (test .NsName , test .NsId , time .Minute )
303+ sdc .serviceIdCache .Add (fmt .Sprintf ("%s/%s" , test .NsName , test .SvcName ), test .SvcId , time .Minute )
304+
305+ attrs1 := map [string ]string {"AWS_INSTANCE_IPV4" : test .EndptIp1 , "AWS_INSTANCE_PORT" : test .EndptPortStr1 }
306+ attrs2 := map [string ]string {"AWS_INSTANCE_IPV4" : test .EndptIp2 , "AWS_INSTANCE_PORT" : test .EndptPortStr2 }
307+
308+ sdApi .EXPECT ().RegisterInstance (context .TODO (), test .SvcId , test .EndptId1 , attrs1 ).
309+ Return (test .OpId1 , nil )
310+ sdApi .EXPECT ().RegisterInstance (context .TODO (), test .SvcId , test .EndptId2 , attrs2 ).
311+ Return (test .OpId2 , nil )
312+ sdApi .EXPECT ().ListOperations (context .TODO (), gomock .Any ()).
313+ Return (map [string ]types.OperationStatus {
314+ test .OpId1 : types .OperationStatusSuccess ,
315+ test .OpId2 : types .OperationStatusSuccess }, nil )
316+
317+ err := sdc .RegisterEndpoints (context .TODO (), test .NsName , test .SvcName ,
318+ []* model.Endpoint {
319+ {
320+ Id : test .EndptId1 ,
321+ IP : test .EndptIp1 ,
322+ Port : test .EndptPort1 ,
323+ },
324+ {
325+ Id : test .EndptId2 ,
326+ IP : test .EndptIp2 ,
327+ Port : test .EndptPort2 ,
328+ },
329+ })
330+
331+ assert .Nil (t , err )
332+ }
333+
295334func TestServiceDiscoveryClient_DeleteEndpoints (t * testing.T ) {
296- // TODO: Add unit tests
335+ mockController := gomock .NewController (t )
336+ defer mockController .Finish ()
337+
338+ sdApi := cloudmap .NewMockServiceDiscoveryApi (mockController )
339+
340+ sdc := getTestSdClient (t , sdApi )
341+ sdc .namespaceCache .Add (test .NsName , test .NsId , time .Minute )
342+ sdc .serviceIdCache .Add (fmt .Sprintf ("%s/%s" , test .NsName , test .SvcName ), test .SvcId , time .Minute )
343+
344+ sdApi .EXPECT ().DeregisterInstance (context .TODO (), test .SvcId , test .EndptId1 ).Return (test .OpId1 , nil )
345+ sdApi .EXPECT ().DeregisterInstance (context .TODO (), test .SvcId , test .EndptId2 ).Return (test .OpId2 , nil )
346+ sdApi .EXPECT ().ListOperations (context .TODO (), gomock .Any ()).
347+ Return (map [string ]types.OperationStatus {
348+ test .OpId1 : types .OperationStatusSuccess ,
349+ test .OpId2 : types .OperationStatusSuccess }, nil )
350+
351+ err := sdc .DeleteEndpoints (context .TODO (), test .NsName , test .SvcName ,
352+ []* model.Endpoint {{Id : test .EndptId1 }, {Id : test .EndptId2 }})
353+
354+ assert .Nil (t , err )
297355}
298356
299357func TestServiceDiscoveryClient_getNamespace_HappyCase (t * testing.T ) {
0 commit comments