terraform: convert all tests to use the new config transformer
This commit is contained in:
parent
efc79d431e
commit
9086e996d6
|
@ -48,22 +48,6 @@ func (n *GraphNodeConfigModule) Name() string {
|
||||||
return fmt.Sprintf("module.%s", n.Module.Name)
|
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
|
// GraphNodeExpandable
|
||||||
func (n *GraphNodeConfigModule) ProvidedBy() []string {
|
func (n *GraphNodeConfigModule) ProvidedBy() []string {
|
||||||
// Build up the list of providers by simply going over our configuration
|
// Build up the list of providers by simply going over our configuration
|
||||||
|
|
|
@ -1,10 +1,8 @@
|
||||||
package terraform
|
package terraform
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"strings"
|
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/hashicorp/terraform/config"
|
|
||||||
"github.com/hashicorp/terraform/dag"
|
"github.com/hashicorp/terraform/dag"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -12,67 +10,4 @@ func TestGraphNodeConfigModule_impl(t *testing.T) {
|
||||||
var _ dag.Vertex = new(GraphNodeConfigModule)
|
var _ dag.Vertex = new(GraphNodeConfigModule)
|
||||||
var _ dag.NamedVertex = new(GraphNodeConfigModule)
|
var _ dag.NamedVertex = new(GraphNodeConfigModule)
|
||||||
var _ graphNodeConfig = 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
|
|
||||||
`
|
|
||||||
|
|
|
@ -12,12 +12,26 @@ func TestProviderTransformer(t *testing.T) {
|
||||||
|
|
||||||
g := Graph{Path: RootModulePath}
|
g := Graph{Path: RootModulePath}
|
||||||
{
|
{
|
||||||
tf := &ConfigTransformerOld{Module: mod}
|
tf := &ConfigTransformer{Module: mod}
|
||||||
if err := tf.Transform(&g); err != nil {
|
if err := tf.Transform(&g); err != nil {
|
||||||
t.Fatalf("err: %s", err)
|
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{}
|
transform := &ProviderTransformer{}
|
||||||
if err := transform.Transform(&g); err != nil {
|
if err := transform.Transform(&g); err != nil {
|
||||||
t.Fatalf("err: %s", err)
|
t.Fatalf("err: %s", err)
|
||||||
|
@ -73,12 +87,26 @@ func TestCloseProviderTransformer(t *testing.T) {
|
||||||
|
|
||||||
g := Graph{Path: RootModulePath}
|
g := Graph{Path: RootModulePath}
|
||||||
{
|
{
|
||||||
tf := &ConfigTransformerOld{Module: mod}
|
tf := &ConfigTransformer{Module: mod}
|
||||||
if err := tf.Transform(&g); err != nil {
|
if err := tf.Transform(&g); err != nil {
|
||||||
t.Fatalf("err: %s", err)
|
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{}
|
transform := &ProviderTransformer{}
|
||||||
if err := transform.Transform(&g); err != nil {
|
if err := transform.Transform(&g); err != nil {
|
||||||
|
@ -105,7 +133,8 @@ func TestCloseProviderTransformer_withTargets(t *testing.T) {
|
||||||
|
|
||||||
g := Graph{Path: RootModulePath}
|
g := Graph{Path: RootModulePath}
|
||||||
transforms := []GraphTransformer{
|
transforms := []GraphTransformer{
|
||||||
&ConfigTransformerOld{Module: mod},
|
&ConfigTransformer{Module: mod},
|
||||||
|
&MissingProviderTransformer{Providers: []string{"aws"}},
|
||||||
&ProviderTransformer{},
|
&ProviderTransformer{},
|
||||||
&CloseProviderTransformer{},
|
&CloseProviderTransformer{},
|
||||||
&TargetsTransformer{
|
&TargetsTransformer{
|
||||||
|
@ -135,14 +164,21 @@ func TestMissingProviderTransformer(t *testing.T) {
|
||||||
|
|
||||||
g := Graph{Path: RootModulePath}
|
g := Graph{Path: RootModulePath}
|
||||||
{
|
{
|
||||||
tf := &ConfigTransformerOld{Module: mod}
|
tf := &ConfigTransformer{Module: mod}
|
||||||
if err := tf.Transform(&g); err != nil {
|
if err := tf.Transform(&g); err != nil {
|
||||||
t.Fatalf("err: %s", err)
|
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 {
|
if err := transform.Transform(&g); err != nil {
|
||||||
t.Fatalf("err: %s", err)
|
t.Fatalf("err: %s", err)
|
||||||
}
|
}
|
||||||
|
@ -318,12 +354,19 @@ func TestPruneProviderTransformer(t *testing.T) {
|
||||||
|
|
||||||
g := Graph{Path: RootModulePath}
|
g := Graph{Path: RootModulePath}
|
||||||
{
|
{
|
||||||
tf := &ConfigTransformerOld{Module: mod}
|
tf := &ConfigTransformer{Module: mod}
|
||||||
if err := tf.Transform(&g); err != nil {
|
if err := tf.Transform(&g); err != nil {
|
||||||
t.Fatalf("err: %s", err)
|
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"}}
|
transform := &MissingProviderTransformer{Providers: []string{"foo"}}
|
||||||
if err := transform.Transform(&g); err != nil {
|
if err := transform.Transform(&g); err != nil {
|
||||||
|
|
|
@ -12,12 +12,19 @@ func TestMissingProvisionerTransformer(t *testing.T) {
|
||||||
|
|
||||||
g := Graph{Path: RootModulePath}
|
g := Graph{Path: RootModulePath}
|
||||||
{
|
{
|
||||||
tf := &ConfigTransformerOld{Module: mod}
|
tf := &ConfigTransformer{Module: mod}
|
||||||
if err := tf.Transform(&g); err != nil {
|
if err := tf.Transform(&g); err != nil {
|
||||||
t.Fatalf("err: %s", err)
|
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"}}
|
transform := &MissingProvisionerTransformer{Provisioners: []string{"shell"}}
|
||||||
if err := transform.Transform(&g); err != nil {
|
if err := transform.Transform(&g); err != nil {
|
||||||
|
@ -112,12 +119,19 @@ func TestCloseProvisionerTransformer(t *testing.T) {
|
||||||
|
|
||||||
g := Graph{Path: RootModulePath}
|
g := Graph{Path: RootModulePath}
|
||||||
{
|
{
|
||||||
tf := &ConfigTransformerOld{Module: mod}
|
tf := &ConfigTransformer{Module: mod}
|
||||||
if err := tf.Transform(&g); err != nil {
|
if err := tf.Transform(&g); err != nil {
|
||||||
t.Fatalf("err: %s", err)
|
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"}}
|
transform := &MissingProvisionerTransformer{Provisioners: []string{"shell"}}
|
||||||
if err := transform.Transform(&g); err != nil {
|
if err := transform.Transform(&g); err != nil {
|
||||||
|
|
|
@ -10,12 +10,26 @@ func TestTargetsTransformer(t *testing.T) {
|
||||||
|
|
||||||
g := Graph{Path: RootModulePath}
|
g := Graph{Path: RootModulePath}
|
||||||
{
|
{
|
||||||
tf := &ConfigTransformerOld{Module: mod}
|
tf := &ConfigTransformer{Module: mod}
|
||||||
if err := tf.Transform(&g); err != nil {
|
if err := tf.Transform(&g); err != nil {
|
||||||
t.Fatalf("err: %s", err)
|
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"}}
|
transform := &TargetsTransformer{Targets: []string{"aws_instance.me"}}
|
||||||
if err := transform.Transform(&g); err != nil {
|
if err := transform.Transform(&g); err != nil {
|
||||||
|
@ -41,12 +55,26 @@ func TestTargetsTransformer_destroy(t *testing.T) {
|
||||||
|
|
||||||
g := Graph{Path: RootModulePath}
|
g := Graph{Path: RootModulePath}
|
||||||
{
|
{
|
||||||
tf := &ConfigTransformerOld{Module: mod}
|
tf := &ConfigTransformer{Module: mod}
|
||||||
if err := tf.Transform(&g); err != nil {
|
if err := tf.Transform(&g); err != nil {
|
||||||
t.Fatalf("err: %s", err)
|
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{
|
transform := &TargetsTransformer{
|
||||||
Targets: []string{"aws_instance.me"},
|
Targets: []string{"aws_instance.me"},
|
||||||
|
|
|
@ -10,12 +10,26 @@ func TestTransitiveReductionTransformer(t *testing.T) {
|
||||||
|
|
||||||
g := Graph{Path: RootModulePath}
|
g := Graph{Path: RootModulePath}
|
||||||
{
|
{
|
||||||
tf := &ConfigTransformerOld{Module: mod}
|
tf := &ConfigTransformer{Module: mod}
|
||||||
if err := tf.Transform(&g); err != nil {
|
if err := tf.Transform(&g); err != nil {
|
||||||
t.Fatalf("err: %s", err)
|
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{}
|
transform := &TransitiveReductionTransformer{}
|
||||||
if err := transform.Transform(&g); err != nil {
|
if err := transform.Transform(&g); err != nil {
|
||||||
|
|
Loading…
Reference in New Issue