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

Function TestRegions

coderd/workspaceproxies_test.go:16–68  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

14)
15
16func TestRegions(t *testing.T) {
17 t.Parallel()
18
19 t.Run("OK", func(t *testing.T) {
20 t.Parallel()
21 const appHostname = "*.apps.coder.test"
22
23 db, pubsub := dbtestutil.NewDB(t)
24 deploymentID := uuid.New()
25
26 ctx := testutil.Context(t, testutil.WaitLong)
27 err := db.InsertDeploymentID(ctx, deploymentID.String())
28 require.NoError(t, err)
29
30 client := coderdtest.New(t, &coderdtest.Options{
31 AppHostname: appHostname,
32 Database: db,
33 Pubsub: pubsub,
34 })
35 _ = coderdtest.CreateFirstUser(t, client)
36
37 regions, err := client.Regions(ctx)
38 require.NoError(t, err)
39
40 require.Len(t, regions, 1)
41 require.NotEqual(t, uuid.Nil, regions[0].ID)
42 require.Equal(t, regions[0].ID, deploymentID)
43 require.Equal(t, "primary", regions[0].Name)
44 require.Equal(t, "Default", regions[0].DisplayName)
45 require.NotEmpty(t, regions[0].IconURL)
46 require.True(t, regions[0].Healthy)
47 require.Equal(t, client.URL.String(), regions[0].PathAppURL)
48 require.Equal(t, fmt.Sprintf("%s:%s", appHostname, client.URL.Port()), regions[0].WildcardHostname)
49
50 // Ensure the primary region ID is constant.
51 regions2, err := client.Regions(ctx)
52 require.NoError(t, err)
53 require.Equal(t, regions[0].ID, regions2[0].ID)
54 })
55
56 t.Run("RequireAuth", func(t *testing.T) {
57 t.Parallel()
58
59 ctx := testutil.Context(t, testutil.WaitLong)
60 client := coderdtest.New(t, nil)
61 _ = coderdtest.CreateFirstUser(t, client)
62
63 unauthedClient := codersdk.New(client.URL)
64 regions, err := unauthedClient.Regions(ctx)
65 require.Error(t, err)
66 require.Empty(t, regions)
67 })
68}

Callers

nothing calls this directly

Calls 15

NewDBFunction · 0.92
ContextFunction · 0.92
NewFunction · 0.92
CreateFirstUserFunction · 0.92
NewFunction · 0.92
RegionsMethod · 0.80
NotEmptyMethod · 0.80
RunMethod · 0.65
NewMethod · 0.65
InsertDeploymentIDMethod · 0.65
StringMethod · 0.45
LenMethod · 0.45

Tested by

no test coverage detected