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