From 1190b95fe2ace17ddcc31891227aaf223d7fe1a9 Mon Sep 17 00:00:00 2001 From: Alisdair McDiarmid Date: Thu, 21 Oct 2021 08:41:01 -0400 Subject: [PATCH] command/e2etest: Ensure init fixes missing cache We test that a deleted provider cache results in an error when running terraform plan, but previously did not test that running init (as instructed) would resolve the issue. This (failing) e2e test adds that step. --- internal/command/e2etest/providers_tamper_test.go | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/internal/command/e2etest/providers_tamper_test.go b/internal/command/e2etest/providers_tamper_test.go index ac56121920..5335c66f9b 100644 --- a/internal/command/e2etest/providers_tamper_test.go +++ b/internal/command/e2etest/providers_tamper_test.go @@ -57,7 +57,7 @@ func TestProviderTampering(t *testing.T) { t.Fatal(err) } - _, stderr, err := tf.Run("plan") + stdout, stderr, err := tf.Run("plan") if err == nil { t.Fatalf("unexpected plan success\nstdout:\n%s", stdout) } @@ -67,6 +67,16 @@ func TestProviderTampering(t *testing.T) { if want := `terraform init`; !strings.Contains(stderr, want) { t.Errorf("missing expected error message\nwant substring: %s\ngot:\n%s", want, stderr) } + + // Running init as suggested resolves the problem + _, stderr, err = tf.Run("init") + if err != nil { + t.Fatalf("unexpected init error: %s\nstderr:\n%s", err, stderr) + } + _, stderr, err = tf.Run("plan") + if err != nil { + t.Fatalf("unexpected plan error: %s\nstderr:\n%s", err, stderr) + } }) t.Run("null plugin package modified before plan", func(t *testing.T) { tf := e2e.NewBinary(terraformBin, seedDir)