Skip to content

Commit a8196fe

Browse files
authored
fix block logic, add test (#2000)
* fix block logic, add test * add test logs
1 parent 7a53d6e commit a8196fe

File tree

2 files changed

+47
-8
lines changed

2 files changed

+47
-8
lines changed

cli/pkg/github/github.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -188,11 +188,12 @@ func GitHubCI(lock core_locking.Lock, policyCheckerProvider core_policy.PolicyCh
188188
if !projectConfig.DriftDetection {
189189
continue
190190
}
191-
if len(blockFilters) > 0 {
191+
if blockFiltersStr != "" {
192192
projectInBlock := false
193193
if lo.Contains(blockFilters, projectConfig.BlockName) {
194194
projectInBlock = true
195195
}
196+
slog.Debug("Project in block", "projectName", projectConfig.Name, "blockName", projectConfig.BlockName, "projectInBlock", projectInBlock, "blockFilters", blockFilters)
196197
if !projectInBlock {
197198
continue
198199
}

libs/digger_config/digger_config_test.go

Lines changed: 45 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,15 @@ import (
1313
"github.com/stretchr/testify/assert"
1414
)
1515

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+
1625
func 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+
9831028
func 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::[email protected]: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

Comments
 (0)