@@ -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