MCPcopy Index your code
hub / github.com/coder/coder / TestDERPMap

Function TestDERPMap

tailnet/convert_test.go:156–208  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

154}
155
156func TestDERPMap(t *testing.T) {
157 t.Parallel()
158
159 // Tailscale DERP map on 2023-11-20 for testing purposes.
160 tailscaleDERPMap, err := os.ReadFile("testdata/tailscale_derpmap.json")
161 require.NoError(t, err)
162
163 derpMap := &tailcfg.DERPMap{}
164 err = json.Unmarshal(tailscaleDERPMap, derpMap)
165 require.NoError(t, err)
166
167 // The tailscale DERPMap doesn't have HomeParams.
168 derpMap.HomeParams = &tailcfg.DERPHomeParams{
169 RegionScore: map[int]float64{
170 1: 2,
171 2: 3,
172 },
173 }
174
175 // Add a region and node that uses every single field.
176 derpMap.Regions[999] = &tailcfg.DERPRegion{
177 RegionID: 999,
178 EmbeddedRelay: true,
179 RegionCode: "zzz",
180 RegionName: "Cool Region",
181 Avoid: true,
182
183 Nodes: []*tailcfg.DERPNode{
184 {
185 Name: "zzz1",
186 RegionID: 999,
187 HostName: "coolderp.com",
188 IPv4: "1.2.3.4",
189 IPv6: "2001:db8::1",
190 STUNPort: 1234,
191 STUNOnly: true,
192 DERPPort: 5678,
193 InsecureForTests: true,
194 ForceHTTP: true,
195 STUNTestIP: "5.6.7.8",
196 CanPort80: true,
197 },
198 },
199 }
200
201 protoMap := tailnet.DERPMapToProto(derpMap)
202 require.NotNil(t, protoMap)
203
204 derpMap2 := tailnet.DERPMapFromProto(protoMap)
205 require.NotNil(t, derpMap2)
206
207 require.Equal(t, derpMap, derpMap2)
208}

Callers

nothing calls this directly

Calls 5

DERPMapToProtoFunction · 0.92
DERPMapFromProtoFunction · 0.92
ReadFileMethod · 0.65
UnmarshalMethod · 0.45
EqualMethod · 0.45

Tested by

no test coverage detected