@@ -13,6 +13,15 @@ import (
13
13
"github.com/stretchr/testify/assert"
14
14
)
15
15
16
+ var hclFile = `terraform {
17
+ source = "git::[email protected] :transcend-io/terraform-aws-fargate-container?ref=v0.0.4"
18
+ }
19
+
20
+ inputs = {
21
+ foo = "bar"
22
+ }
23
+ `
24
+
16
25
func setUp () (string , func ()) {
17
26
tempDir := createTempDir ()
18
27
return tempDir , func () {
@@ -980,6 +989,42 @@ workflows:
980
989
assert .Equal (t , 3 , len (dg .Projects ))
981
990
}
982
991
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
+
983
1028
func TestDiggerGenerateProjectsWithOpenTofu (t * testing.T ) {
984
1029
tempDir , teardown := setUp ()
985
1030
defer teardown ()
@@ -1118,14 +1163,7 @@ generate_projects:
1118
1163
defaultWorkflow: default
1119
1164
1120
1165
`
1121
- hclFile := `terraform {
1122
- source = "git::[email protected] :transcend-io/terraform-aws-fargate-container?ref=v0.0.4"
1123
- }
1124
1166
1125
- inputs = {
1126
- foo = "bar"
1127
- }
1128
- `
1129
1167
defer createFile (path .Join (tempDir , "digger.yml" ), diggerCfg )()
1130
1168
defer createFile (path .Join (tempDir , "terragrunt.hcl" ), hclFile )()
1131
1169
0 commit comments