Skip to content

Commit 34cc4c3

Browse files
committed
cleanup
1 parent a1c89ec commit 34cc4c3

File tree

1 file changed

+19
-28
lines changed

1 file changed

+19
-28
lines changed

coderd/notifications/reports/generator_internal_test.go

Lines changed: 19 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,19 @@ func TestReportFailedWorkspaceBuilds(t *testing.T) {
5555
t.Run("FailedBuilds_FirstRun_Report_SecondRunTooEarly_NoReport_ThirdRun_Report", func(t *testing.T) {
5656
t.Parallel()
5757

58+
verifyNotification := func(t *testing.T, recipient database.User, notif *testutil.Notification, tmpl database.Template, failedBuilds, totalBuilds int64, templateVersions []map[string]interface{}) {
59+
t.Helper()
60+
61+
require.Equal(t, recipient.ID, notif.UserID)
62+
require.Equal(t, notifications.TemplateWorkspaceBuildsFailedReport, notif.TemplateID)
63+
require.Equal(t, tmpl.Name, notif.Labels["template_name"])
64+
require.Equal(t, tmpl.DisplayName, notif.Labels["template_display_name"])
65+
require.Equal(t, failedBuilds, notif.Data["failed_builds"])
66+
require.Equal(t, totalBuilds, notif.Data["total_builds"])
67+
require.Equal(t, "week", notif.Data["report_frequency"])
68+
require.Equal(t, templateVersions, notif.Data["template_versions"])
69+
}
70+
5871
// Setup
5972
ctx, logger, db, ps, notifEnq, clk := setup(t)
6073

@@ -128,14 +141,7 @@ func TestReportFailedWorkspaceBuilds(t *testing.T) {
128141

129142
require.Len(t, notifEnq.Sent, 4) // 2 templates, 2 template admins
130143
for i, templateAdmin := range []database.User{templateAdmin1, templateAdmin2} {
131-
require.Equal(t, templateAdmin.ID, notifEnq.Sent[i].UserID)
132-
require.Equal(t, notifications.TemplateWorkspaceBuildsFailedReport, notifEnq.Sent[i].TemplateID)
133-
require.Equal(t, t1.Name, notifEnq.Sent[i].Labels["template_name"])
134-
require.Equal(t, t1.DisplayName, notifEnq.Sent[i].Labels["template_display_name"])
135-
require.Equal(t, int64(3), notifEnq.Sent[i].Data["failed_builds"])
136-
require.Equal(t, int64(4), notifEnq.Sent[i].Data["total_builds"])
137-
require.Equal(t, "week", notifEnq.Sent[i].Data["report_frequency"])
138-
require.Equal(t, []map[string]interface{}{
144+
verifyNotification(t, templateAdmin, notifEnq.Sent[i], t1, 3, 4, []map[string]interface{}{
139145
{
140146
"failed_builds": []map[string]interface{}{
141147
{"build_number": int32(7), "workspace_name": w3.Name, "workspace_owner_username": user1.Username},
@@ -151,18 +157,11 @@ func TestReportFailedWorkspaceBuilds(t *testing.T) {
151157
"failed_count": 1,
152158
"template_version_name": t1v2.Name,
153159
},
154-
}, notifEnq.Sent[i].Data["template_versions"])
160+
})
155161
}
156162

157163
for i, templateAdmin := range []database.User{templateAdmin1, templateAdmin2} {
158-
require.Equal(t, templateAdmin.ID, notifEnq.Sent[i+2].UserID)
159-
require.Equal(t, notifications.TemplateWorkspaceBuildsFailedReport, notifEnq.Sent[i+2].TemplateID)
160-
require.Equal(t, t2.Name, notifEnq.Sent[i+2].Labels["template_name"])
161-
require.Equal(t, t2.DisplayName, notifEnq.Sent[i+2].Labels["template_display_name"])
162-
require.Equal(t, int64(3), notifEnq.Sent[i+2].Data["failed_builds"])
163-
require.Equal(t, int64(5), notifEnq.Sent[i+2].Data["total_builds"])
164-
require.Equal(t, "week", notifEnq.Sent[i+2].Data["report_frequency"])
165-
require.Equal(t, []map[string]interface{}{
164+
verifyNotification(t, templateAdmin, notifEnq.Sent[i+2], t2, 3, 5, []map[string]interface{}{
166165
{
167166
"failed_builds": []map[string]interface{}{
168167
{"build_number": int32(8), "workspace_name": w4.Name, "workspace_owner_username": user2.Username},
@@ -178,7 +177,7 @@ func TestReportFailedWorkspaceBuilds(t *testing.T) {
178177
"failed_count": 2,
179178
"template_version_name": t2v2.Name,
180179
},
181-
}, notifEnq.Sent[i+2].Data["template_versions"])
180+
})
182181
}
183182

184183
// Given: 6 days later (less than report frequency), and failed build
@@ -209,22 +208,15 @@ func TestReportFailedWorkspaceBuilds(t *testing.T) {
209208
// Then
210209
require.Len(t, notifEnq.Sent, 2) // a new failed job should be reported
211210
for i, templateAdmin := range []database.User{templateAdmin1, templateAdmin2} {
212-
require.Equal(t, templateAdmin.ID, notifEnq.Sent[i].UserID)
213-
require.Equal(t, notifications.TemplateWorkspaceBuildsFailedReport, notifEnq.Sent[i].TemplateID)
214-
require.Equal(t, t1.Name, notifEnq.Sent[i].Labels["template_name"])
215-
require.Equal(t, t1.DisplayName, notifEnq.Sent[i].Labels["template_display_name"])
216-
require.Equal(t, int64(1), notifEnq.Sent[i].Data["failed_builds"])
217-
require.Equal(t, int64(1), notifEnq.Sent[i].Data["total_builds"])
218-
require.Equal(t, "week", notifEnq.Sent[i].Data["report_frequency"])
219-
require.Equal(t, []map[string]interface{}{
211+
verifyNotification(t, templateAdmin, notifEnq.Sent[i], t1, 1, 1, []map[string]interface{}{
220212
{
221213
"failed_builds": []map[string]interface{}{
222214
{"build_number": int32(77), "workspace_name": w1.Name, "workspace_owner_username": user1.Username},
223215
},
224216
"failed_count": 1,
225217
"template_version_name": t1v2.Name,
226218
},
227-
}, notifEnq.Sent[i].Data["template_versions"])
219+
})
228220
}
229221
})
230222

@@ -290,6 +282,5 @@ func setup(t *testing.T) (context.Context, slog.Logger, database.Store, pubsub.P
290282

291283
func authedDB(t *testing.T, db database.Store, logger slog.Logger) database.Store {
292284
t.Helper()
293-
294285
return dbauthz.New(db, rbac.NewAuthorizer(prometheus.NewRegistry()), logger, coderdtest.AccessControlStorePointer())
295286
}

0 commit comments

Comments
 (0)