From 8dfaae1f2305041856fad8f9edf449a647916a7c Mon Sep 17 00:00:00 2001 From: James Bardin Date: Tue, 7 Nov 2017 13:49:10 -0500 Subject: [PATCH] rewrite all of the test state string for providers Now that the resolved provider is always stored in state, we need to udpate all the test data to match. There will probably be some more breakage once the provider field is properly diffed. --- terraform/context_apply_test.go | 41 +++++++++++++- terraform/context_input_test.go | 1 + terraform/context_test.go | 2 + terraform/terraform_test.go | 99 ++++++++++++++++++++++++++++++++- 4 files changed, 139 insertions(+), 4 deletions(-) diff --git a/terraform/context_apply_test.go b/terraform/context_apply_test.go index c2e23dffb..52ed20daa 100644 --- a/terraform/context_apply_test.go +++ b/terraform/context_apply_test.go @@ -129,6 +129,7 @@ func TestContext2Apply_escape(t *testing.T) { checkStateString(t, state, ` aws_instance.bar: ID = foo + provider = provider.aws foo = "bar" type = aws_instance `) @@ -160,6 +161,7 @@ func TestContext2Apply_resourceCountOneList(t *testing.T) { actual := strings.TrimSpace(state.String()) expected := strings.TrimSpace(`null_resource.foo: ID = foo + provider = provider.null Outputs: @@ -578,6 +580,7 @@ amis_from_module = {eu-west-1:ami-789012 eu-west-2:ami-989484 us-west-1:ami-1234 module.test: null_resource.noop: ID = foo + provider = provider.null Outputs: @@ -745,6 +748,7 @@ func TestContext2Apply_providerWarning(t *testing.T) { expected := strings.TrimSpace(` aws_instance.foo: ID = foo + provider = provider.aws `) if actual != expected { t.Fatalf("got: \n%s\n\nexpected:\n%s", actual, expected) @@ -1032,11 +1036,13 @@ func TestContext2Apply_createBeforeDestroy_dependsNonCBD(t *testing.T) { checkStateString(t, state, ` aws_instance.bar: ID = foo + provider = provider.aws require_new = yes type = aws_instance value = foo aws_instance.foo: ID = foo + provider = provider.aws require_new = yes type = aws_instance `) @@ -1170,10 +1176,12 @@ func TestContext2Apply_createBeforeDestroy_deposedCount(t *testing.T) { checkStateString(t, state, ` aws_instance.bar.0: ID = foo + provider = provider.aws foo = bar type = aws_instance aws_instance.bar.1: ID = foo + provider = provider.aws foo = bar type = aws_instance `) @@ -1233,6 +1241,7 @@ func TestContext2Apply_createBeforeDestroy_deposedOnly(t *testing.T) { checkStateString(t, state, ` aws_instance.bar: ID = bar + provider = provider.aws `) } @@ -2007,6 +2016,7 @@ func TestContext2Apply_cancelBlock(t *testing.T) { checkStateString(t, state, ` aws_instance.foo: ID = foo + provider = provider.aws `) } @@ -2066,6 +2076,7 @@ func TestContext2Apply_cancelProvisioner(t *testing.T) { checkStateString(t, state, ` aws_instance.foo: (tainted) ID = foo + provider = provider.aws num = 2 type = aws_instance `) @@ -2448,10 +2459,12 @@ func TestContext2Apply_mapVariableOverride(t *testing.T) { expected := strings.TrimSpace(` aws_instance.bar: ID = foo + provider = provider.aws ami = overridden type = aws_instance aws_instance.foo: ID = foo + provider = provider.aws ami = image-1234 type = aws_instance `) @@ -2619,7 +2632,7 @@ func TestContext2Apply_moduleInheritAlias(t *testing.T) { module.child: aws_instance.foo: ID = foo - provider = aws.eu + provider = provider.aws.eu `) } @@ -3140,6 +3153,7 @@ func TestContext2Apply_moduleTarget(t *testing.T) { module.A: aws_instance.foo: ID = foo + provider = provider.aws foo = bar type = aws_instance @@ -3149,6 +3163,7 @@ module.A: module.B: aws_instance.bar: ID = foo + provider = provider.aws foo = foo type = aws_instance `) @@ -3929,6 +3944,7 @@ func TestContext2Apply_outputDependsOn(t *testing.T) { checkStateString(t, state, ` aws_instance.foo: ID = foo + provider = provider.aws Outputs: @@ -4560,6 +4576,7 @@ func TestContext2Apply_multiDepose_createBeforeDestroy(t *testing.T) { checkStateString(t, state, ` aws_instance.web: (1 deposed) ID = bar + provider = provider.aws Deposed ID 1 = foo `) @@ -4584,6 +4601,7 @@ aws_instance.web: (1 deposed) checkStateString(t, state, ` aws_instance.web: (2 deposed) ID = baz + provider = provider.aws Deposed ID 1 = foo Deposed ID 2 = bar `) @@ -4611,6 +4629,7 @@ aws_instance.web: (2 deposed) checkStateString(t, state, ` aws_instance.web: (1 deposed) ID = qux + provider = provider.aws Deposed ID 1 = bar `) @@ -4632,6 +4651,7 @@ aws_instance.web: (1 deposed) checkStateString(t, state, ` aws_instance.web: ID = quux + provider = provider.aws `) } @@ -4672,6 +4692,7 @@ func TestContext2Apply_provisionerFailContinue(t *testing.T) { checkStateString(t, state, ` aws_instance.foo: ID = foo + provider = provider.aws foo = bar type = aws_instance `) @@ -5067,6 +5088,7 @@ func TestContext2Apply_provisionerDestroyTainted(t *testing.T) { checkStateString(t, state, ` aws_instance.foo: ID = foo + provider = provider.aws foo = bar type = aws_instance `) @@ -7370,6 +7392,7 @@ func TestContext2Apply_targeted(t *testing.T) { checkStateString(t, state, ` aws_instance.foo: ID = foo + provider = provider.aws num = 2 type = aws_instance `) @@ -7402,10 +7425,13 @@ func TestContext2Apply_targetedCount(t *testing.T) { checkStateString(t, state, ` aws_instance.foo.0: ID = foo + provider = provider.aws aws_instance.foo.1: ID = foo + provider = provider.aws aws_instance.foo.2: ID = foo + provider = provider.aws `) } @@ -7436,6 +7462,7 @@ func TestContext2Apply_targetedCountIndex(t *testing.T) { checkStateString(t, state, ` aws_instance.foo.1: ID = foo + provider = provider.aws `) } @@ -7673,10 +7700,12 @@ func TestContext2Apply_targetedModule(t *testing.T) { module.child: aws_instance.bar: ID = foo + provider = provider.aws num = 2 type = aws_instance aws_instance.foo: ID = foo + provider = provider.aws num = 2 type = aws_instance `) @@ -7712,6 +7741,7 @@ func TestContext2Apply_targetedModuleDep(t *testing.T) { checkStateString(t, state, ` aws_instance.foo: ID = foo + provider = provider.aws foo = foo type = aws_instance @@ -7721,6 +7751,7 @@ aws_instance.foo: module.child: aws_instance.mod: ID = foo + provider = provider.aws Outputs: @@ -7795,6 +7826,7 @@ module.child1: module.child2: aws_instance.foo: ID = foo + provider = provider.aws Outputs: @@ -7836,6 +7868,7 @@ func TestContext2Apply_targetedModuleResource(t *testing.T) { module.child: aws_instance.foo: ID = foo + provider = provider.aws num = 2 type = aws_instance `) @@ -8289,6 +8322,7 @@ func TestContext2Apply_issue5254(t *testing.T) { expected := strings.TrimSpace(` template_file.child: ID = foo + provider = provider.template template = Hi type = template_file @@ -8296,6 +8330,7 @@ template_file.child: template_file.parent.* template_file.parent: ID = foo + provider = provider.template template = Hi type = template_file `) @@ -8371,6 +8406,7 @@ func TestContext2Apply_targetedWithTaintedInState(t *testing.T) { expected := strings.TrimSpace(` aws_instance.iambeingadded: ID = foo + provider = provider.aws aws_instance.ifailedprovisioners: (tainted) ID = ifailedprovisioners `) @@ -8416,6 +8452,7 @@ func TestContext2Apply_ignoreChangesCreate(t *testing.T) { expected := strings.TrimSpace(` aws_instance.foo: ID = foo + provider = provider.aws required_field = set type = aws_instance `) @@ -8560,6 +8597,7 @@ func TestContext2Apply_ignoreChangesWildcard(t *testing.T) { expected := strings.TrimSpace(` aws_instance.foo: ID = foo + provider = provider.aws required_field = set type = aws_instance `) @@ -8820,6 +8858,7 @@ func TestContext2Apply_targetedModuleRecursive(t *testing.T) { module.child.subchild: aws_instance.foo: ID = foo + provider = provider.aws num = 2 type = aws_instance `) diff --git a/terraform/context_input_test.go b/terraform/context_input_test.go index 8c2099855..0e94bf3c9 100644 --- a/terraform/context_input_test.go +++ b/terraform/context_input_test.go @@ -564,6 +564,7 @@ func TestContext2Input_varWithDefault(t *testing.T) { expectedStr := strings.TrimSpace(` aws_instance.foo: ID = foo + provider = provider.aws foo = 123 type = aws_instance `) diff --git a/terraform/context_test.go b/terraform/context_test.go index eec91e3aa..f528f2602 100644 --- a/terraform/context_test.go +++ b/terraform/context_test.go @@ -361,6 +361,7 @@ func testProvisioner() *MockResourceProvisioner { } func checkStateString(t *testing.T, state *State, expected string) { + t.Helper() actual := strings.TrimSpace(state.String()) expected = strings.TrimSpace(expected) @@ -381,6 +382,7 @@ func resourceState(resourceType, resourceID string) *ResourceState { // Test helper that gives a function 3 seconds to finish, assumes deadlock and // fails test if it does not. func testCheckDeadlock(t *testing.T, f func()) { + t.Helper() timeout := make(chan bool, 1) done := make(chan bool, 1) go func() { diff --git a/terraform/terraform_test.go b/terraform/terraform_test.go index 15e920796..4d645a9f7 100644 --- a/terraform/terraform_test.go +++ b/terraform/terraform_test.go @@ -220,11 +220,13 @@ func (h *HookRecordApplyOrder) PreApply( const testTerraformInputProviderStr = ` aws_instance.bar: ID = foo + provider = provider.aws bar = override foo = us-east-1 type = aws_instance aws_instance.foo: ID = foo + provider = provider.aws bar = baz num = 2 type = aws_instance @@ -233,6 +235,7 @@ aws_instance.foo: const testTerraformInputProviderOnlyStr = ` aws_instance.foo: ID = foo + provider = provider.aws foo = us-west-2 type = aws_instance ` @@ -240,6 +243,7 @@ aws_instance.foo: const testTerraformInputVarOnlyStr = ` aws_instance.foo: ID = foo + provider = provider.aws foo = us-east-1 type = aws_instance ` @@ -247,6 +251,7 @@ aws_instance.foo: const testTerraformInputVarOnlyUnsetStr = ` aws_instance.foo: ID = foo + provider = provider.aws bar = baz foo = foovalue type = aws_instance @@ -255,11 +260,13 @@ aws_instance.foo: const testTerraformInputVarsStr = ` aws_instance.bar: ID = foo + provider = provider.aws bar = override foo = us-east-1 type = aws_instance aws_instance.foo: ID = foo + provider = provider.aws bar = baz num = 2 type = aws_instance @@ -268,10 +275,12 @@ aws_instance.foo: const testTerraformApplyStr = ` aws_instance.bar: ID = foo + provider = provider.aws foo = bar type = aws_instance aws_instance.foo: ID = foo + provider = provider.aws num = 2 type = aws_instance ` @@ -279,11 +288,13 @@ aws_instance.foo: const testTerraformApplyDataBasicStr = ` data.null_data_source.testing: ID = yo + provider = provider.null ` const testTerraformApplyRefCountStr = ` aws_instance.bar: ID = foo + provider = provider.aws foo = 3 type = aws_instance @@ -291,20 +302,24 @@ aws_instance.bar: aws_instance.foo aws_instance.foo.0: ID = foo + provider = provider.aws aws_instance.foo.1: ID = foo + provider = provider.aws aws_instance.foo.2: ID = foo + provider = provider.aws ` const testTerraformApplyProviderAliasStr = ` aws_instance.bar: ID = foo - provider = aws.bar + provider = provider.aws.bar foo = bar type = aws_instance aws_instance.foo: ID = foo + provider = provider.aws num = 2 type = aws_instance ` @@ -312,9 +327,10 @@ aws_instance.foo: const testTerraformApplyProviderAliasConfigStr = ` another_instance.bar: ID = foo - provider = another.two + provider = provider.another.two another_instance.foo: ID = foo + provider = provider.another ` const testTerraformApplyEmptyModuleStr = ` @@ -335,6 +351,7 @@ aws_secret_key = ZZZZ const testTerraformApplyDependsCreateBeforeStr = ` aws_instance.lb: ID = foo + provider = provider.aws instance = foo type = aws_instance @@ -342,6 +359,7 @@ aws_instance.lb: aws_instance.web aws_instance.web: ID = foo + provider = provider.aws require_new = ami-new type = aws_instance ` @@ -349,6 +367,7 @@ aws_instance.web: const testTerraformApplyCreateBeforeStr = ` aws_instance.bar: ID = foo + provider = provider.aws require_new = xyz type = aws_instance ` @@ -356,6 +375,7 @@ aws_instance.bar: const testTerraformApplyCreateBeforeUpdateStr = ` aws_instance.bar: ID = foo + provider = provider.aws foo = baz type = aws_instance ` @@ -363,12 +383,14 @@ aws_instance.bar: const testTerraformApplyCancelStr = ` aws_instance.foo: ID = foo + provider = provider.aws num = 2 ` const testTerraformApplyComputeStr = ` aws_instance.bar: ID = foo + provider = provider.aws foo = computed_dynamical type = aws_instance @@ -376,6 +398,7 @@ aws_instance.bar: aws_instance.foo aws_instance.foo: ID = foo + provider = provider.aws dynamical = computed_dynamical num = 2 type = aws_instance @@ -429,10 +452,12 @@ const testTerraformApplyCountTaintedStr = ` const testTerraformApplyCountVariableStr = ` aws_instance.foo.0: ID = foo + provider = provider.aws foo = foo type = aws_instance aws_instance.foo.1: ID = foo + provider = provider.aws foo = foo type = aws_instance ` @@ -440,6 +465,7 @@ aws_instance.foo.1: const testTerraformApplyCountVariableRefStr = ` aws_instance.bar: ID = foo + provider = provider.aws foo = 2 type = aws_instance @@ -447,30 +473,37 @@ aws_instance.bar: aws_instance.foo aws_instance.foo.0: ID = foo + provider = provider.aws aws_instance.foo.1: ID = foo + provider = provider.aws ` const testTerraformApplyMinimalStr = ` aws_instance.bar: ID = foo + provider = provider.aws aws_instance.foo: ID = foo + provider = provider.aws ` const testTerraformApplyModuleStr = ` aws_instance.bar: ID = foo + provider = provider.aws foo = bar type = aws_instance aws_instance.foo: ID = foo + provider = provider.aws num = 2 type = aws_instance module.child: aws_instance.baz: ID = foo + provider = provider.aws foo = bar type = aws_instance ` @@ -478,6 +511,7 @@ module.child: const testTerraformApplyModuleBoolStr = ` aws_instance.bar: ID = foo + provider = provider.aws foo = 1 type = aws_instance @@ -500,10 +534,12 @@ module.child: const testTerraformApplyMultiProviderStr = ` aws_instance.bar: ID = foo + provider = provider.aws foo = bar type = aws_instance do_instance.foo: ID = foo + provider = provider.do num = 2 type = do_instance ` @@ -513,8 +549,10 @@ const testTerraformApplyModuleOnlyProviderStr = ` module.child: aws_instance.foo: ID = foo + provider = provider.aws test_instance.foo: ID = foo + provider = provider.test ` const testTerraformApplyModuleProviderAliasStr = ` @@ -522,7 +560,7 @@ const testTerraformApplyModuleProviderAliasStr = ` module.child: aws_instance.foo: ID = foo - provider = aws.eu + provider = module.child.provider.aws.eu ` const testTerraformApplyModuleVarRefExistingStr = ` @@ -533,6 +571,7 @@ aws_instance.foo: module.child: aws_instance.foo: ID = foo + provider = provider.aws type = aws_instance value = bar ` @@ -555,11 +594,13 @@ module.child: const testTerraformApplyProvisionerStr = ` aws_instance.bar: ID = foo + provider = provider.aws Dependencies: aws_instance.foo aws_instance.foo: ID = foo + provider = provider.aws dynamical = computed_dynamical num = 2 type = aws_instance @@ -570,13 +611,16 @@ const testTerraformApplyProvisionerModuleStr = ` module.child: aws_instance.bar: ID = foo + provider = provider.aws ` const testTerraformApplyProvisionerFailStr = ` aws_instance.bar: (tainted) ID = foo + provider = provider.aws aws_instance.foo: ID = foo + provider = provider.aws num = 2 type = aws_instance ` @@ -584,6 +628,7 @@ aws_instance.foo: const testTerraformApplyProvisionerFailCreateStr = ` aws_instance.bar: (tainted) ID = foo + provider = provider.aws ` const testTerraformApplyProvisionerFailCreateNoIdStr = ` @@ -593,6 +638,7 @@ const testTerraformApplyProvisionerFailCreateNoIdStr = ` const testTerraformApplyProvisionerFailCreateBeforeDestroyStr = ` aws_instance.bar: (1 deposed) ID = bar + provider = provider.aws require_new = abc Deposed ID 1 = foo (tainted) ` @@ -600,6 +646,7 @@ aws_instance.bar: (1 deposed) const testTerraformApplyProvisionerResourceRefStr = ` aws_instance.bar: ID = foo + provider = provider.aws num = 2 type = aws_instance ` @@ -607,6 +654,7 @@ aws_instance.bar: const testTerraformApplyProvisionerSelfRefStr = ` aws_instance.foo: ID = foo + provider = provider.aws foo = bar type = aws_instance ` @@ -614,14 +662,17 @@ aws_instance.foo: const testTerraformApplyProvisionerMultiSelfRefStr = ` aws_instance.foo.0: ID = foo + provider = provider.aws foo = number 0 type = aws_instance aws_instance.foo.1: ID = foo + provider = provider.aws foo = number 1 type = aws_instance aws_instance.foo.2: ID = foo + provider = provider.aws foo = number 2 type = aws_instance ` @@ -629,10 +680,12 @@ aws_instance.foo.2: const testTerraformApplyProvisionerMultiSelfRefSingleStr = ` aws_instance.foo.0: ID = foo + provider = provider.aws foo = number 0 type = aws_instance aws_instance.foo.1: ID = foo + provider = provider.aws foo = number 1 type = aws_instance @@ -640,6 +693,7 @@ aws_instance.foo.1: aws_instance.foo.0 aws_instance.foo.2: ID = foo + provider = provider.aws foo = number 2 type = aws_instance @@ -650,6 +704,7 @@ aws_instance.foo.2: const testTerraformApplyProvisionerDiffStr = ` aws_instance.bar: ID = foo + provider = provider.aws foo = bar type = aws_instance ` @@ -666,40 +721,47 @@ module.child.subchild: const testTerraformApplyErrorStr = ` aws_instance.bar: ID = bar + provider = provider.aws Dependencies: aws_instance.foo aws_instance.foo: ID = foo + provider = provider.aws num = 2 ` const testTerraformApplyErrorCreateBeforeDestroyStr = ` aws_instance.bar: ID = bar + provider = provider.aws require_new = abc ` const testTerraformApplyErrorDestroyCreateBeforeDestroyStr = ` aws_instance.bar: (1 deposed) ID = foo + provider = provider.aws Deposed ID 1 = bar ` const testTerraformApplyErrorPartialStr = ` aws_instance.bar: ID = bar + provider = provider.aws Dependencies: aws_instance.foo aws_instance.foo: ID = foo + provider = provider.aws num = 2 ` const testTerraformApplyResourceDependsOnModuleStr = ` aws_instance.a: ID = foo + provider = provider.aws Dependencies: module.child @@ -707,11 +769,13 @@ aws_instance.a: module.child: aws_instance.child: ID = foo + provider = provider.aws ` const testTerraformApplyResourceDependsOnModuleDeepStr = ` aws_instance.a: ID = foo + provider = provider.aws Dependencies: module.child @@ -719,6 +783,7 @@ aws_instance.a: module.child.grandchild: aws_instance.c: ID = foo + provider = provider.aws ` const testTerraformApplyResourceDependsOnModuleInModuleStr = ` @@ -726,17 +791,20 @@ const testTerraformApplyResourceDependsOnModuleInModuleStr = ` module.child: aws_instance.b: ID = foo + provider = provider.aws Dependencies: module.grandchild module.child.grandchild: aws_instance.c: ID = foo + provider = provider.aws ` const testTerraformApplyTaintStr = ` aws_instance.bar: ID = foo + provider = provider.aws num = 2 type = aws_instance ` @@ -744,6 +812,7 @@ aws_instance.bar: const testTerraformApplyTaintDepStr = ` aws_instance.bar: ID = bar + provider = provider.aws foo = foo num = 2 type = aws_instance @@ -752,6 +821,7 @@ aws_instance.bar: aws_instance.foo aws_instance.foo: ID = foo + provider = provider.aws num = 2 type = aws_instance ` @@ -759,6 +829,7 @@ aws_instance.foo: const testTerraformApplyTaintDepRequireNewStr = ` aws_instance.bar: ID = foo + provider = provider.aws foo = foo require_new = yes type = aws_instance @@ -767,6 +838,7 @@ aws_instance.bar: aws_instance.foo aws_instance.foo: ID = foo + provider = provider.aws num = 2 type = aws_instance ` @@ -774,10 +846,12 @@ aws_instance.foo: const testTerraformApplyOutputStr = ` aws_instance.bar: ID = foo + provider = provider.aws foo = bar type = aws_instance aws_instance.foo: ID = foo + provider = provider.aws num = 2 type = aws_instance @@ -789,10 +863,12 @@ foo_num = 2 const testTerraformApplyOutputAddStr = ` aws_instance.test.0: ID = foo + provider = provider.aws foo = foo0 type = aws_instance aws_instance.test.1: ID = foo + provider = provider.aws foo = foo1 type = aws_instance @@ -805,18 +881,22 @@ secondOutput = foo1 const testTerraformApplyOutputListStr = ` aws_instance.bar.0: ID = foo + provider = provider.aws foo = bar type = aws_instance aws_instance.bar.1: ID = foo + provider = provider.aws foo = bar type = aws_instance aws_instance.bar.2: ID = foo + provider = provider.aws foo = bar type = aws_instance aws_instance.foo: ID = foo + provider = provider.aws num = 2 type = aws_instance @@ -828,18 +908,22 @@ foo_num = [bar,bar,bar] const testTerraformApplyOutputMultiStr = ` aws_instance.bar.0: ID = foo + provider = provider.aws foo = bar type = aws_instance aws_instance.bar.1: ID = foo + provider = provider.aws foo = bar type = aws_instance aws_instance.bar.2: ID = foo + provider = provider.aws foo = bar type = aws_instance aws_instance.foo: ID = foo + provider = provider.aws num = 2 type = aws_instance @@ -851,18 +935,22 @@ foo_num = bar,bar,bar const testTerraformApplyOutputMultiIndexStr = ` aws_instance.bar.0: ID = foo + provider = provider.aws foo = bar type = aws_instance aws_instance.bar.1: ID = foo + provider = provider.aws foo = bar type = aws_instance aws_instance.bar.2: ID = foo + provider = provider.aws foo = bar type = aws_instance aws_instance.foo: ID = foo + provider = provider.aws num = 2 type = aws_instance @@ -874,6 +962,7 @@ foo_num = bar const testTerraformApplyUnknownAttrStr = ` aws_instance.foo: ID = foo + provider = provider.aws num = 2 type = aws_instance ` @@ -881,12 +970,14 @@ aws_instance.foo: const testTerraformApplyVarsStr = ` aws_instance.bar: ID = foo + provider = provider.aws bar = foo baz = override foo = us-west-2 type = aws_instance aws_instance.foo: ID = foo + provider = provider.aws bar = baz list = Hello,World map = Baz,Foo,Hello @@ -897,6 +988,7 @@ aws_instance.foo: const testTerraformApplyVarsEnvStr = ` aws_instance.bar: ID = foo + provider = provider.aws bar = Hello,World baz = Baz,Foo,Hello foo = baz @@ -1650,6 +1742,7 @@ STATE: const testTerraformInputHCL = ` hcl_instance.hcltest: ID = foo + provider = provider.hcl bar.w = z bar.x = y foo.# = 2