MCPcopy
hub / github.com/grpc/grpc-go / TestGroup

Function TestGroup

internal/hierarchy/hierarchy_ext_test.go:84–134  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

82}
83
84func TestGroup(t *testing.T) {
85 tests := []struct {
86 name string
87 eps []resolver.Endpoint
88 want map[string][]resolver.Endpoint
89 }{
90 {
91 name: "all with hierarchy",
92 eps: []resolver.Endpoint{
93 hierarchy.SetInEndpoint(resolver.Endpoint{Addresses: []resolver.Address{{Addr: "a0"}}}, []string{"a"}),
94 hierarchy.SetInEndpoint(resolver.Endpoint{Addresses: []resolver.Address{{Addr: "a1"}}}, []string{"a"}),
95 hierarchy.SetInEndpoint(resolver.Endpoint{Addresses: []resolver.Address{{Addr: "b0"}}}, []string{"b"}),
96 hierarchy.SetInEndpoint(resolver.Endpoint{Addresses: []resolver.Address{{Addr: "b1"}}}, []string{"b"}),
97 },
98 want: map[string][]resolver.Endpoint{
99 "a": {
100 hierarchy.SetInEndpoint(resolver.Endpoint{Addresses: []resolver.Address{{Addr: "a0"}}}, nil),
101 hierarchy.SetInEndpoint(resolver.Endpoint{Addresses: []resolver.Address{{Addr: "a1"}}}, nil),
102 },
103 "b": {
104 hierarchy.SetInEndpoint(resolver.Endpoint{Addresses: []resolver.Address{{Addr: "b0"}}}, nil),
105 hierarchy.SetInEndpoint(resolver.Endpoint{Addresses: []resolver.Address{{Addr: "b1"}}}, nil),
106 },
107 },
108 },
109 {
110 // Endpoints without hierarchy are ignored.
111 name: "without hierarchy",
112 eps: []resolver.Endpoint{
113 hierarchy.SetInEndpoint(resolver.Endpoint{Addresses: []resolver.Address{{Addr: "a0"}}}, []string{"a"}),
114 hierarchy.SetInEndpoint(resolver.Endpoint{Addresses: []resolver.Address{{Addr: "a1"}}}, []string{"a"}),
115 {Addresses: []resolver.Address{{Addr: "b0"}}, Attributes: nil},
116 {Addresses: []resolver.Address{{Addr: "b1"}}, Attributes: nil},
117 },
118 want: map[string][]resolver.Endpoint{
119 "a": {
120 hierarchy.SetInEndpoint(resolver.Endpoint{Addresses: []resolver.Address{{Addr: "a0"}}}, nil),
121 hierarchy.SetInEndpoint(resolver.Endpoint{Addresses: []resolver.Address{{Addr: "a1"}}}, nil),
122 },
123 },
124 },
125 }
126 for _, tt := range tests {
127 t.Run(tt.name, func(t *testing.T) {
128 if got := hierarchy.Group(tt.eps); !cmp.Equal(got, tt.want, cmp.AllowUnexported(attributes.Attributes{})) {
129 t.Errorf("Group() = %v, want %v", got, tt.want)
130 t.Errorf("diff: %v", cmp.Diff(got, tt.want, cmp.AllowUnexported(attributes.Attributes{})))
131 }
132 })
133 }
134}
135
136func TestGroupE2E(t *testing.T) {
137 testHierarchy := map[string]map[string][]string{

Callers

nothing calls this directly

Calls 4

SetInEndpointFunction · 0.92
GroupFunction · 0.92
EqualMethod · 0.65
ErrorfMethod · 0.65

Tested by

no test coverage detected