@@ -615,6 +615,31 @@ func TestWorkspaceUpdateAutostop(t *testing.T) {
615
615
})
616
616
}
617
617
618
+ func TestWorkspaceExtendAutostop (t * testing.T ) {
619
+ t .Parallel ()
620
+ var (
621
+ ctx = context .Background ()
622
+ client = coderdtest .New (t , & coderdtest.Options {IncludeProvisionerD : true })
623
+ user = coderdtest .CreateFirstUser (t , client )
624
+ version = coderdtest .CreateTemplateVersion (t , client , user .OrganizationID , nil )
625
+ _ = coderdtest .AwaitTemplateVersionJob (t , client , version .ID )
626
+ project = coderdtest .CreateTemplate (t , client , user .OrganizationID , version .ID )
627
+ workspace = coderdtest .CreateWorkspace (t , client , user .OrganizationID , project .ID )
628
+ extend = 90 * time .Minute
629
+ )
630
+
631
+ initTTL := time .Now ()
632
+ req := codersdk.PutExtendWorkspaceRequest {
633
+ Deadline : initTTL .Add (extend ),
634
+ }
635
+ err := client .PutExtendWorkspace (ctx , workspace .ID , req )
636
+ require .NoError (t , err , "failed to update workspace ttl" )
637
+
638
+ updated , err := client .Workspace (ctx , workspace .ID )
639
+ require .NoError (t , err , "failed to fetch updated workspace" )
640
+ require .Equal (t , workspace .LatestBuild .Deadline .Add (extend ), updated .LatestBuild .Deadline )
641
+ }
642
+
618
643
func TestWorkspaceWatcher (t * testing.T ) {
619
644
t .Parallel ()
620
645
client := coderdtest .New (t , & coderdtest.Options {IncludeProvisionerD : true })
0 commit comments