@@ -21,6 +21,9 @@ import (
21
21
"github.com/coder/coder/v2/coderd/coderdtest"
22
22
"github.com/coder/coder/v2/coderd/database"
23
23
"github.com/coder/coder/v2/coderd/database/dbfake"
24
+ "github.com/coder/coder/v2/coderd/database/dbtestutil"
25
+ "github.com/coder/coder/v2/coderd/database/dbtime"
26
+ "github.com/coder/coder/v2/coderd/workspaceusage"
24
27
"github.com/coder/coder/v2/codersdk"
25
28
"github.com/coder/coder/v2/pty/ptytest"
26
29
"github.com/coder/coder/v2/testutil"
@@ -96,7 +99,15 @@ func TestPortForward(t *testing.T) {
96
99
// Setup agent once to be shared between test-cases (avoid expensive
97
100
// non-parallel setup).
98
101
var (
99
- client , db = coderdtest .NewWithDatabase (t , nil )
102
+ db , ps = dbtestutil .NewDB (t )
103
+ wuTick = make (chan time.Time )
104
+ wuFlush = make (chan int , 1 )
105
+ wut = workspaceusage .New (db , workspaceusage .WithFlushChannel (wuFlush ), workspaceusage .WithTickChannel (wuTick ))
106
+ client = coderdtest .New (t , & coderdtest.Options {
107
+ WorkspaceUsageTracker : wut ,
108
+ Database : db ,
109
+ Pubsub : ps ,
110
+ })
100
111
admin = coderdtest .CreateFirstUser (t , client )
101
112
member , memberUser = coderdtest .CreateAnotherUser (t , client , admin .OrganizationID )
102
113
workspace = runAgent (t , client , memberUser .ID , db )
@@ -149,6 +160,8 @@ func TestPortForward(t *testing.T) {
149
160
err = <- errC
150
161
require .ErrorIs (t , err , context .Canceled )
151
162
163
+ wuTick <- dbtime .Now ()
164
+ <- wuFlush
152
165
updated , err := client .Workspace (context .Background (), workspace .ID )
153
166
require .NoError (t , err )
154
167
require .Greater (t , updated .LastUsedAt , workspace .LastUsedAt )
@@ -201,6 +214,8 @@ func TestPortForward(t *testing.T) {
201
214
err = <- errC
202
215
require .ErrorIs (t , err , context .Canceled )
203
216
217
+ wuTick <- dbtime .Now ()
218
+ <- wuFlush
204
219
updated , err := client .Workspace (context .Background (), workspace .ID )
205
220
require .NoError (t , err )
206
221
require .Greater (t , updated .LastUsedAt , workspace .LastUsedAt )
@@ -266,6 +281,8 @@ func TestPortForward(t *testing.T) {
266
281
err := <- errC
267
282
require .ErrorIs (t , err , context .Canceled )
268
283
284
+ wuTick <- dbtime .Now ()
285
+ <- wuFlush
269
286
updated , err := client .Workspace (context .Background (), workspace .ID )
270
287
require .NoError (t , err )
271
288
require .Greater (t , updated .LastUsedAt , workspace .LastUsedAt )
0 commit comments