fix(terraform): add aws_region name to presets (#7184)

This commit is contained in:
Alberto Donato
2024-08-06 02:54:58 +02:00
committed by GitHub
parent 555ac8c11d
commit bb2e26a0ab
2 changed files with 43 additions and 1 deletions

View File

@@ -1745,3 +1745,42 @@ func TestTFVarsFileDoesNotExist(t *testing.T) {
_, _, err := parser.EvaluateAll(context.TODO())
assert.ErrorContains(t, err, "file does not exist")
}
func Test_AWSRegionNameDefined(t *testing.T) {
fs := testutil.CreateFS(t, map[string]string{
"code/test.tf": `
data "aws_region" "current" {}
data "aws_region" "other" {
name = "us-east-2"
}
resource "something" "blah" {
r1 = data.aws_region.current.name
r2 = data.aws_region.other.name
}
`,
})
parser := New(fs, "", OptionStopOnHCLError(true))
require.NoError(t, parser.ParseFS(context.TODO(), "code"))
modules, _, err := parser.EvaluateAll(context.TODO())
require.NoError(t, err)
require.Len(t, modules, 1)
rootModule := modules[0]
blocks := rootModule.GetResourcesByType("something")
require.Len(t, blocks, 1)
block := blocks[0]
r1 := block.GetAttribute("r1")
require.NotNil(t, r1)
assert.True(t, r1.IsResolvable())
assert.Equal(t, "current-region", r1.Value().AsString())
r2 := block.GetAttribute("r2")
require.NotNil(t, r2)
assert.True(t, r2.IsResolvable())
assert.Equal(t, "us-east-2", r2.Value().AsString())
}