From 0701c70eae18ee0cfb7dfd2c81efe7f097d3bfa8 Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Sat, 30 Apr 2016 08:59:11 +0200 Subject: [PATCH] terraform: test import with module depth of two --- terraform/context_import_test.go | 42 ++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/terraform/context_import_test.go b/terraform/context_import_test.go index a86893915c..7fc1332560 100644 --- a/terraform/context_import_test.go +++ b/terraform/context_import_test.go @@ -114,6 +114,40 @@ func TestContextImport_module(t *testing.T) { } } +func TestContextImport_moduleDepth2(t *testing.T) { + p := testProvider("aws") + ctx := testContext2(t, &ContextOpts{ + Providers: map[string]ResourceProviderFactory{ + "aws": testProviderFuncFixed(p), + }, + }) + + p.ImportStateReturn = []*InstanceState{ + &InstanceState{ + ID: "foo", + Ephemeral: EphemeralState{Type: "aws_instance"}, + }, + } + + state, err := ctx.Import(&ImportOpts{ + Targets: []*ImportTarget{ + &ImportTarget{ + Addr: "module.a.module.b.aws_instance.foo", + ID: "bar", + }, + }, + }) + if err != nil { + t.Fatalf("err: %s", err) + } + + actual := strings.TrimSpace(state.String()) + expected := strings.TrimSpace(testImportModuleDepth2Str) + if actual != expected { + t.Fatalf("bad: \n%s", actual) + } +} + const testImportStr = ` aws_instance.foo: ID = foo @@ -128,6 +162,14 @@ module.foo: provider = aws ` +const testImportModuleDepth2Str = ` + +module.a.b: + aws_instance.foo: + ID = foo + provider = aws +` + const testImportRefreshStr = ` aws_instance.foo: ID = foo