Skip to content

Commit 904ce34

Browse files
committed
Unit test deployment id stuff
1 parent 28d80ad commit 904ce34

File tree

3 files changed

+20
-16
lines changed

3 files changed

+20
-16
lines changed

coderd/coderdtest/coderdtest.go

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import (
1010
"crypto/tls"
1111
"crypto/x509"
1212
"crypto/x509/pkix"
13+
"database/sql"
1314
"encoding/base64"
1415
"encoding/json"
1516
"encoding/pem"
@@ -206,9 +207,15 @@ func NewOptions(t testing.TB, options *Options) (func(http.Handler), context.Can
206207
options.Database = dbauthz.New(options.Database, options.Authorizer, slogtest.Make(t, nil).Leveled(slog.LevelDebug))
207208
}
208209

209-
// Some routes expect a deployment ID
210-
err := options.Database.InsertDeploymentID(dbauthz.AsSystemRestricted(context.Background()), uuid.NewString())
211-
require.NoError(t, err, "insert a deployment id")
210+
// Some routes expect a deployment ID, so just make sure one exists.
211+
// Check first incase the caller already set up this database.
212+
// nolint:gocritic // Setting up unit test data inside test helper
213+
depID, err := options.Database.GetDeploymentID(dbauthz.AsSystemRestricted(context.Background()))
214+
if xerrors.Is(err, sql.ErrNoRows) || depID == "" {
215+
// nolint:gocritic // Setting up unit test data inside test helper
216+
err := options.Database.InsertDeploymentID(dbauthz.AsSystemRestricted(context.Background()), uuid.NewString())
217+
require.NoError(t, err, "insert a deployment id")
218+
}
212219

213220
if options.DeploymentValues == nil {
214221
options.DeploymentValues = DeploymentValues(t)

enterprise/coderd/workspaceproxy.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -409,7 +409,7 @@ func (api *API) workspaceProxies(rw http.ResponseWriter, r *http.Request) {
409409
httpapi.InternalServerError(rw, err)
410410
return
411411
}
412-
proxies = append(proxies, primaryProxy)
412+
proxies = append([]database.WorkspaceProxy{primaryProxy}, proxies...)
413413

414414
statues := api.ProxyHealth.HealthStatus()
415415
httpapi.Write(ctx, rw, http.StatusOK, convertProxies(proxies, statues))

enterprise/coderd/workspaceproxy_test.go

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -44,11 +44,6 @@ func TestRegions(t *testing.T) {
4444
}
4545

4646
db, pubsub := dbtestutil.NewDB(t)
47-
deploymentID := uuid.New()
48-
49-
ctx := testutil.Context(t, testutil.WaitLong)
50-
err := db.InsertDeploymentID(ctx, deploymentID.String())
51-
require.NoError(t, err)
5247

5348
client := coderdenttest.New(t, &coderdenttest.Options{
5449
Options: &coderdtest.Options{
@@ -58,14 +53,18 @@ func TestRegions(t *testing.T) {
5853
DeploymentValues: dv,
5954
},
6055
})
56+
6157
_ = coderdtest.CreateFirstUser(t, client)
58+
ctx := testutil.Context(t, testutil.WaitLong)
59+
deploymentID, err := db.GetDeploymentID(ctx)
60+
require.NoError(t, err, "get deployment ID")
6261

6362
regions, err := client.Regions(ctx)
6463
require.NoError(t, err)
6564

6665
require.Len(t, regions, 1)
6766
require.NotEqual(t, uuid.Nil, regions[0].ID)
68-
require.Equal(t, regions[0].ID, deploymentID)
67+
require.Equal(t, regions[0].ID.String(), deploymentID)
6968
require.Equal(t, "primary", regions[0].Name)
7069
require.Equal(t, "Default", regions[0].DisplayName)
7170
require.NotEmpty(t, regions[0].IconURL)
@@ -89,11 +88,6 @@ func TestRegions(t *testing.T) {
8988
}
9089

9190
db, pubsub := dbtestutil.NewDB(t)
92-
deploymentID := uuid.New()
93-
94-
ctx := testutil.Context(t, testutil.WaitLong)
95-
err := db.InsertDeploymentID(ctx, deploymentID.String())
96-
require.NoError(t, err)
9791

9892
client, closer, api := coderdenttest.NewWithAPI(t, &coderdenttest.Options{
9993
Options: &coderdtest.Options{
@@ -106,6 +100,9 @@ func TestRegions(t *testing.T) {
106100
t.Cleanup(func() {
107101
_ = closer.Close()
108102
})
103+
ctx := testutil.Context(t, testutil.WaitLong)
104+
deploymentID, err := db.GetDeploymentID(ctx)
105+
require.NoError(t, err, "get deployment ID")
109106
_ = coderdtest.CreateFirstUser(t, client)
110107
_ = coderdenttest.AddLicense(t, client, coderdenttest.LicenseOptions{
111108
Features: license.Features{
@@ -131,7 +128,7 @@ func TestRegions(t *testing.T) {
131128

132129
// Region 0 is the primary require.Len(t, regions, 1)
133130
require.NotEqual(t, uuid.Nil, regions[0].ID)
134-
require.Equal(t, regions[0].ID, deploymentID)
131+
require.Equal(t, regions[0].ID.String(), deploymentID)
135132
require.Equal(t, "primary", regions[0].Name)
136133
require.Equal(t, "Default", regions[0].DisplayName)
137134
require.NotEmpty(t, regions[0].IconURL)

0 commit comments

Comments
 (0)