| 24 | ) |
| 25 | |
| 26 | func TestWorkspaceRewriteDERPMap(t *testing.T) { |
| 27 | t.Parallel() |
| 28 | // This test ensures that RewriteDERPMap mutates built-in DERPs with the |
| 29 | // client access URL. |
| 30 | dm := &tailcfg.DERPMap{ |
| 31 | Regions: map[int]*tailcfg.DERPRegion{ |
| 32 | 1: { |
| 33 | EmbeddedRelay: true, |
| 34 | RegionID: 1, |
| 35 | Nodes: []*tailcfg.DERPNode{{ |
| 36 | HostName: "bananas.org", |
| 37 | DERPPort: 1, |
| 38 | }}, |
| 39 | }, |
| 40 | }, |
| 41 | } |
| 42 | parsed, err := url.Parse("https://coconuts.org:44558") |
| 43 | require.NoError(t, err) |
| 44 | client := workspacesdk.New(codersdk.New(parsed)) |
| 45 | client.RewriteDERPMap(dm) |
| 46 | region := dm.Regions[1] |
| 47 | require.True(t, region.EmbeddedRelay) |
| 48 | require.Len(t, region.Nodes, 1) |
| 49 | node := region.Nodes[0] |
| 50 | require.Equal(t, "coconuts.org", node.HostName) |
| 51 | require.Equal(t, 44558, node.DERPPort) |
| 52 | } |
| 53 | |
| 54 | func TestWorkspaceDialerFailure(t *testing.T) { |
| 55 | t.Parallel() |