diff --git a/terraform/graph_config_node_module.go b/terraform/graph_config_node_module.go index a93904cba..46645dc14 100644 --- a/terraform/graph_config_node_module.go +++ b/terraform/graph_config_node_module.go @@ -48,22 +48,6 @@ func (n *GraphNodeConfigModule) Name() string { return fmt.Sprintf("module.%s", n.Module.Name) } -// GraphNodeExpandable -func (n *GraphNodeConfigModule) Expand(b GraphBuilder) (GraphNodeSubgraph, error) { - // Build the graph first - graph, err := b.Build(n.Path) - if err != nil { - return nil, err - } - - // Build the actual subgraph node - return &graphNodeModuleExpanded{ - Original: n, - Graph: graph, - Variables: make(map[string]interface{}), - }, nil -} - // GraphNodeExpandable func (n *GraphNodeConfigModule) ProvidedBy() []string { // Build up the list of providers by simply going over our configuration diff --git a/terraform/graph_config_node_module_test.go b/terraform/graph_config_node_module_test.go index b87a9f13c..e3283706b 100644 --- a/terraform/graph_config_node_module_test.go +++ b/terraform/graph_config_node_module_test.go @@ -1,10 +1,8 @@ package terraform import ( - "strings" "testing" - "github.com/hashicorp/terraform/config" "github.com/hashicorp/terraform/dag" ) @@ -12,67 +10,4 @@ func TestGraphNodeConfigModule_impl(t *testing.T) { var _ dag.Vertex = new(GraphNodeConfigModule) var _ dag.NamedVertex = new(GraphNodeConfigModule) var _ graphNodeConfig = new(GraphNodeConfigModule) - var _ GraphNodeExpandable = new(GraphNodeConfigModule) } - -func TestGraphNodeConfigModuleExpand(t *testing.T) { - mod := testModule(t, "graph-node-module-expand") - - node := &GraphNodeConfigModule{ - Path: []string{RootModuleName, "child"}, - Module: &config.Module{}, - Tree: nil, - } - - g, err := node.Expand(&BasicGraphBuilder{ - Steps: []GraphTransformer{ - &ConfigTransformerOld{Module: mod}, - }, - }) - if err != nil { - t.Fatalf("err: %s", err) - } - - actual := strings.TrimSpace(g.Subgraph().(*Graph).String()) - expected := strings.TrimSpace(testGraphNodeModuleExpandStr) - if actual != expected { - t.Fatalf("bad:\n\n%s", actual) - } -} - -func TestGraphNodeConfigModuleExpandFlatten(t *testing.T) { - mod := testModule(t, "graph-node-module-flatten") - - node := &GraphNodeConfigModule{ - Path: []string{RootModuleName, "child"}, - Module: &config.Module{}, - Tree: nil, - } - - g, err := node.Expand(&BasicGraphBuilder{ - Steps: []GraphTransformer{ - &ConfigTransformerOld{Module: mod}, - }, - }) - if err != nil { - t.Fatalf("err: %s", err) - } - - fg := g.(GraphNodeFlatGraph) - - actual := strings.TrimSpace(fg.FlattenGraph().String()) - expected := strings.TrimSpace(testGraphNodeModuleExpandFlattenStr) - if actual != expected { - t.Fatalf("bad:\n\n%s", actual) - } -} - -const testGraphNodeModuleExpandStr = ` -aws_instance.bar - aws_instance.foo -aws_instance.foo -` - -const testGraphNodeModuleExpandFlattenStr = ` -aws_instance.foo -` diff --git a/terraform/transform_provider_test.go b/terraform/transform_provider_test.go index ccca2604e..4513e79a6 100644 --- a/terraform/transform_provider_test.go +++ b/terraform/transform_provider_test.go @@ -12,12 +12,26 @@ func TestProviderTransformer(t *testing.T) { g := Graph{Path: RootModulePath} { - tf := &ConfigTransformerOld{Module: mod} + tf := &ConfigTransformer{Module: mod} if err := tf.Transform(&g); err != nil { t.Fatalf("err: %s", err) } } + { + transform := &AttachResourceConfigTransformer{Module: mod} + if err := transform.Transform(&g); err != nil { + t.Fatalf("err: %s", err) + } + } + + { + transform := &MissingProviderTransformer{Providers: []string{"aws"}} + if err := transform.Transform(&g); err != nil { + t.Fatalf("err: %s", err) + } + } + transform := &ProviderTransformer{} if err := transform.Transform(&g); err != nil { t.Fatalf("err: %s", err) @@ -73,12 +87,26 @@ func TestCloseProviderTransformer(t *testing.T) { g := Graph{Path: RootModulePath} { - tf := &ConfigTransformerOld{Module: mod} + tf := &ConfigTransformer{Module: mod} if err := tf.Transform(&g); err != nil { t.Fatalf("err: %s", err) } } + { + transform := &AttachResourceConfigTransformer{Module: mod} + if err := transform.Transform(&g); err != nil { + t.Fatalf("err: %s", err) + } + } + + { + transform := &MissingProviderTransformer{Providers: []string{"aws"}} + if err := transform.Transform(&g); err != nil { + t.Fatalf("err: %s", err) + } + } + { transform := &ProviderTransformer{} if err := transform.Transform(&g); err != nil { @@ -105,7 +133,8 @@ func TestCloseProviderTransformer_withTargets(t *testing.T) { g := Graph{Path: RootModulePath} transforms := []GraphTransformer{ - &ConfigTransformerOld{Module: mod}, + &ConfigTransformer{Module: mod}, + &MissingProviderTransformer{Providers: []string{"aws"}}, &ProviderTransformer{}, &CloseProviderTransformer{}, &TargetsTransformer{ @@ -135,14 +164,21 @@ func TestMissingProviderTransformer(t *testing.T) { g := Graph{Path: RootModulePath} { - tf := &ConfigTransformerOld{Module: mod} + tf := &ConfigTransformer{Module: mod} if err := tf.Transform(&g); err != nil { t.Fatalf("err: %s", err) } } { - transform := &MissingProviderTransformer{Providers: []string{"foo", "bar"}} + transform := &AttachResourceConfigTransformer{Module: mod} + if err := transform.Transform(&g); err != nil { + t.Fatalf("err: %s", err) + } + } + + { + transform := &MissingProviderTransformer{Providers: []string{"aws", "foo", "bar"}} if err := transform.Transform(&g); err != nil { t.Fatalf("err: %s", err) } @@ -318,12 +354,19 @@ func TestPruneProviderTransformer(t *testing.T) { g := Graph{Path: RootModulePath} { - tf := &ConfigTransformerOld{Module: mod} + tf := &ConfigTransformer{Module: mod} if err := tf.Transform(&g); err != nil { t.Fatalf("err: %s", err) } } + { + transform := &AttachResourceConfigTransformer{Module: mod} + if err := transform.Transform(&g); err != nil { + t.Fatalf("err: %s", err) + } + } + { transform := &MissingProviderTransformer{Providers: []string{"foo"}} if err := transform.Transform(&g); err != nil { diff --git a/terraform/transform_provisioner_test.go b/terraform/transform_provisioner_test.go index 270910e78..db361ec0f 100644 --- a/terraform/transform_provisioner_test.go +++ b/terraform/transform_provisioner_test.go @@ -12,12 +12,19 @@ func TestMissingProvisionerTransformer(t *testing.T) { g := Graph{Path: RootModulePath} { - tf := &ConfigTransformerOld{Module: mod} + tf := &ConfigTransformer{Module: mod} if err := tf.Transform(&g); err != nil { t.Fatalf("err: %s", err) } } + { + transform := &AttachResourceConfigTransformer{Module: mod} + if err := transform.Transform(&g); err != nil { + t.Fatalf("err: %s", err) + } + } + { transform := &MissingProvisionerTransformer{Provisioners: []string{"shell"}} if err := transform.Transform(&g); err != nil { @@ -112,12 +119,19 @@ func TestCloseProvisionerTransformer(t *testing.T) { g := Graph{Path: RootModulePath} { - tf := &ConfigTransformerOld{Module: mod} + tf := &ConfigTransformer{Module: mod} if err := tf.Transform(&g); err != nil { t.Fatalf("err: %s", err) } } + { + transform := &AttachResourceConfigTransformer{Module: mod} + if err := transform.Transform(&g); err != nil { + t.Fatalf("err: %s", err) + } + } + { transform := &MissingProvisionerTransformer{Provisioners: []string{"shell"}} if err := transform.Transform(&g); err != nil { diff --git a/terraform/transform_targets_test.go b/terraform/transform_targets_test.go index 142fbb52f..9418860e2 100644 --- a/terraform/transform_targets_test.go +++ b/terraform/transform_targets_test.go @@ -10,12 +10,26 @@ func TestTargetsTransformer(t *testing.T) { g := Graph{Path: RootModulePath} { - tf := &ConfigTransformerOld{Module: mod} + tf := &ConfigTransformer{Module: mod} if err := tf.Transform(&g); err != nil { t.Fatalf("err: %s", err) } } + { + transform := &AttachResourceConfigTransformer{Module: mod} + if err := transform.Transform(&g); err != nil { + t.Fatalf("err: %s", err) + } + } + + { + transform := &ReferenceTransformer{} + if err := transform.Transform(&g); err != nil { + t.Fatalf("err: %s", err) + } + } + { transform := &TargetsTransformer{Targets: []string{"aws_instance.me"}} if err := transform.Transform(&g); err != nil { @@ -41,12 +55,26 @@ func TestTargetsTransformer_destroy(t *testing.T) { g := Graph{Path: RootModulePath} { - tf := &ConfigTransformerOld{Module: mod} + tf := &ConfigTransformer{Module: mod} if err := tf.Transform(&g); err != nil { t.Fatalf("err: %s", err) } } + { + transform := &AttachResourceConfigTransformer{Module: mod} + if err := transform.Transform(&g); err != nil { + t.Fatalf("err: %s", err) + } + } + + { + transform := &ReferenceTransformer{} + if err := transform.Transform(&g); err != nil { + t.Fatalf("err: %s", err) + } + } + { transform := &TargetsTransformer{ Targets: []string{"aws_instance.me"}, diff --git a/terraform/transform_transitive_reduction_test.go b/terraform/transform_transitive_reduction_test.go index 4c864e236..63a89b11a 100644 --- a/terraform/transform_transitive_reduction_test.go +++ b/terraform/transform_transitive_reduction_test.go @@ -10,12 +10,26 @@ func TestTransitiveReductionTransformer(t *testing.T) { g := Graph{Path: RootModulePath} { - tf := &ConfigTransformerOld{Module: mod} + tf := &ConfigTransformer{Module: mod} if err := tf.Transform(&g); err != nil { t.Fatalf("err: %s", err) } } + { + transform := &AttachResourceConfigTransformer{Module: mod} + if err := transform.Transform(&g); err != nil { + t.Fatalf("err: %s", err) + } + } + + { + transform := &ReferenceTransformer{} + if err := transform.Transform(&g); err != nil { + t.Fatalf("err: %s", err) + } + } + { transform := &TransitiveReductionTransformer{} if err := transform.Transform(&g); err != nil {