@@ -307,6 +307,50 @@ func TestTemplatesByOrganization(t *testing.T) {
307
307
require .NoError (t , err )
308
308
require .Len (t , templates , 2 )
309
309
})
310
+
311
+ t .Run ("ListPrivate" , func (t * testing.T ) {
312
+ t .Parallel ()
313
+
314
+ client := coderdtest .New (t , nil )
315
+ user := coderdtest .CreateFirstUser (t , client )
316
+
317
+ client2 , user2 := coderdtest .CreateAnotherUserWithUser (t , client , user .OrganizationID )
318
+ version := coderdtest .CreateTemplateVersion (t , client , user .OrganizationID , nil )
319
+
320
+ template1 := coderdtest .CreateTemplate (t , client , user .OrganizationID , version .ID ,
321
+ func (r * codersdk.CreateTemplateRequest ) {
322
+ r .IsPrivate = true
323
+ },
324
+ )
325
+ template2 := coderdtest .CreateTemplate (t , client , user .OrganizationID , version .ID ,
326
+ func (r * codersdk.CreateTemplateRequest ) {
327
+ r .IsPrivate = true
328
+ },
329
+ )
330
+
331
+ ctx , cancel := context .WithTimeout (context .Background (), testutil .WaitLong )
332
+ defer cancel ()
333
+
334
+ templates , err := client2 .TemplatesByOrganization (ctx , user .OrganizationID )
335
+ require .NoError (t , err )
336
+ require .Len (t , templates , 0 , "user should not be able to read any templates" )
337
+
338
+ req := codersdk.UpdateTemplateMeta {
339
+ UserPerms : map [string ]codersdk.TemplateRole {
340
+ user2 .ID .String (): codersdk .TemplateRoleRead ,
341
+ },
342
+ }
343
+
344
+ _ , err = client .UpdateTemplateMeta (ctx , template1 .ID , req )
345
+ require .NoError (t , err )
346
+
347
+ _ , err = client .UpdateTemplateMeta (ctx , template2 .ID , req )
348
+ require .NoError (t , err )
349
+
350
+ templates , err = client2 .TemplatesByOrganization (ctx , user .OrganizationID )
351
+ require .NoError (t , err )
352
+ require .Len (t , templates , 2 , "user should not be able to read any templates" )
353
+ })
310
354
}
311
355
312
356
func TestTemplateByOrganizationAndName (t * testing.T ) {
0 commit comments