diff --git a/terraform/context_plan_test.go b/terraform/context_plan_test.go index f7e8cf5d0c..a0dd442ab6 100644 --- a/terraform/context_plan_test.go +++ b/terraform/context_plan_test.go @@ -889,10 +889,26 @@ func TestContext2Plan_computedDataResource(t *testing.T) { if _, ok := moduleDiff.Resources["aws_instance.foo"]; !ok { t.Fatalf("missing diff for aws_instance.foo") } - _, ok := moduleDiff.Resources["data.aws_vpc.bar"] + iDiff, ok := moduleDiff.Resources["data.aws_vpc.bar"] if !ok { t.Fatalf("missing diff for data.aws_vpc.bar") } + + expectedDiff := &InstanceDiff{ + Attributes: map[string]*ResourceAttrDiff{ + "id": { + NewComputed: true, + RequiresNew: true, + Type: DiffAttrOutput, + }, + }, + } + if same, _ := expectedDiff.Same(iDiff); !same { + t.Fatalf( + "incorrect diff for data.aws_vpc.bar\ngot: %#v\nwant: %#v", + iDiff, expectedDiff, + ) + } } func TestContext2Plan_computedList(t *testing.T) { diff --git a/terraform/eval_read_data.go b/terraform/eval_read_data.go index 61fa3e1253..4fd8431234 100644 --- a/terraform/eval_read_data.go +++ b/terraform/eval_read_data.go @@ -38,7 +38,8 @@ func (n *EvalReadDataDiff) Eval(ctx EvalContext) (interface{}, error) { provider := *n.Provider config := *n.Config - diff, err := provider.ReadDataDiff(n.Info, config) + var err error + diff, err = provider.ReadDataDiff(n.Info, config) if err != nil { return nil, err }