diff --git a/command/e2etest/remote_state_test.go b/command/e2etest/remote_state_test.go new file mode 100644 index 0000000000..be8c032bd4 --- /dev/null +++ b/command/e2etest/remote_state_test.go @@ -0,0 +1,29 @@ +package e2etest + +import ( + "path/filepath" + "testing" + + "github.com/hashicorp/terraform/e2e" +) + +func TestTerraformProviderRead(t *testing.T) { + // Ensure the terraform provider can correctly read a remote state + + t.Parallel() + fixturePath := filepath.Join("testdata", "terraform-provider") + tf := e2e.NewBinary(terraformBin, fixturePath) + defer tf.Close() + + //// INIT + _, stderr, err := tf.Run("init") + if err != nil { + t.Fatalf("unexpected init error: %s\nstderr:\n%s", err, stderr) + } + + //// PLAN + _, stderr, err = tf.Run("plan") + if err != nil { + t.Fatalf("unexpected plan error: %s\nstderr:\n%s", err, stderr) + } +} diff --git a/command/e2etest/testdata/terraform-provider/main.tf b/command/e2etest/testdata/terraform-provider/main.tf index a8e222fca6..bd9887e99a 100644 --- a/command/e2etest/testdata/terraform-provider/main.tf +++ b/command/e2etest/testdata/terraform-provider/main.tf @@ -5,6 +5,6 @@ provider "terraform" { data "terraform_remote_state" "test" { backend = "local" config = { - path = "nothing.tfstate" + path = "test.tfstate" } } diff --git a/command/e2etest/testdata/terraform-provider/test.tfstate b/command/e2etest/testdata/terraform-provider/test.tfstate new file mode 100644 index 0000000000..fb1012d15d --- /dev/null +++ b/command/e2etest/testdata/terraform-provider/test.tfstate @@ -0,0 +1,13 @@ +{ + "version": 4, + "terraform_version": "0.13.0", + "serial": 1, + "lineage": "8fab7b5a-511c-d586-988e-250f99c8feb4", + "outputs": { + "out": { + "value": "test", + "type": "string" + } + }, + "resources": [] +}