@@ -13,6 +13,15 @@ import (
1313 "github.com/stretchr/testify/assert"
1414)
1515
16+ var hclFile = `terraform {
17+ source = "git::git@github.com:transcend-io/terraform-aws-fargate-container?ref=v0.0.4"
18+ }
19+
20+ inputs = {
21+ foo = "bar"
22+ }
23+ `
24+
1625func setUp () (string , func ()) {
1726 tempDir := createTempDir ()
1827 return tempDir , func () {
@@ -980,6 +989,42 @@ workflows:
980989 assert .Equal (t , 3 , len (dg .Projects ))
981990}
982991
992+ func TestDiggerGenerateProjectsTerragruntBlocks (t * testing.T ) {
993+ tempDir , teardown := setUp ()
994+ defer teardown ()
995+
996+ diggerCfg := `
997+ generate_projects:
998+ blocks:
999+ - block_name: test1
1000+ terragrunt: true
1001+ root_dir: dev
1002+ workspace: devdev
1003+ `
1004+ deleteFile := createFile (path .Join (tempDir , "digger.yml" ), diggerCfg )
1005+ defer deleteFile ()
1006+ dirsToCreate := []string {"dev/test1" , "dev/test2" , "dev/project" , "testtt" , "prod/one" }
1007+
1008+ for _ , dir := range dirsToCreate {
1009+ err := os .MkdirAll (path .Join (tempDir , dir ), os .ModePerm )
1010+ defer createFile (path .Join (tempDir , dir , "main.tf" ), "" )()
1011+ defer createFile (path .Join (tempDir , dir , "terragrunt.hcl" ), hclFile )()
1012+ assert .NoError (t , err , "expected error to be nil" )
1013+ }
1014+
1015+ dg , _ , _ , err := LoadDiggerConfig (tempDir , true , nil )
1016+ assert .NoError (t , err , "expected error to be nil" )
1017+ assert .NotNil (t , dg , "expected digger digger_config to be not nil" )
1018+ assert .Equal (t , "dev_project" , dg .Projects [0 ].Name )
1019+ assert .Equal (t , "dev_test1" , dg .Projects [1 ].Name )
1020+ assert .Equal (t , "dev_test2" , dg .Projects [2 ].Name )
1021+ assert .Equal (t , "test1" , dg .Projects [0 ].BlockName )
1022+ assert .Equal (t , "test1" , dg .Projects [1 ].BlockName )
1023+ assert .Equal (t , "test1" , dg .Projects [2 ].BlockName )
1024+
1025+ assert .Equal (t , 3 , len (dg .Projects ))
1026+ }
1027+
9831028func TestDiggerGenerateProjectsWithOpenTofu (t * testing.T ) {
9841029 tempDir , teardown := setUp ()
9851030 defer teardown ()
@@ -1118,14 +1163,7 @@ generate_projects:
11181163 defaultWorkflow: default
11191164
11201165`
1121- hclFile := `terraform {
1122- source = "git::git@github.com:transcend-io/terraform-aws-fargate-container?ref=v0.0.4"
1123- }
11241166
1125- inputs = {
1126- foo = "bar"
1127- }
1128- `
11291167 defer createFile (path .Join (tempDir , "digger.yml" ), diggerCfg )()
11301168 defer createFile (path .Join (tempDir , "terragrunt.hcl" ), hclFile )()
11311169
0 commit comments