@@ -7,13 +7,17 @@ import (
7
7
"github.com/prometheus/client_golang/prometheus"
8
8
"github.com/stretchr/testify/require"
9
9
10
+ "cdr.dev/slog"
10
11
"cdr.dev/slog/sloggers/slogtest"
12
+ "github.com/coder/quartz"
13
+
11
14
"github.com/coder/coder/v2/coderd/coderdtest"
15
+ "github.com/coder/coder/v2/coderd/database"
12
16
"github.com/coder/coder/v2/coderd/database/dbauthz"
13
17
"github.com/coder/coder/v2/coderd/database/dbtestutil"
18
+ "github.com/coder/coder/v2/coderd/notifications"
14
19
"github.com/coder/coder/v2/coderd/rbac"
15
20
"github.com/coder/coder/v2/testutil"
16
- "github.com/coder/quartz"
17
21
)
18
22
19
23
func TestReportFailedWorkspaceBuilds (t * testing.T ) {
@@ -22,20 +26,16 @@ func TestReportFailedWorkspaceBuilds(t *testing.T) {
22
26
t .Run ("FailedBuilds_TemplateAdminOptIn_FirstRun_Report_SecondRunTooEarly_NoReport_ThirdRun_Report" , func (t * testing.T ) {
23
27
t .Parallel ()
24
28
25
- // Prepare dependencies
26
- logger := slogtest .Make (t , & slogtest.Options {})
27
- rdb , _ := dbtestutil .NewDB (t )
28
- db := dbauthz .New (rdb , rbac .NewAuthorizer (prometheus .NewRegistry ()), logger , coderdtest .AccessControlStorePointer ())
29
- notifyEnq := & testutil.FakeNotificationsEnqueuer {}
30
- clk := quartz .NewMock (t )
29
+ // Setup
30
+ logger , db , notifEnq , clk := setup (t )
31
31
32
32
ctx , cancel := context .WithTimeout (context .Background (), testutil .WaitMedium )
33
33
defer cancel ()
34
34
35
35
// Given
36
36
37
37
// When
38
- err := reportFailedWorkspaceBuilds (ctx , logger , db , notifyEnq , clk )
38
+ err := reportFailedWorkspaceBuilds (ctx , logger , db , notifEnq , clk )
39
39
require .NoError (t , err )
40
40
41
41
// Then
@@ -58,3 +58,14 @@ func TestReportFailedWorkspaceBuilds(t *testing.T) {
58
58
// TODO
59
59
})
60
60
}
61
+
62
+ func setup (t * testing.T ) (slog.Logger , database.Store , notifications.Enqueuer , quartz.Clock ) {
63
+ t .Helper ()
64
+
65
+ logger := slogtest .Make (t , & slogtest.Options {})
66
+ rdb , _ := dbtestutil .NewDB (t )
67
+ db := dbauthz .New (rdb , rbac .NewAuthorizer (prometheus .NewRegistry ()), logger , coderdtest .AccessControlStorePointer ())
68
+ notifyEnq := & testutil.FakeNotificationsEnqueuer {}
69
+ clk := quartz .NewMock (t )
70
+ return logger , db , notifyEnq , clk
71
+ }
0 commit comments