From 17d7c1130d8a0212cf2c5aa050a896fed98cc4c5 Mon Sep 17 00:00:00 2001 From: Martin Atkins Date: Fri, 14 Sep 2018 15:35:58 -0700 Subject: [PATCH] core: Remove TestContext2Apply_Provisioner_ConnInfo The mechanism for a provider to pre-populate parts of the connection config for subsequent provisioners is no longer present in the new protocol, since it was rarely used, poorly documented, and for many resource types had no obvious good defaults. --- terraform/context_apply_test.go | 92 --------------------------------- 1 file changed, 92 deletions(-) diff --git a/terraform/context_apply_test.go b/terraform/context_apply_test.go index a63523bb02..6053fb4160 100644 --- a/terraform/context_apply_test.go +++ b/terraform/context_apply_test.go @@ -5892,98 +5892,6 @@ func TestContext2Apply_outputDiffVars(t *testing.T) { } } -func TestContext2Apply_Provisioner_ConnInfo(t *testing.T) { - m := testModule(t, "apply-provisioner-conninfo") - p := testProvider("aws") - pr := testProvisioner() - - p.ApplyFn = func(info *InstanceInfo, s *InstanceState, d *InstanceDiff) (*InstanceState, error) { - if s.Ephemeral.ConnInfo == nil { - t.Fatalf("ConnInfo not initialized") - } - - result, _ := testApplyFn(info, s, d) - result.Ephemeral.ConnInfo = map[string]string{ - "type": "ssh", - "host": "127.0.0.1", - "port": "22", - } - return result, nil - } - p.DiffFn = testDiffFn - - pr.GetSchemaResponse = provisioners.GetSchemaResponse{ - Provisioner: &configschema.Block{ - Attributes: map[string]*configschema.Attribute{ - "foo": {Type: cty.String, Optional: true}, - }, - }, - } - - pr.ApplyFn = func(rs *InstanceState, c *ResourceConfig) error { - conn := rs.Ephemeral.ConnInfo - if conn["type"] != "telnet" { - t.Fatalf("Bad: %#v", conn) - } - if conn["host"] != "127.0.0.1" { - t.Fatalf("Bad: %#v", conn) - } - if conn["port"] != "2222" { - t.Fatalf("Bad: %#v", conn) - } - if conn["user"] != "superuser" { - t.Fatalf("Bad: %#v", conn) - } - if conn["password"] != "test" { - t.Fatalf("Bad: %#v", conn) - } - - return nil - } - - ctx := testContext2(t, &ContextOpts{ - Config: m, - ProviderResolver: providers.ResolverFixed( - map[string]providers.Factory{ - "aws": testProviderFuncFixed(p), - }, - ), - Provisioners: map[string]ProvisionerFactory{ - "shell": testProvisionerFuncFixed(pr), - }, - Variables: InputValues{ - "value": &InputValue{ - Value: cty.StringVal("1"), - SourceType: ValueFromCaller, - }, - "pass": &InputValue{ - Value: cty.StringVal("test"), - SourceType: ValueFromCaller, - }, - }, - }) - - if _, diags := ctx.Plan(); diags.HasErrors() { - t.Fatalf("plan errors: %s", diags.Err()) - } - - state, diags := ctx.Apply() - if diags.HasErrors() { - t.Fatalf("diags: %s", diags.Err()) - } - - actual := strings.TrimSpace(state.String()) - expected := strings.TrimSpace(testTerraformApplyProvisionerStr) - if actual != expected { - t.Fatalf("wrong result\n\ngot:\n%s\n\nwant:\n%s", actual, expected) - } - - // Verify apply was invoked - if !pr.ProvisionResourceCalled { - t.Fatalf("provisioner not invoked") - } -} - func TestContext2Apply_destroyX(t *testing.T) { m := testModule(t, "apply-destroy") h := new(HookRecordApplyOrder)