@@ -1407,6 +1407,46 @@ func TestWorkspaceFilterManual(t *testing.T) {
1407
1407
// and template.InactivityTTL should be 0
1408
1408
assert .Len (t , res .Workspaces , 0 )
1409
1409
})
1410
+
1411
+ t .Run ("LockedAt" , func (t * testing.T ) {
1412
+ // this test has a licensed counterpart in enterprise/coderd/workspaces_test.go: FilterQueryHasDeletingByAndLicensed
1413
+ t .Parallel ()
1414
+ client := coderdtest .New (t , & coderdtest.Options {
1415
+ IncludeProvisionerDaemon : true ,
1416
+ })
1417
+ user := coderdtest .CreateFirstUser (t , client )
1418
+ authToken := uuid .NewString ()
1419
+ version := coderdtest .CreateTemplateVersion (t , client , user .OrganizationID , & echo.Responses {
1420
+ Parse : echo .ParseComplete ,
1421
+ ProvisionPlan : echo .ProvisionComplete ,
1422
+ ProvisionApply : echo .ProvisionApplyWithAgent (authToken ),
1423
+ })
1424
+ template := coderdtest .CreateTemplate (t , client , user .OrganizationID , version .ID )
1425
+ _ = coderdtest .AwaitTemplateVersionJob (t , client , version .ID )
1426
+
1427
+ // update template with inactivity ttl
1428
+ ctx , cancel := context .WithTimeout (context .Background (), testutil .WaitLong )
1429
+ defer cancel ()
1430
+
1431
+ lockedWorkspace := coderdtest .CreateWorkspace (t , client , user .OrganizationID , template .ID )
1432
+ _ = coderdtest .AwaitWorkspaceBuildJob (t , client , lockedWorkspace .LatestBuild .ID )
1433
+
1434
+ // Create another workspace to validate that we do not return unlocked workspaces.
1435
+ _ = coderdtest .CreateWorkspace (t , client , user .OrganizationID , template .ID )
1436
+ _ = coderdtest .AwaitWorkspaceBuildJob (t , client , lockedWorkspace .LatestBuild .ID )
1437
+
1438
+ err := client .UpdateWorkspaceLock (ctx , lockedWorkspace .ID , codersdk.UpdateWorkspaceLock {
1439
+ Lock : true ,
1440
+ })
1441
+ require .NoError (t , err )
1442
+
1443
+ res , err := client .Workspaces (ctx , codersdk.WorkspaceFilter {
1444
+ FilterQuery : fmt .Sprintf ("locked_at:%s" , time .Now ().Add (- time .Minute ).Format ("2006-01-02" )),
1445
+ })
1446
+ require .NoError (t , err )
1447
+ require .Len (t , res .Workspaces , 1 )
1448
+ require .NotNil (t , res .Workspaces [0 ].LockedAt )
1449
+ })
1410
1450
}
1411
1451
1412
1452
func TestOffsetLimit (t * testing.T ) {
0 commit comments