@@ -396,6 +396,54 @@ func TestDefaultProjectFinder_DetermineProjectsViaConfig(t *testing.T) {
396
396
modified : []string {"project2/terraform.tfvars" },
397
397
expProjPaths : []string {"project2" },
398
398
},
399
+ {
400
+ description : "file excluded" ,
401
+ config : valid.RepoCfg {
402
+ Projects : []valid.Project {
403
+ {
404
+ Dir : "project1" ,
405
+ Autoplan : valid.Autoplan {
406
+ Enabled : true ,
407
+ WhenModified : []string {"*.tf" , "!exclude-me.tf" },
408
+ },
409
+ },
410
+ },
411
+ },
412
+ modified : []string {"project1/exclude-me.tf" },
413
+ expProjPaths : nil ,
414
+ },
415
+ {
416
+ description : "some files excluded and others included" ,
417
+ config : valid.RepoCfg {
418
+ Projects : []valid.Project {
419
+ {
420
+ Dir : "project1" ,
421
+ Autoplan : valid.Autoplan {
422
+ Enabled : true ,
423
+ WhenModified : []string {"*.tf" , "!exclude-me.tf" },
424
+ },
425
+ },
426
+ },
427
+ },
428
+ modified : []string {"project1/exclude-me.tf" , "project1/include-me.tf" },
429
+ expProjPaths : []string {"project1" },
430
+ },
431
+ {
432
+ description : "multiple dirs excluded" ,
433
+ config : valid.RepoCfg {
434
+ Projects : []valid.Project {
435
+ {
436
+ Dir : "project1" ,
437
+ Autoplan : valid.Autoplan {
438
+ Enabled : true ,
439
+ WhenModified : []string {"**/*.tf" , "!subdir1/*" , "!subdir2/*" },
440
+ },
441
+ },
442
+ },
443
+ },
444
+ modified : []string {"project1/subdir1/main.tf" , "project1/subdir2/main.tf" },
445
+ expProjPaths : nil ,
446
+ },
399
447
}
400
448
401
449
for _ , c := range cases {
0 commit comments