@@ -309,6 +309,34 @@ func TestWorkspace(t *testing.T) {
309
309
assert .NotEmpty (t , agent2 .Health .Reason )
310
310
})
311
311
})
312
+
313
+ t .Run ("Archived" , func (t * testing.T ) {
314
+ t .Parallel ()
315
+ ownerClient := coderdtest .New (t , & coderdtest.Options {IncludeProvisionerDaemon : true })
316
+ owner := coderdtest .CreateFirstUser (t , ownerClient )
317
+
318
+ client , _ := coderdtest .CreateAnotherUser (t , ownerClient , owner .OrganizationID , rbac .RoleTemplateAdmin ())
319
+
320
+ active := coderdtest .CreateTemplateVersion (t , client , owner .OrganizationID , nil )
321
+ coderdtest .AwaitTemplateVersionJobCompleted (t , client , active .ID )
322
+ template := coderdtest .CreateTemplate (t , client , owner .OrganizationID , active .ID )
323
+ // We need another version because the active template version cannot be
324
+ // archived.
325
+ version := coderdtest .CreateTemplateVersion (t , client , owner .OrganizationID , nil , func (request * codersdk.CreateTemplateVersionRequest ) {
326
+ request .TemplateID = template .ID
327
+ })
328
+ coderdtest .AwaitTemplateVersionJobCompleted (t , client , version .ID )
329
+
330
+ err := client .SetArchiveTemplateVersion (ctx , version .ID , true )
331
+ require .NoError (t , err , "archive version" )
332
+
333
+ _ , err = client .CreateWorkspace (ctx , owner .OrganizationID , codersdk .Me , codersdk.CreateWorkspaceRequest {
334
+ TemplateVersionID : version .ID ,
335
+ Name : "testworkspace" ,
336
+ })
337
+ require .Error (t , err , "create workspace with archived version" )
338
+ require .ErrorContains (t , err , "Archived template versions cannot" )
339
+ })
312
340
}
313
341
314
342
func TestAdminViewAllWorkspaces (t * testing.T ) {
0 commit comments