@@ -357,6 +357,12 @@ func TestAccTemplateResourceEnterprise(t *testing.T) {
357
357
firstUser , err := client .User (ctx , codersdk .Me )
358
358
require .NoError (t , err )
359
359
360
+ group , err := client .CreateGroup (ctx , firstUser .OrganizationIDs [0 ], codersdk.CreateGroupRequest {
361
+ Name : "bosses" ,
362
+ QuotaAllowance : 200 ,
363
+ })
364
+ require .NoError (t , err )
365
+
360
366
cfg1 := testAccTemplateResourceConfig {
361
367
URL : client .URL .String (),
362
368
Token : client .SessionToken (),
@@ -366,13 +372,6 @@ func TestAccTemplateResourceEnterprise(t *testing.T) {
366
372
// Auto-generated version name
367
373
Directory : PtrTo ("../../integration/template-test/example-template" ),
368
374
Active : PtrTo (true ),
369
- // TODO(ethanndickson): Remove this when we add in `*.tfvars` parsing
370
- TerraformVariables : []testAccTemplateKeyValueConfig {
371
- {
372
- Key : PtrTo ("name" ),
373
- Value : PtrTo ("world" ),
374
- },
375
- },
376
375
},
377
376
},
378
377
ACL : testAccTemplateACLConfig {
@@ -381,6 +380,10 @@ func TestAccTemplateResourceEnterprise(t *testing.T) {
381
380
Key : PtrTo (firstUser .OrganizationIDs [0 ].String ()),
382
381
Value : PtrTo ("use" ),
383
382
},
383
+ {
384
+ Key : PtrTo (group .ID .String ()),
385
+ Value : PtrTo ("admin" ),
386
+ },
384
387
},
385
388
UserACL : []testAccTemplateKeyValueConfig {
386
389
{
@@ -392,11 +395,14 @@ func TestAccTemplateResourceEnterprise(t *testing.T) {
392
395
}
393
396
394
397
cfg2 := cfg1
395
- cfg2 .ACL .null = true
398
+ cfg2 .ACL .GroupACL = slices . Clone ( cfg2 . ACL . GroupACL [ 1 :])
396
399
397
400
cfg3 := cfg2
398
- cfg3 .AllowUserAutostart = PtrTo (false )
399
- cfg3 .AutostopRequirement = testAccAutostopRequirementConfig {
401
+ cfg3 .ACL .null = true
402
+
403
+ cfg4 := cfg3
404
+ cfg4 .AllowUserAutostart = PtrTo (false )
405
+ cfg4 .AutostopRequirement = testAccAutostopRequirementConfig {
400
406
DaysOfWeek : PtrTo ([]string {"monday" , "tuesday" }),
401
407
Weeks : PtrTo (int64 (2 )),
402
408
}
@@ -409,19 +415,33 @@ func TestAccTemplateResourceEnterprise(t *testing.T) {
409
415
{
410
416
Config : cfg1 .String (t ),
411
417
Check : resource .ComposeAggregateTestCheckFunc (
412
- resource .TestCheckResourceAttr ("coderd_template.test" , "acl.groups.#" , "1 " ),
418
+ resource .TestCheckResourceAttr ("coderd_template.test" , "acl.groups.#" , "2 " ),
413
419
resource .TestMatchTypeSetElemNestedAttrs ("coderd_template.test" , "acl.groups.*" , map [string ]* regexp.Regexp {
414
- "id" : regexp .MustCompile (".+" ),
420
+ "id" : regexp .MustCompile (firstUser . OrganizationIDs [ 0 ]. String () ),
415
421
"role" : regexp .MustCompile ("^use$" ),
416
422
}),
423
+ resource .TestMatchTypeSetElemNestedAttrs ("coderd_template.test" , "acl.groups.*" , map [string ]* regexp.Regexp {
424
+ "id" : regexp .MustCompile (group .ID .String ()),
425
+ "role" : regexp .MustCompile ("^admin$" ),
426
+ }),
427
+ resource .TestCheckResourceAttr ("coderd_template.test" , "acl.users.#" , "1" ),
417
428
resource .TestMatchTypeSetElemNestedAttrs ("coderd_template.test" , "acl.users.*" , map [string ]* regexp.Regexp {
418
- "id" : regexp .MustCompile (".+" ),
429
+ "id" : regexp .MustCompile (firstUser . ID . String () ),
419
430
"role" : regexp .MustCompile ("^admin$" ),
420
431
}),
421
432
),
422
433
},
423
434
{
424
435
Config : cfg2 .String (t ),
436
+ Check : resource .ComposeAggregateTestCheckFunc (
437
+ resource .TestMatchTypeSetElemNestedAttrs ("coderd_template.test" , "acl.users.*" , map [string ]* regexp.Regexp {
438
+ "id" : regexp .MustCompile (firstUser .ID .String ()),
439
+ "role" : regexp .MustCompile ("^admin$" ),
440
+ }),
441
+ ),
442
+ },
443
+ {
444
+ Config : cfg3 .String (t ),
425
445
Check : resource .ComposeAggregateTestCheckFunc (
426
446
resource .TestCheckNoResourceAttr ("coderd_template.test" , "acl" ),
427
447
func (s * terraform.State ) error {
@@ -439,7 +459,7 @@ func TestAccTemplateResourceEnterprise(t *testing.T) {
439
459
if len (acl .Groups ) != 1 {
440
460
return fmt .Errorf ("expected 1 group ACL, got %d" , len (acl .Groups ))
441
461
}
442
- if acl .Groups [0 ].Role != "use " && acl .Groups [0 ].ID != firstUser . OrganizationIDs [ 0 ] {
462
+ if acl .Groups [0 ].Role != "admin " && acl .Groups [0 ].ID != group . ID {
443
463
return fmt .Errorf ("expected group ACL to be 'use' for %s, got %s" , firstUser .OrganizationIDs [0 ].String (), acl .Groups [0 ].Role )
444
464
}
445
465
if len (acl .Users ) != 1 {
@@ -453,7 +473,7 @@ func TestAccTemplateResourceEnterprise(t *testing.T) {
453
473
),
454
474
},
455
475
{
456
- Config : cfg3 .String (t ),
476
+ Config : cfg4 .String (t ),
457
477
Check : resource .ComposeAggregateTestCheckFunc (
458
478
resource .TestCheckResourceAttr ("coderd_template.test" , "allow_user_auto_start" , "false" ),
459
479
resource .TestCheckResourceAttr ("coderd_template.test" , "auto_stop_requirement.days_of_week.#" , "2" ),
0 commit comments