(t *testing.T)
| 82 | } |
| 83 | |
| 84 | func 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 | |
| 136 | func TestGroupE2E(t *testing.T) { |
| 137 | testHierarchy := map[string]map[string][]string{ |
nothing calls this directly
no test coverage detected