Skip to content

Commit 9a28cb0

Browse files
authored
chore(coderd/telemetry): remove dbmem from tests (#18148)
Related to #15109
1 parent 9812162 commit 9a28cb0

File tree

1 file changed

+53
-22
lines changed

1 file changed

+53
-22
lines changed

coderd/telemetry/telemetry_test.go

Lines changed: 53 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ import (
2020
"github.com/coder/coder/v2/buildinfo"
2121
"github.com/coder/coder/v2/coderd/database"
2222
"github.com/coder/coder/v2/coderd/database/dbgen"
23-
"github.com/coder/coder/v2/coderd/database/dbmem"
2423
"github.com/coder/coder/v2/coderd/database/dbtestutil"
2524
"github.com/coder/coder/v2/coderd/database/dbtime"
2625
"github.com/coder/coder/v2/coderd/idpsync"
@@ -41,48 +40,79 @@ func TestTelemetry(t *testing.T) {
4140

4241
var err error
4342

44-
db := dbmem.New()
43+
db, _ := dbtestutil.NewDB(t)
4544

4645
ctx := testutil.Context(t, testutil.WaitMedium)
4746

4847
org, err := db.GetDefaultOrganization(ctx)
4948
require.NoError(t, err)
5049

51-
_, _ = dbgen.APIKey(t, db, database.APIKey{})
52-
_ = dbgen.ProvisionerJob(t, db, nil, database.ProvisionerJob{
50+
user := dbgen.User(t, db, database.User{})
51+
_ = dbgen.OrganizationMember(t, db, database.OrganizationMember{
52+
UserID: user.ID,
53+
OrganizationID: org.ID,
54+
})
55+
require.NoError(t, err)
56+
_, _ = dbgen.APIKey(t, db, database.APIKey{
57+
UserID: user.ID,
58+
})
59+
job := dbgen.ProvisionerJob(t, db, nil, database.ProvisionerJob{
5360
Provisioner: database.ProvisionerTypeTerraform,
5461
StorageMethod: database.ProvisionerStorageMethodFile,
5562
Type: database.ProvisionerJobTypeTemplateVersionDryRun,
5663
OrganizationID: org.ID,
5764
})
58-
_ = dbgen.Template(t, db, database.Template{
65+
tpl := dbgen.Template(t, db, database.Template{
5966
Provisioner: database.ProvisionerTypeTerraform,
6067
OrganizationID: org.ID,
68+
CreatedBy: user.ID,
6169
})
6270
sourceExampleID := uuid.NewString()
63-
_ = dbgen.TemplateVersion(t, db, database.TemplateVersion{
71+
tv := dbgen.TemplateVersion(t, db, database.TemplateVersion{
6472
SourceExampleID: sql.NullString{String: sourceExampleID, Valid: true},
6573
OrganizationID: org.ID,
74+
TemplateID: uuid.NullUUID{UUID: tpl.ID, Valid: true},
75+
CreatedBy: user.ID,
76+
JobID: job.ID,
6677
})
6778
_ = dbgen.TemplateVersion(t, db, database.TemplateVersion{
6879
OrganizationID: org.ID,
80+
TemplateID: uuid.NullUUID{UUID: tpl.ID, Valid: true},
81+
CreatedBy: user.ID,
82+
JobID: job.ID,
6983
})
70-
user := dbgen.User(t, db, database.User{})
71-
_ = dbgen.Workspace(t, db, database.WorkspaceTable{
84+
ws := dbgen.Workspace(t, db, database.WorkspaceTable{
85+
OwnerID: user.ID,
7286
OrganizationID: org.ID,
87+
TemplateID: tpl.ID,
88+
})
89+
_ = dbgen.WorkspaceBuild(t, db, database.WorkspaceBuild{
90+
Transition: database.WorkspaceTransitionStart,
91+
Reason: database.BuildReasonAutostart,
92+
WorkspaceID: ws.ID,
93+
TemplateVersionID: tv.ID,
94+
JobID: job.ID,
95+
})
96+
wsresource := dbgen.WorkspaceResource(t, db, database.WorkspaceResource{
97+
JobID: job.ID,
98+
})
99+
wsagent := dbgen.WorkspaceAgent(t, db, database.WorkspaceAgent{
100+
ResourceID: wsresource.ID,
73101
})
74102
_ = dbgen.WorkspaceApp(t, db, database.WorkspaceApp{
75103
SharingLevel: database.AppSharingLevelOwner,
76104
Health: database.WorkspaceAppHealthDisabled,
77105
OpenIn: database.WorkspaceAppOpenInSlimWindow,
106+
AgentID: wsagent.ID,
107+
})
108+
group := dbgen.Group(t, db, database.Group{
109+
OrganizationID: org.ID,
78110
})
79111
_ = dbgen.TelemetryItem(t, db, database.TelemetryItem{
80112
Key: string(telemetry.TelemetryItemKeyHTMLFirstServedAt),
81113
Value: time.Now().Format(time.RFC3339),
82114
})
83-
group := dbgen.Group(t, db, database.Group{})
84115
_ = dbgen.GroupMember(t, db, database.GroupMemberTable{UserID: user.ID, GroupID: group.ID})
85-
wsagent := dbgen.WorkspaceAgent(t, db, database.WorkspaceAgent{})
86116
// Update the workspace agent to have a valid subsystem.
87117
err = db.UpdateWorkspaceAgentStartupByID(ctx, database.UpdateWorkspaceAgentStartupByIDParams{
88118
ID: wsagent.ID,
@@ -95,14 +125,9 @@ func TestTelemetry(t *testing.T) {
95125
})
96126
require.NoError(t, err)
97127

98-
_ = dbgen.WorkspaceBuild(t, db, database.WorkspaceBuild{
99-
Transition: database.WorkspaceTransitionStart,
100-
Reason: database.BuildReasonAutostart,
101-
})
102-
_ = dbgen.WorkspaceResource(t, db, database.WorkspaceResource{
103-
Transition: database.WorkspaceTransitionStart,
128+
_ = dbgen.WorkspaceAgentStat(t, db, database.WorkspaceAgentStat{
129+
ConnectionMedianLatencyMS: 1,
104130
})
105-
_ = dbgen.WorkspaceAgentStat(t, db, database.WorkspaceAgentStat{})
106131
_, err = db.InsertLicense(ctx, database.InsertLicenseParams{
107132
UploadedAt: dbtime.Now(),
108133
JWT: "",
@@ -112,9 +137,15 @@ func TestTelemetry(t *testing.T) {
112137
assert.NoError(t, err)
113138
_, _ = dbgen.WorkspaceProxy(t, db, database.WorkspaceProxy{})
114139

115-
_ = dbgen.WorkspaceModule(t, db, database.WorkspaceModule{})
116-
_ = dbgen.WorkspaceAgentMemoryResourceMonitor(t, db, database.WorkspaceAgentMemoryResourceMonitor{})
117-
_ = dbgen.WorkspaceAgentVolumeResourceMonitor(t, db, database.WorkspaceAgentVolumeResourceMonitor{})
140+
_ = dbgen.WorkspaceModule(t, db, database.WorkspaceModule{
141+
JobID: job.ID,
142+
})
143+
_ = dbgen.WorkspaceAgentMemoryResourceMonitor(t, db, database.WorkspaceAgentMemoryResourceMonitor{
144+
AgentID: wsagent.ID,
145+
})
146+
_ = dbgen.WorkspaceAgentVolumeResourceMonitor(t, db, database.WorkspaceAgentVolumeResourceMonitor{
147+
AgentID: wsagent.ID,
148+
})
118149

119150
_, snapshot := collectSnapshot(ctx, t, db, nil)
120151
require.Len(t, snapshot.ProvisionerJobs, 1)
@@ -170,7 +201,7 @@ func TestTelemetry(t *testing.T) {
170201
t.Run("HashedEmail", func(t *testing.T) {
171202
t.Parallel()
172203
ctx := testutil.Context(t, testutil.WaitMedium)
173-
db := dbmem.New()
204+
db, _ := dbtestutil.NewDB(t)
174205
_ = dbgen.User(t, db, database.User{
175206
Email: "kyle@coder.com",
176207
})
@@ -324,7 +355,7 @@ func TestTelemetry(t *testing.T) {
324355
func TestTelemetryInstallSource(t *testing.T) {
325356
t.Setenv("CODER_TELEMETRY_INSTALL_SOURCE", "aws_marketplace")
326357
ctx := testutil.Context(t, testutil.WaitMedium)
327-
db := dbmem.New()
358+
db, _ := dbtestutil.NewDB(t)
328359
deployment, _ := collectSnapshot(ctx, t, db, nil)
329360
require.Equal(t, "aws_marketplace", deployment.InstallSource)
330361
}

0 commit comments

Comments
 (0)