1- // Code generated by internal/generate/identitytests/main.go; DO NOT EDIT.
1+ // Copyright (c) HashiCorp, Inc.
2+ // SPDX-License-Identifier: MPL-2.0
23
34package ec2_test
45
@@ -18,13 +19,19 @@ import (
1819 "github.com/hashicorp/terraform-provider-aws/names"
1920)
2021
22+ // This code was initially generated by internal/generate/identitytests/main.go and then
23+ // modified by hand to deal with resource identity schema migration.
24+
2125func testAccEC2ImageBlockPublicAccess_IdentitySerial (t * testing.T ) {
2226 t .Helper ()
2327
2428 testCases := map [string ]func (t * testing.T ){
2529 acctest .CtBasic : testAccEC2ImageBlockPublicAccess_Identity_Basic ,
2630 "ExistingResource" : testAccEC2ImageBlockPublicAccess_Identity_ExistingResource ,
2731 "ExistingResourceNoRefresh" : testAccEC2ImageBlockPublicAccess_Identity_ExistingResource_NoRefresh_NoChange ,
32+ "RegionOverride" : testAccEC2ImageBlockPublicAccess_Identity_RegionOverride ,
33+ "Upgrade" : testAccEC2ImageBlockPublicAccess_Identity_Upgrade ,
34+ "UpgradeNoRefresh" : testAccEC2ImageBlockPublicAccess_Identity_Upgrade_NoRefresh ,
2835 }
2936
3037 acctest .RunSerialTests1Level (t , testCases , 0 )
@@ -50,8 +57,43 @@ func testAccEC2ImageBlockPublicAccess_Identity_Basic(t *testing.T) {
5057 ConfigVariables : config.Variables {},
5158 ConfigStateChecks : []statecheck.StateCheck {
5259 statecheck .ExpectKnownValue (resourceName , tfjsonpath .New (names .AttrID ), tfknownvalue .AccountID ()),
60+ statecheck .ExpectKnownValue (resourceName , tfjsonpath .New (names .AttrRegion ), knownvalue .StringExact (acctest .Region ())),
5361 statecheck .ExpectIdentity (resourceName , map [string ]knownvalue.Check {
5462 names .AttrAccountID : tfknownvalue .AccountID (),
63+ names .AttrRegion : knownvalue .StringExact (acctest .Region ()),
64+ }),
65+ },
66+ },
67+ },
68+ })
69+ }
70+
71+ func testAccEC2ImageBlockPublicAccess_Identity_RegionOverride (t * testing.T ) {
72+ ctx := acctest .Context (t )
73+
74+ resourceName := "aws_ec2_image_block_public_access.test"
75+
76+ acctest .Test (ctx , t , resource.TestCase {
77+ TerraformVersionChecks : []tfversion.TerraformVersionCheck {
78+ tfversion .SkipBelow (tfversion .Version1_12_0 ),
79+ },
80+ PreCheck : func () { acctest .PreCheck (ctx , t ) },
81+ ErrorCheck : acctest .ErrorCheck (t , names .EC2ServiceID ),
82+ CheckDestroy : acctest .CheckDestroyNoop ,
83+ ProtoV5ProviderFactories : acctest .ProtoV5ProviderFactories ,
84+ Steps : []resource.TestStep {
85+ // Step 1: Setup
86+ {
87+ ConfigDirectory : config .StaticDirectory ("testdata/ImageBlockPublicAccess/region_override/" ),
88+ ConfigVariables : config.Variables {
89+ "region" : config .StringVariable (acctest .AlternateRegion ()),
90+ },
91+ ConfigStateChecks : []statecheck.StateCheck {
92+ statecheck .ExpectKnownValue (resourceName , tfjsonpath .New (names .AttrID ), tfknownvalue .AccountID ()),
93+ statecheck .ExpectKnownValue (resourceName , tfjsonpath .New (names .AttrRegion ), knownvalue .StringExact (acctest .AlternateRegion ())),
94+ statecheck .ExpectIdentity (resourceName , map [string ]knownvalue.Check {
95+ names .AttrAccountID : tfknownvalue .AccountID (),
96+ names .AttrRegion : knownvalue .StringExact (acctest .AlternateRegion ()),
5597 }),
5698 },
5799 },
@@ -116,6 +158,7 @@ func testAccEC2ImageBlockPublicAccess_Identity_ExistingResource(t *testing.T) {
116158 ConfigStateChecks : []statecheck.StateCheck {
117159 statecheck .ExpectIdentity (resourceName , map [string ]knownvalue.Check {
118160 names .AttrAccountID : tfknownvalue .AccountID (),
161+ names .AttrRegion : knownvalue .StringExact (acctest .Region ()),
119162 }),
120163 },
121164 },
@@ -159,3 +202,103 @@ func testAccEC2ImageBlockPublicAccess_Identity_ExistingResource_NoRefresh_NoChan
159202 },
160203 })
161204}
205+
206+ // Resource Identity version 1 was added in version 6.20.0
207+ func testAccEC2ImageBlockPublicAccess_Identity_Upgrade (t * testing.T ) {
208+ ctx := acctest .Context (t )
209+
210+ resourceName := "aws_ec2_image_block_public_access.test"
211+
212+ acctest .Test (ctx , t , resource.TestCase {
213+ TerraformVersionChecks : []tfversion.TerraformVersionCheck {
214+ tfversion .SkipBelow (tfversion .Version1_12_0 ),
215+ },
216+ PreCheck : func () { acctest .PreCheck (ctx , t ) },
217+ ErrorCheck : acctest .ErrorCheck (t , names .EC2ServiceID ),
218+ CheckDestroy : acctest .CheckDestroyNoop ,
219+ Steps : []resource.TestStep {
220+ // Step 1: Create with Identity version 0
221+ {
222+ ConfigDirectory : config .StaticDirectory ("testdata/ImageBlockPublicAccess/basic_v6.19.0/" ),
223+ ConfigVariables : config.Variables {},
224+ ConfigStateChecks : []statecheck.StateCheck {
225+ tfstatecheck .ExpectHasIdentity (resourceName ),
226+ },
227+ },
228+
229+ // Step 2: Current version
230+ {
231+ ProtoV5ProviderFactories : acctest .ProtoV5ProviderFactories ,
232+ ConfigDirectory : config .StaticDirectory ("testdata/ImageBlockPublicAccess/basic/" ),
233+ ConfigVariables : config.Variables {},
234+ ConfigPlanChecks : resource.ConfigPlanChecks {
235+ PreApply : []plancheck.PlanCheck {
236+ plancheck .ExpectResourceAction (resourceName , plancheck .ResourceActionNoop ),
237+ },
238+ PostApplyPostRefresh : []plancheck.PlanCheck {
239+ plancheck .ExpectResourceAction (resourceName , plancheck .ResourceActionNoop ),
240+ },
241+ },
242+ ConfigStateChecks : []statecheck.StateCheck {
243+ statecheck .ExpectIdentity (resourceName , map [string ]knownvalue.Check {
244+ names .AttrAccountID : tfknownvalue .AccountID (),
245+ names .AttrRegion : knownvalue .StringExact (acctest .Region ()),
246+ }),
247+ },
248+ },
249+ },
250+ })
251+ }
252+
253+ // Resource Identity version 1 was added in version 6.20.0
254+ func testAccEC2ImageBlockPublicAccess_Identity_Upgrade_NoRefresh (t * testing.T ) {
255+ ctx := acctest .Context (t )
256+
257+ resourceName := "aws_ec2_image_block_public_access.test"
258+
259+ acctest .Test (ctx , t , resource.TestCase {
260+ TerraformVersionChecks : []tfversion.TerraformVersionCheck {
261+ tfversion .SkipBelow (tfversion .Version1_12_0 ),
262+ },
263+ PreCheck : func () { acctest .PreCheck (ctx , t ) },
264+ ErrorCheck : acctest .ErrorCheck (t , names .EC2ServiceID ),
265+ CheckDestroy : acctest .CheckDestroyNoop ,
266+ AdditionalCLIOptions : & resource.AdditionalCLIOptions {
267+ Plan : resource.PlanOptions {
268+ NoRefresh : true ,
269+ },
270+ },
271+ Steps : []resource.TestStep {
272+ // Step 1: Create with Identity version 0
273+ {
274+ ConfigDirectory : config .StaticDirectory ("testdata/ImageBlockPublicAccess/basic_v6.19.0/" ),
275+ ConfigVariables : config.Variables {},
276+ ConfigStateChecks : []statecheck.StateCheck {
277+ tfstatecheck .ExpectHasIdentity (resourceName ),
278+ },
279+ },
280+
281+ // Step 2: Current version
282+ {
283+ ProtoV5ProviderFactories : acctest .ProtoV5ProviderFactories ,
284+ ConfigDirectory : config .StaticDirectory ("testdata/ImageBlockPublicAccess/basic/" ),
285+ ConfigVariables : config.Variables {},
286+ ConfigPlanChecks : resource.ConfigPlanChecks {
287+ PreApply : []plancheck.PlanCheck {
288+ // New "region" attribute.
289+ plancheck .ExpectResourceAction (resourceName , plancheck .ResourceActionUpdate ),
290+ },
291+ PostApplyPostRefresh : []plancheck.PlanCheck {
292+ plancheck .ExpectResourceAction (resourceName , plancheck .ResourceActionNoop ),
293+ },
294+ },
295+ ConfigStateChecks : []statecheck.StateCheck {
296+ statecheck .ExpectIdentity (resourceName , map [string ]knownvalue.Check {
297+ names .AttrAccountID : tfknownvalue .AccountID (),
298+ names .AttrRegion : knownvalue .StringExact (acctest .Region ()),
299+ }),
300+ },
301+ },
302+ },
303+ })
304+ }
0 commit comments