Skip to content

Commit 248aff7

Browse files
committed
only add a resourceIdentity import test on the first example in a resource
1 parent 5463770 commit 248aff7

File tree

1 file changed

+9
-61
lines changed

1 file changed

+9
-61
lines changed

mmv1/templates/terraform/examples/base_configs/test_file.go.tmpl

Lines changed: 9 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -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 }}
4444
func 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

Comments
 (0)