Skip to content

Commit 7488e4f

Browse files
committed
chore: Verify --queue-include-external isn't necessary when using the --filter flag
1 parent 1e09602 commit 7488e4f

File tree

4 files changed

+102
-2
lines changed

4 files changed

+102
-2
lines changed

test/integration_dag_test.go

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,22 @@ func TestIncludeExternalInDagGraphCmd(t *testing.T) {
3333
workDir, err := filepath.EvalSymlinks(workDir)
3434
require.NoError(t, err)
3535

36-
cmd := "terragrunt dag graph --queue-include-external --working-dir " + workDir
36+
cmd := "terragrunt dag graph --working-dir " + workDir
37+
38+
stdout, _, err := helpers.RunTerragruntCommandWithOutput(t, cmd)
39+
require.NoError(t, err)
40+
assert.Contains(t, stdout, "unit-a\" ->")
41+
}
42+
43+
func TestIncludeExternalInDagGraphCmdWithList(t *testing.T) {
44+
t.Parallel()
45+
46+
helpers.CleanupTerraformFolder(t, testFixtureGraphDAG)
47+
workDir := filepath.Join(testFixtureGraphDAG, "region-1")
48+
workDir, err := filepath.EvalSymlinks(workDir)
49+
require.NoError(t, err)
50+
51+
cmd := "terragrunt list --format=dot --dependencies --working-dir " + workDir
3752

3853
stdout, _, err := helpers.RunTerragruntCommandWithOutput(t, cmd)
3954
require.NoError(t, err)

test/integration_download_test.go

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -741,6 +741,47 @@ func TestTerragruntExternalDependencies(t *testing.T) {
741741
}
742742
}
743743

744+
func TestTerragruntExternalDependenciesWithFilter(t *testing.T) {
745+
t.Parallel()
746+
747+
if !helpers.IsExperimentMode(t) {
748+
t.Skip("Skipping filter flag tests - TG_EXPERIMENT_MODE not enabled")
749+
}
750+
751+
modules := []string{
752+
"module-a",
753+
"module-b",
754+
}
755+
756+
helpers.CleanupTerraformFolder(t, testFixtureExternalDependence)
757+
758+
for _, module := range modules {
759+
helpers.CleanupTerraformFolder(t, util.JoinPath(testFixtureExternalDependence, module))
760+
}
761+
762+
var (
763+
applyAllStdout bytes.Buffer
764+
applyAllStderr bytes.Buffer
765+
)
766+
767+
rootPath := helpers.CopyEnvironment(t, testFixtureExternalDependence)
768+
modulePath := util.JoinPath(rootPath, testFixtureExternalDependence, "module-b")
769+
770+
err := helpers.RunTerragruntCommand(t, "terragrunt run --all apply --non-interactive --filter '{./**}...' --tf-forward-stdout --working-dir "+modulePath, &applyAllStdout, &applyAllStderr)
771+
helpers.LogBufferContentsLineByLine(t, applyAllStdout, "run --all apply stdout")
772+
helpers.LogBufferContentsLineByLine(t, applyAllStderr, "run --all apply stderr")
773+
774+
applyAllStdoutString := applyAllStdout.String()
775+
776+
if err != nil {
777+
t.Errorf("Did not expect to get error: %s", err.Error())
778+
}
779+
780+
for _, module := range modules {
781+
assert.Contains(t, applyAllStdoutString, "Hello World, "+module)
782+
}
783+
}
784+
744785
func TestPreventDestroy(t *testing.T) {
745786
t.Parallel()
746787

test/integration_include_test.go

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,47 @@ func TestTerragruntWorksWithIncludeLocals(t *testing.T) {
6565
})
6666
}
6767
}
68+
func TestTerragruntWorksWithIncludeLocalsWithFilter(t *testing.T) {
69+
t.Parallel()
70+
71+
if !helpers.IsExperimentMode(t) {
72+
t.Skip("Skipping filter flag tests - TG_EXPERIMENT_MODE not enabled")
73+
}
74+
75+
helpers.CleanupTerraformFolder(t, includeExposeFixturePath)
76+
tmpEnvPath := helpers.CopyEnvironment(t, includeExposeFixturePath)
77+
tmpEnvPath = util.JoinPath(tmpEnvPath, includeExposeFixturePath)
78+
79+
files, err := os.ReadDir(tmpEnvPath)
80+
require.NoError(t, err)
81+
82+
testCases := []string{}
83+
84+
for _, finfo := range files {
85+
if finfo.IsDir() {
86+
testCases = append(testCases, finfo.Name())
87+
}
88+
}
89+
90+
for _, tc := range testCases {
91+
t.Run(filepath.Base(tc), func(t *testing.T) {
92+
t.Parallel()
93+
94+
childPath := filepath.Join(tmpEnvPath, tc, includeChildFixturePath)
95+
helpers.CleanupTerraformFolder(t, childPath)
96+
helpers.RunTerragrunt(t, "terragrunt run --all --filter '{./**}...' --non-interactive --log-level trace --working-dir "+childPath+" -- apply -auto-approve")
97+
98+
stdout := bytes.Buffer{}
99+
stderr := bytes.Buffer{}
100+
err := helpers.RunTerragruntCommand(t, "terragrunt output -no-color -json --non-interactive --log-level trace --working-dir "+childPath, &stdout, &stderr)
101+
require.NoError(t, err)
102+
103+
outputs := map[string]helpers.TerraformOutput{}
104+
require.NoError(t, json.Unmarshal(stdout.Bytes(), &outputs))
105+
assert.Equal(t, "us-west-1-test", outputs["region"].Value.(string))
106+
})
107+
}
108+
}
68109

69110
func TestTerragruntRunAllModulesThatIncludeRestrictsSet(t *testing.T) {
70111
t.Parallel()

test/integration_runner_pool_test.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,10 @@ func TestRunnerPoolStackConfigIgnored(t *testing.T) {
102102
helpers.CleanupTerraformFolder(t, tmpEnvPath)
103103
testPath := util.JoinPath(tmpEnvPath, testFixtureMixedConfig)
104104

105-
_, stderr, err := helpers.RunTerragruntCommandWithOutput(t, "terragrunt run --queue-include-external --all --non-interactive --working-dir "+testPath+" -- apply")
105+
_, stderr, err := helpers.RunTerragruntCommandWithOutput(
106+
t,
107+
"terragrunt run --all --non-interactive --working-dir "+testPath+" -- apply",
108+
)
106109
require.NoError(t, err)
107110
require.NotContains(t, stderr, "Error: Unsupported block type")
108111
require.NotContains(t, stderr, "Blocks of type \"unit\" are not expected here")

0 commit comments

Comments
 (0)