package registry import ( "testing" ) func TestRemove(t *testing.T) { services := []*Service{ { Name: "foo", Version: "1.0.0", Nodes: []*Node{ { Id: "foo-123", Address: "localhost:9999", }, }, }, { Name: "foo", Version: "1.0.0", Nodes: []*Node{ { Id: "foo-123", Address: "localhost:6666", }, }, }, } servs := Remove([]*Service{services[0]}, []*Service{services[1]}) if i := len(servs); i > 0 { t.Errorf("Expected 0 nodes, got %d: %+v", i, servs) } t.Logf("Services %+v", servs) } func TestRemoveNodes(t *testing.T) { services := []*Service{ { Name: "foo", Version: "1.0.0", Nodes: []*Node{ { Id: "foo-123", Address: "localhost:9999", }, { Id: "foo-321", Address: "localhost:6666", }, }, }, { Name: "foo", Version: "1.0.0", Nodes: []*Node{ { Id: "foo-123", Address: "localhost:6666", }, }, }, } nodes := delNodes(services[0].Nodes, services[1].Nodes) if i := len(nodes); i != 1 { t.Errorf("Expected only 1 node, got %d: %+v", i, nodes) } t.Logf("Nodes %+v", nodes) }