1818package {{ $ .Res.PackageName }}_test
1919
2020import (
21- {{- if not $ .Res.ExcludeDelete }}
21+ {{- if not $ .Res.ExcludeDelete }}
2222 {{- if not $ .Res.CustomCode.TestCheckDestroy }}
2323 " fmt"
2424 {{- end }}
2525 " strings"
26- {{- end }}
26+ {{- end }}
2727 " testing"
2828
2929 " github.com/hashicorp/terraform-plugin-testing/helper/resource"
@@ -62,12 +62,24 @@ func TestAcc{{ $e.TestSlug $.Res.ProductMetadata.Name $.Res.Name }}(t *testing.T
6262 })
6363 {{- end }}
6464
65- context := map[string]interface{}{
66- {{- template " EnvVarContext" dict " TestEnvVars" $e .TestEnvVars " HasNewLine" false}}
67- {{- range $varKey , $varVal := $e .TestVarsOverrides }}
65+ randomSuffix := acctest.RandString (t, 10)
66+ context := make(map[string]interface{})
67+ context[" random_suffix" ] = randomSuffix
68+
69+ envVars := map[string]interface{}{
70+ {{- template " EnvVarContext" dict " TestEnvVars" $e .TestEnvVars " HasNewLine" false}}
71+ }
72+ for k, v := range envVars {
73+ context[k] = v
74+ }
75+
76+ overrides := map[string]interface{}{
77+ {{- range $varKey , $varVal := $e .TestVarsOverrides }}
6878 " {{$varKey}}" : {{$varVal }},
69- {{- end }}
70- " random_suffix" : acctest.RandString (t, 10),
79+ {{- end }}
80+ }
81+ for k, v := range overrides {
82+ context[k] = v
7183 }
7284
7385 acctest.VcrTest (t, resource.TestCase {
@@ -168,16 +180,38 @@ func TestAcc{{ $.Res.ResourceName }}_ResourceIdentity(t *testing.T) {
168180 t.Parallel ()
169181 {{- if gt (len $ .Res.TestExamples ) 0 }}
170182 {{- $firstExample := index $ .Res.TestExamples 0 }}
171- context := map[string]interface{}{
172- {{- template " EnvVarContext" dict " TestEnvVars" $firstExample .TestEnvVars " HasNewLine" false}}
173- " random_suffix" : acctest.RandString (t, 10),
183+ randomSuffix := acctest.RandString (t, 10)
184+ context := make(map[string]interface{})
185+ context[" random_suffix" ] = randomSuffix
186+
187+ identityProps := map[string]interface{}{
188+ {{- range $e := $ .Res.IdentityProperties }}
189+ {{- if eq $e .Name " project" }}
190+ " project" : envvar.GetTestProjectFromEnv (),
191+ {{- else }}
192+ " {{ $e.Name }}" : fmt.Sprintf (" tf-test-example-{{ lower $.Res.Name }}%s " , randomSuffix),
193+ {{- end }}
194+ {{- end }}
195+ }
196+ for k, v := range identityProps {
197+ context[k] = v
198+ }
199+
200+ envVars := map[string]interface{}{
201+ {{- template " EnvVarContext" dict " TestEnvVars" $firstExample .TestEnvVars " HasNewLine" false}}
202+ }
203+ for k, v := range envVars {
204+ context[k] = v
205+ }
206+
207+ overrides := map[string]interface{}{
208+ {{- range $varKey , $varVal := $firstExample .TestVarsOverrides }}
209+ " {{$varKey}}" : {{$varVal }},
210+ {{- end }}
211+ }
212+ for k, v := range overrides {
213+ context[k] = v
174214 }
175- {{- range $e := $ .Res.IdentityProperties }}
176- context[" {{ $e.Name }}" ] = acctest.RandString (t, 10)
177- {{- end }}
178- {{- range $varKey , $varVal := $firstExample .TestVarsOverrides }}
179- context[" {{$varKey}}" ] = {{$varVal }}
180- {{- end }}
181215
182216 resource.Test (t, resource.TestCase {
183217 PreCheck: func() { acctest.AccTestPreCheck (t) },
@@ -188,27 +222,12 @@ func TestAcc{{ $.Res.ResourceName }}_ResourceIdentity(t *testing.T) {
188222 Steps: []resource.TestStep {
189223 {
190224 Config: testAcc{{ $firstExample .TestSlug $ .Res.ProductMetadata.Name $ .Res.Name }}(context),
191- ConfigStateChecks: []statecheck.StateCheck {
192- statecheck.ExpectIdentity (
193- " {{ $.Res.TerraformName }}.{{ $firstExample.PrimaryResourceId }}" ,
194- map[string]knownvalue.Check {
195- {{- range $e := $ .Res.IdentityProperties }}
196- " {{ $e.Name }}" : knownvalue.StringExact (context[" {{ $e.Name }}" ]. (string)),
197- {{- end }}
198- },
199- ),
200- {{- range $e := $ .Res.IdentityProperties }}
201- statecheck.ExpectKnownValue (
202- " {{ $.Res.TerraformName }}.{{ $firstExample.PrimaryResourceId }}" ,
203- tfjsonpath.New (" {{ $e.Name }}" ),
204- knownvalue.StringExact (context[" {{ $e.Name }}" ]. (string))),
205- {{- end }}
206- },
207225 },
208226 {
209- ResourceName: " {{ $.Res.TerraformName }}.{{ $firstExample.PrimaryResourceId }}" ,
210- ImportState: true,
211- ImportStateKind: resource.ImportBlockWithResourceIdentity ,
227+ ResourceName: " {{ $.Res.TerraformName }}.{{ $firstExample.PrimaryResourceId }}" ,
228+ RefreshState: true,
229+ ExpectNonEmptyPlan: true,
230+ ImportStateKind: resource.ImportBlockWithResourceIdentity ,
212231 },
213232 },
214233 })
0 commit comments