github.com/muratcelep/terraform@v1.1.0-beta2-not-internal-4/not-internal/terraform/transform_root_test.go (about) 1 package terraform 2 3 import ( 4 "strings" 5 "testing" 6 7 "github.com/muratcelep/terraform/not-internal/addrs" 8 ) 9 10 func TestRootTransformer(t *testing.T) { 11 mod := testModule(t, "transform-root-basic") 12 13 g := Graph{Path: addrs.RootModuleInstance} 14 { 15 tf := &ConfigTransformer{Config: mod} 16 if err := tf.Transform(&g); err != nil { 17 t.Fatalf("err: %s", err) 18 } 19 } 20 21 { 22 transform := &MissingProviderTransformer{} 23 if err := transform.Transform(&g); err != nil { 24 t.Fatalf("err: %s", err) 25 } 26 } 27 28 { 29 transform := &ProviderTransformer{} 30 if err := transform.Transform(&g); err != nil { 31 t.Fatalf("err: %s", err) 32 } 33 } 34 35 { 36 transform := &RootTransformer{} 37 if err := transform.Transform(&g); err != nil { 38 t.Fatalf("err: %s", err) 39 } 40 } 41 42 actual := strings.TrimSpace(g.String()) 43 expected := strings.TrimSpace(testTransformRootBasicStr) 44 if actual != expected { 45 t.Fatalf("wrong result\n\ngot:\n%s\n\nwant:\n%s", actual, expected) 46 } 47 48 root, err := g.Root() 49 if err != nil { 50 t.Fatalf("err: %s", err) 51 } 52 if _, ok := root.(graphNodeRoot); !ok { 53 t.Fatalf("bad: %#v", root) 54 } 55 } 56 57 const testTransformRootBasicStr = ` 58 aws_instance.foo 59 provider["registry.terraform.io/hashicorp/aws"] 60 do_droplet.bar 61 provider["registry.terraform.io/hashicorp/do"] 62 provider["registry.terraform.io/hashicorp/aws"] 63 provider["registry.terraform.io/hashicorp/do"] 64 root 65 aws_instance.foo 66 do_droplet.bar 67 `