@@ -20,7 +20,6 @@ import (
20
20
"github.com/coder/coder/v2/buildinfo"
21
21
"github.com/coder/coder/v2/coderd/database"
22
22
"github.com/coder/coder/v2/coderd/database/dbgen"
23
- "github.com/coder/coder/v2/coderd/database/dbmem"
24
23
"github.com/coder/coder/v2/coderd/database/dbtestutil"
25
24
"github.com/coder/coder/v2/coderd/database/dbtime"
26
25
"github.com/coder/coder/v2/coderd/idpsync"
@@ -41,48 +40,79 @@ func TestTelemetry(t *testing.T) {
41
40
42
41
var err error
43
42
44
- db := dbmem . New ( )
43
+ db , _ := dbtestutil . NewDB ( t )
45
44
46
45
ctx := testutil .Context (t , testutil .WaitMedium )
47
46
48
47
org , err := db .GetDefaultOrganization (ctx )
49
48
require .NoError (t , err )
50
49
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 {
53
60
Provisioner : database .ProvisionerTypeTerraform ,
54
61
StorageMethod : database .ProvisionerStorageMethodFile ,
55
62
Type : database .ProvisionerJobTypeTemplateVersionDryRun ,
56
63
OrganizationID : org .ID ,
57
64
})
58
- _ = dbgen .Template (t , db , database.Template {
65
+ tpl : = dbgen .Template (t , db , database.Template {
59
66
Provisioner : database .ProvisionerTypeTerraform ,
60
67
OrganizationID : org .ID ,
68
+ CreatedBy : user .ID ,
61
69
})
62
70
sourceExampleID := uuid .NewString ()
63
- _ = dbgen .TemplateVersion (t , db , database.TemplateVersion {
71
+ tv : = dbgen .TemplateVersion (t , db , database.TemplateVersion {
64
72
SourceExampleID : sql.NullString {String : sourceExampleID , Valid : true },
65
73
OrganizationID : org .ID ,
74
+ TemplateID : uuid.NullUUID {UUID : tpl .ID , Valid : true },
75
+ CreatedBy : user .ID ,
76
+ JobID : job .ID ,
66
77
})
67
78
_ = dbgen .TemplateVersion (t , db , database.TemplateVersion {
68
79
OrganizationID : org .ID ,
80
+ TemplateID : uuid.NullUUID {UUID : tpl .ID , Valid : true },
81
+ CreatedBy : user .ID ,
82
+ JobID : job .ID ,
69
83
})
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 ,
72
86
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 ,
73
101
})
74
102
_ = dbgen .WorkspaceApp (t , db , database.WorkspaceApp {
75
103
SharingLevel : database .AppSharingLevelOwner ,
76
104
Health : database .WorkspaceAppHealthDisabled ,
77
105
OpenIn : database .WorkspaceAppOpenInSlimWindow ,
106
+ AgentID : wsagent .ID ,
107
+ })
108
+ group := dbgen .Group (t , db , database.Group {
109
+ OrganizationID : org .ID ,
78
110
})
79
111
_ = dbgen .TelemetryItem (t , db , database.TelemetryItem {
80
112
Key : string (telemetry .TelemetryItemKeyHTMLFirstServedAt ),
81
113
Value : time .Now ().Format (time .RFC3339 ),
82
114
})
83
- group := dbgen .Group (t , db , database.Group {})
84
115
_ = dbgen .GroupMember (t , db , database.GroupMemberTable {UserID : user .ID , GroupID : group .ID })
85
- wsagent := dbgen .WorkspaceAgent (t , db , database.WorkspaceAgent {})
86
116
// Update the workspace agent to have a valid subsystem.
87
117
err = db .UpdateWorkspaceAgentStartupByID (ctx , database.UpdateWorkspaceAgentStartupByIDParams {
88
118
ID : wsagent .ID ,
@@ -95,14 +125,9 @@ func TestTelemetry(t *testing.T) {
95
125
})
96
126
require .NoError (t , err )
97
127
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 ,
104
130
})
105
- _ = dbgen .WorkspaceAgentStat (t , db , database.WorkspaceAgentStat {})
106
131
_ , err = db .InsertLicense (ctx , database.InsertLicenseParams {
107
132
UploadedAt : dbtime .Now (),
108
133
JWT : "" ,
@@ -112,9 +137,15 @@ func TestTelemetry(t *testing.T) {
112
137
assert .NoError (t , err )
113
138
_ , _ = dbgen .WorkspaceProxy (t , db , database.WorkspaceProxy {})
114
139
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
+ })
118
149
119
150
_ , snapshot := collectSnapshot (ctx , t , db , nil )
120
151
require .Len (t , snapshot .ProvisionerJobs , 1 )
@@ -170,7 +201,7 @@ func TestTelemetry(t *testing.T) {
170
201
t .Run ("HashedEmail" , func (t * testing.T ) {
171
202
t .Parallel ()
172
203
ctx := testutil .Context (t , testutil .WaitMedium )
173
- db := dbmem . New ( )
204
+ db , _ := dbtestutil . NewDB ( t )
174
205
_ = dbgen .User (t , db , database.User {
175
206
Email : "kyle@coder.com" ,
176
207
})
@@ -324,7 +355,7 @@ func TestTelemetry(t *testing.T) {
324
355
func TestTelemetryInstallSource (t * testing.T ) {
325
356
t .Setenv ("CODER_TELEMETRY_INSTALL_SOURCE" , "aws_marketplace" )
326
357
ctx := testutil .Context (t , testutil .WaitMedium )
327
- db := dbmem . New ( )
358
+ db , _ := dbtestutil . NewDB ( t )
328
359
deployment , _ := collectSnapshot (ctx , t , db , nil )
329
360
require .Equal (t , "aws_marketplace" , deployment .InstallSource )
330
361
}
0 commit comments