diff --git a/config/loader_test.go b/config/loader_test.go index f49ce48c1..a23eba528 100644 --- a/config/loader_test.go +++ b/config/loader_test.go @@ -359,6 +359,31 @@ backend (s3) } } +func TestLoadFile_terraformBackendJSON(t *testing.T) { + c, err := LoadFile(filepath.Join(fixtureDir, "terraform-backend.tf.json")) + if err != nil { + t.Fatalf("err: %s", err) + } + + if c == nil { + t.Fatal("config should not be nil") + } + + if c.Dir != "" { + t.Fatalf("bad: %#v", c.Dir) + } + + { + actual := terraformStr(c.Terraform) + expected := strings.TrimSpace(` +backend (s3) + foo`) + if actual != expected { + t.Fatalf("bad:\n%s", actual) + } + } +} + func TestLoadFile_terraformBackendMulti(t *testing.T) { _, err := LoadFile(filepath.Join(fixtureDir, "terraform-backend-multi.tf")) if err == nil { diff --git a/config/test-fixtures/terraform-backend.tf.json b/config/test-fixtures/terraform-backend.tf.json new file mode 100644 index 000000000..39c110b8c --- /dev/null +++ b/config/test-fixtures/terraform-backend.tf.json @@ -0,0 +1,9 @@ +{ + "terraform": [{ + "backend": [{ + "s3": { + "foo": "bar" + } + }] + }] +}