diff --git a/terraform/transform_reference_test.go b/terraform/transform_reference_test.go index 544af6b04..6468bdf7e 100644 --- a/terraform/transform_reference_test.go +++ b/terraform/transform_reference_test.go @@ -138,6 +138,54 @@ func TestReferenceTransformer_backupPrimary(t *testing.T) { } } +func TestReferenceTransformer_modulePath(t *testing.T) { + g := Graph{Path: RootModulePath} + g.Add(&graphNodeRefParentTest{ + NameValue: "A", + Names: []string{"A"}, + PathValue: []string{"foo"}, + }) + g.Add(&graphNodeRefChildTest{ + NameValue: "B", + Refs: []string{"module.foo"}, + }) + + tf := &ReferenceTransformer{} + if err := tf.Transform(&g); err != nil { + t.Fatalf("err: %s", err) + } + + actual := strings.TrimSpace(g.String()) + expected := strings.TrimSpace(testTransformRefModulePathStr) + if actual != expected { + t.Fatalf("bad:\n\n%s", actual) + } +} + +func TestReferenceTransformer_modulePathNormalized(t *testing.T) { + g := Graph{Path: RootModulePath} + g.Add(&graphNodeRefParentTest{ + NameValue: "A", + Names: []string{"A"}, + PathValue: []string{"root", "foo"}, + }) + g.Add(&graphNodeRefChildTest{ + NameValue: "B", + Refs: []string{"module.foo"}, + }) + + tf := &ReferenceTransformer{} + if err := tf.Transform(&g); err != nil { + t.Fatalf("err: %s", err) + } + + actual := strings.TrimSpace(g.String()) + expected := strings.TrimSpace(testTransformRefModulePathStr) + if actual != expected { + t.Fatalf("bad:\n\n%s", actual) + } +} + func TestReferenceMapReferences(t *testing.T) { cases := map[string]struct { Nodes []dag.Vertex @@ -265,6 +313,12 @@ B C ` +const testTransformRefModulePathStr = ` +A +B + A +` + const testTransformRefPathStr = ` A B