diff --git a/terraform/transform_provider.go b/terraform/transform_provider.go index 37bb6be6ca..0f34dbcfb6 100644 --- a/terraform/transform_provider.go +++ b/terraform/transform_provider.go @@ -121,7 +121,7 @@ func (t *CloseProviderTransformer) Transform(g *Graph) error { // connect all the provider's resources to the close node for _, s := range g.UpEdges(p).List() { - if _, ok := s.(GraphNodeResource); ok { + if _, ok := s.(GraphNodeProviderConsumer); ok { g.Connect(dag.BasicEdge(closer, s)) } } diff --git a/terraform/transform_provider_test.go b/terraform/transform_provider_test.go index a577d2c121..d5adca1f74 100644 --- a/terraform/transform_provider_test.go +++ b/terraform/transform_provider_test.go @@ -178,6 +178,13 @@ func TestMissingProviderTransformer(t *testing.T) { } } + { + transform := &ProviderTransformer{} + if err := transform.Transform(&g); err != nil { + t.Fatalf("err: %s", err) + } + } + { transform := &CloseProviderTransformer{} if err := transform.Transform(&g); err != nil { @@ -188,7 +195,7 @@ func TestMissingProviderTransformer(t *testing.T) { actual := strings.TrimSpace(g.String()) expected := strings.TrimSpace(testTransformMissingProviderBasicStr) if actual != expected { - t.Fatalf("bad:\n\n%s", actual) + t.Fatalf("expected:\n%s\n\ngot:\n%s", expected, actual) } } @@ -413,7 +420,9 @@ provider.aws (close) const testTransformMissingProviderBasicStr = ` aws_instance.web + provider.aws foo_instance.web + provider.foo provider.aws provider.aws (close) aws_instance.web