@@ -3398,26 +3398,46 @@ func TestWorkspaceUsageTracking(t *testing.T) {
3398
3398
})
3399
3399
t .Run ("Experiment" , func (t * testing.T ) {
3400
3400
t .Parallel ()
3401
+ ctx , cancel := context .WithTimeout (context .Background (), testutil .WaitMedium )
3402
+ defer cancel ()
3401
3403
dv := coderdtest .DeploymentValues (t )
3402
3404
dv .Experiments = []string {string (codersdk .ExperimentWorkspaceUsage )}
3403
3405
client , db := coderdtest .NewWithDatabase (t , & coderdtest.Options {
3404
3406
DeploymentValues : dv ,
3405
3407
})
3406
3408
user := coderdtest .CreateFirstUser (t , client )
3407
3409
tmpDir := t .TempDir ()
3410
+ org := dbgen .Organization (t , db , database.Organization {})
3411
+ _ = dbgen .OrganizationMember (t , db , database.OrganizationMember {
3412
+ UserID : user .UserID ,
3413
+ OrganizationID : org .ID ,
3414
+ })
3415
+ templateVersion := dbgen .TemplateVersion (t , db , database.TemplateVersion {
3416
+ OrganizationID : org .ID ,
3417
+ CreatedBy : user .UserID ,
3418
+ })
3419
+ template := dbgen .Template (t , db , database.Template {
3420
+ OrganizationID : org .ID ,
3421
+ ActiveVersionID : templateVersion .ID ,
3422
+ CreatedBy : user .UserID ,
3423
+ DefaultTTL : int64 (8 * time .Hour ),
3424
+ })
3425
+ _ , err := client .UpdateTemplateMeta (ctx , template .ID , codersdk.UpdateTemplateMeta {
3426
+ ActivityBumpMillis : int64 (1 * time .Hour ),
3427
+ })
3428
+ require .NoError (t , err )
3408
3429
r := dbfake .WorkspaceBuild (t , db , database.Workspace {
3409
3430
OrganizationID : user .OrganizationID ,
3410
3431
OwnerID : user .UserID ,
3432
+ TemplateID : template .ID ,
3433
+ Ttl : sql.NullInt64 {Valid : true , Int64 : int64 (8 * time .Hour )},
3411
3434
}).WithAgent (func (agents []* proto.Agent ) []* proto.Agent {
3412
3435
agents [0 ].Directory = tmpDir
3413
3436
return agents
3414
3437
}).Do ()
3415
3438
3416
- ctx , cancel := context .WithTimeout (context .Background (), testutil .WaitMedium )
3417
- defer cancel ()
3418
-
3419
3439
// continue legacy behavior
3420
- err : = client .PostWorkspaceUsage (ctx , r .Workspace .ID )
3440
+ err = client .PostWorkspaceUsage (ctx , r .Workspace .ID )
3421
3441
require .NoError (t , err )
3422
3442
err = client .PostWorkspaceUsageWithBody (ctx , r .Workspace .ID , codersdk.PostWorkspaceUsageRequest {})
3423
3443
require .NoError (t , err )
@@ -3466,5 +3486,12 @@ func TestWorkspaceUsageTracking(t *testing.T) {
3466
3486
AppName : "ssh" ,
3467
3487
})
3468
3488
require .NoError (t , err )
3489
+
3490
+ // ensure deadline has been bumped
3491
+ newWorkspace , err := client .Workspace (ctx , r .Workspace .ID )
3492
+ require .NoError (t , err )
3493
+ require .True (t , workspace .LatestBuild .Deadline .Valid )
3494
+ require .True (t , newWorkspace .LatestBuild .Deadline .Valid )
3495
+ require .Greater (t , newWorkspace .LatestBuild .Deadline .Time , workspace .LatestBuild .Deadline .Time )
3469
3496
})
3470
3497
}
0 commit comments