@@ -40,7 +40,7 @@ import (
4040 " {{ $.ImportPath }}/tpgresource"
4141 transport_tpg " {{ $.ImportPath }}/transport"
4242)
43- {{ range $e := $ .Res.TestExamples }}
43+ {{ range $i , $ e := $ .Res.TestExamples }}
4444func TestAcc{{ $e .TestSlug $ .Res.ProductMetadata.Name $ .Res.Name }}(t *testing.T ) {
4545 {{- if $e .SkipTest }}
4646 t.Skip (" {{$e.SkipTest}}" )
@@ -112,6 +112,14 @@ func TestAcc{{ $e.TestSlug $.Res.ProductMetadata.Name $.Res.Name }}(t *testing.T
112112 ImportStateVerifyIgnore: {{ $ .Res.IgnoreReadPropertiesToString $e }},
113113 {{- end }}
114114 },
115+ {{- end }}
116+ {{- if eq $i 0 }}
117+ {
118+ ResourceName: " {{ $.Res.TerraformName }}.{{ $e.PrimaryResourceId }}" ,
119+ RefreshState: true,
120+ ExpectNonEmptyPlan: true,
121+ ImportStateKind: resource.ImportBlockWithResourceIdentity ,
122+ },
115123 {{- end }}
116124 },
117125 })
@@ -175,63 +183,3 @@ func testAccCheck{{ $.Res.ResourceName }}DestroyProducer(t *testing.T) func(s *t
175183 }
176184}
177185{{- end }}
178-
179- func TestAcc{{ $ .Res.ResourceName }}_ResourceIdentity(t *testing.T ) {
180- t.Parallel ()
181- {{- if gt (len $ .Res.TestExamples ) 0 }}
182- {{- $firstExample := index $ .Res.TestExamples 0 }}
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
214- }
215-
216- resource.Test (t, resource.TestCase {
217- PreCheck: func() { acctest.AccTestPreCheck (t) },
218- TerraformVersionChecks: []tfversion.TerraformVersionCheck {
219- tfversion.SkipBelow (tfversion.Version1_12_0 ),
220- },
221- ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories (t),
222- Steps: []resource.TestStep {
223- {
224- Config: testAcc{{ $firstExample .TestSlug $ .Res.ProductMetadata.Name $ .Res.Name }}(context),
225- },
226- {
227- ResourceName: " {{ $.Res.TerraformName }}.{{ $firstExample.PrimaryResourceId }}" ,
228- RefreshState: true,
229- ExpectNonEmptyPlan: true,
230- ImportStateKind: resource.ImportBlockWithResourceIdentity ,
231- },
232- },
233- })
234- {{- else }}
235- t.Skip (" Skipping resource identity test as no test examples are defined." )
236- {{- end }}
237- }
0 commit comments