gitee.com/liuxuezhan/go-micro-v1.18.0@v1.0.0/registry/util_test.go (about)

     1  package registry
     2  
     3  import (
     4  	"testing"
     5  )
     6  
     7  func TestRemove(t *testing.T) {
     8  	services := []*Service{
     9  		{
    10  			Name:    "foo",
    11  			Version: "1.0.0",
    12  			Nodes: []*Node{
    13  				{
    14  					Id:      "foo-123",
    15  					Address: "localhost:9999",
    16  				},
    17  			},
    18  		},
    19  		{
    20  			Name:    "foo",
    21  			Version: "1.0.0",
    22  			Nodes: []*Node{
    23  				{
    24  					Id:      "foo-123",
    25  					Address: "localhost:6666",
    26  				},
    27  			},
    28  		},
    29  	}
    30  
    31  	servs := Remove([]*Service{services[0]}, []*Service{services[1]})
    32  	if i := len(servs); i > 0 {
    33  		t.Errorf("Expected 0 nodes, got %d: %+v", i, servs)
    34  	}
    35  	t.Logf("Services %+v", servs)
    36  }
    37  
    38  func TestRemoveNodes(t *testing.T) {
    39  	services := []*Service{
    40  		{
    41  			Name:    "foo",
    42  			Version: "1.0.0",
    43  			Nodes: []*Node{
    44  				{
    45  					Id:      "foo-123",
    46  					Address: "localhost:9999",
    47  				},
    48  				{
    49  					Id:      "foo-321",
    50  					Address: "localhost:6666",
    51  				},
    52  			},
    53  		},
    54  		{
    55  			Name:    "foo",
    56  			Version: "1.0.0",
    57  			Nodes: []*Node{
    58  				{
    59  					Id:      "foo-123",
    60  					Address: "localhost:6666",
    61  				},
    62  			},
    63  		},
    64  	}
    65  
    66  	nodes := delNodes(services[0].Nodes, services[1].Nodes)
    67  	if i := len(nodes); i != 1 {
    68  		t.Errorf("Expected only 1 node, got %d: %+v", i, nodes)
    69  	}
    70  	t.Logf("Nodes %+v", nodes)
    71  }