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

Function TestRegions

enterprise/coderd/workspaceproxy_test.go:39–203  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

37)
38
39func TestRegions(t *testing.T) {
40 t.Parallel()
41
42 const appHostname = "*.apps.coder.test"
43
44 t.Run("OK", func(t *testing.T) {
45 t.Parallel()
46
47 db, pubsub := dbtestutil.NewDB(t)
48
49 client, _ := coderdenttest.New(t, &coderdenttest.Options{
50 Options: &coderdtest.Options{
51 AppHostname: appHostname,
52 Database: db,
53 Pubsub: pubsub,
54 },
55 })
56
57 ctx := testutil.Context(t, testutil.WaitLong)
58 deploymentID, err := db.GetDeploymentID(ctx)
59 require.NoError(t, err, "get deployment ID")
60
61 regions, err := client.Regions(ctx)
62 require.NoError(t, err)
63
64 require.Len(t, regions, 1)
65 require.NotEqual(t, uuid.Nil, regions[0].ID)
66 require.Equal(t, regions[0].ID.String(), deploymentID)
67 require.Equal(t, "primary", regions[0].Name)
68 require.Equal(t, "Default", regions[0].DisplayName)
69 require.NotEmpty(t, regions[0].IconURL)
70 require.True(t, regions[0].Healthy)
71 require.Equal(t, client.URL.String(), regions[0].PathAppURL)
72 require.Equal(t, fmt.Sprintf("%s:%s", appHostname, client.URL.Port()), regions[0].WildcardHostname)
73
74 // Ensure the primary region ID is constant.
75 regions2, err := client.Regions(ctx)
76 require.NoError(t, err)
77 require.Equal(t, regions[0].ID, regions2[0].ID)
78 })
79
80 t.Run("WithProxies", func(t *testing.T) {
81 t.Parallel()
82
83 db, pubsub := dbtestutil.NewDB(t)
84
85 client, closer, api, _ := coderdenttest.NewWithAPI(t, &coderdenttest.Options{
86 Options: &coderdtest.Options{
87 AppHostname: appHostname,
88 Database: db,
89 Pubsub: pubsub,
90 },
91 LicenseOptions: &coderdenttest.LicenseOptions{
92 Features: license.Features{
93 codersdk.FeatureWorkspaceProxy: 1,
94 },
95 },
96 })

Callers

nothing calls this directly

Calls 15

NewDBFunction · 0.92
NewFunction · 0.92
ContextFunction · 0.92
NewWithAPIFunction · 0.92
NewWorkspaceProxyReplicaFunction · 0.92
NowFunction · 0.92
NewFunction · 0.92
RegionsMethod · 0.80
NotEmptyMethod · 0.80
WorkspaceProxyByNameMethod · 0.80
ForceUpdateMethod · 0.80
WorkspaceProxiesMethod · 0.80

Tested by

no test coverage detected