Skip to content

Commit

Permalink
r/aws_default_subnet & r/aws_default_vpc: Don't run acceptance tests …
Browse files Browse the repository at this point in the history
…in the standard region(s) as other resources' tests (e.g. aws_instance) implicitly use default subnets.

Acceptance test output:

% AWS_DEFAULT_REGION=eu-west-2 make testacc TESTS=TestAccEC2DefaultVPCAndSubnet_serial PKG=ec2
==> Checking that code complies with gofmt requirements...
TF_ACC=1 go test ./internal/service/ec2/... -v -count 1 -parallel 20 -run='TestAccEC2DefaultVPCAndSubnet_serial'  -timeout 180m
=== RUN   TestAccEC2DefaultVPCAndSubnet_serial
=== RUN   TestAccEC2DefaultVPCAndSubnet_serial/VPC
=== RUN   TestAccEC2DefaultVPCAndSubnet_serial/VPC/existing.basic
=== RUN   TestAccEC2DefaultVPCAndSubnet_serial/VPC/existing.assignGeneratedIPv6CIDRBlock
=== RUN   TestAccEC2DefaultVPCAndSubnet_serial/VPC/existing.forceDestroy
=== RUN   TestAccEC2DefaultVPCAndSubnet_serial/VPC/notFound.basic
    default_vpc_test.go:61: Deleting existing default VPC: vpc-070f87de6a2504c87
=== RUN   TestAccEC2DefaultVPCAndSubnet_serial/VPC/notFound.assignGeneratedIPv6CIDRBlock
    default_vpc_test.go:61: Deleting existing default VPC: vpc-08068b0353ebbae41
=== RUN   TestAccEC2DefaultVPCAndSubnet_serial/VPC/notFound.forceDestroy
    default_vpc_test.go:61: Deleting existing default VPC: vpc-09610d2f3e1ffba00
=== RUN   TestAccEC2DefaultVPCAndSubnet_serial/Subnet
=== RUN   TestAccEC2DefaultVPCAndSubnet_serial/Subnet/existing.forceDestroy
=== RUN   TestAccEC2DefaultVPCAndSubnet_serial/Subnet/existing.ipv6
=== RUN   TestAccEC2DefaultVPCAndSubnet_serial/Subnet/existing.privateDnsNameOptionsOnLaunch
=== RUN   TestAccEC2DefaultVPCAndSubnet_serial/Subnet/notFound.basic
    default_subnet_test.go:62: Deleting existing default subnet: subnet-0a60a9666d2edfb92
    default_subnet_test.go:62: Deleting existing default subnet: subnet-0d5b5572150325e38
    default_subnet_test.go:62: Deleting existing default subnet: subnet-055f31bb2650e3b86
=== RUN   TestAccEC2DefaultVPCAndSubnet_serial/Subnet/notFound.ipv6Native
    default_subnet_test.go:62: Deleting existing default subnet: subnet-07b62a14e35e531c8
    default_subnet_test.go:62: Deleting existing default subnet: subnet-03e145e9e3a5db6e6
    default_subnet_test.go:62: Deleting existing default subnet: subnet-0e2ba115852876dc6
=== RUN   TestAccEC2DefaultVPCAndSubnet_serial/Subnet/existing.basic
--- PASS: TestAccEC2DefaultVPCAndSubnet_serial (467.10s)
    --- PASS: TestAccEC2DefaultVPCAndSubnet_serial/VPC (233.68s)
        --- PASS: TestAccEC2DefaultVPCAndSubnet_serial/VPC/existing.basic (46.26s)
        --- PASS: TestAccEC2DefaultVPCAndSubnet_serial/VPC/existing.assignGeneratedIPv6CIDRBlock (32.89s)
        --- PASS: TestAccEC2DefaultVPCAndSubnet_serial/VPC/existing.forceDestroy (52.24s)
        --- PASS: TestAccEC2DefaultVPCAndSubnet_serial/VPC/notFound.basic (27.52s)
        --- PASS: TestAccEC2DefaultVPCAndSubnet_serial/VPC/notFound.assignGeneratedIPv6CIDRBlock (40.93s)
        --- PASS: TestAccEC2DefaultVPCAndSubnet_serial/VPC/notFound.forceDestroy (33.84s)
    --- PASS: TestAccEC2DefaultVPCAndSubnet_serial/Subnet (233.42s)
        --- PASS: TestAccEC2DefaultVPCAndSubnet_serial/Subnet/existing.forceDestroy (22.89s)
        --- PASS: TestAccEC2DefaultVPCAndSubnet_serial/Subnet/existing.ipv6 (64.95s)
        --- PASS: TestAccEC2DefaultVPCAndSubnet_serial/Subnet/existing.privateDnsNameOptionsOnLaunch (41.24s)
        --- PASS: TestAccEC2DefaultVPCAndSubnet_serial/Subnet/notFound.basic (21.50s)
        --- PASS: TestAccEC2DefaultVPCAndSubnet_serial/Subnet/notFound.ipv6Native (64.50s)
        --- PASS: TestAccEC2DefaultVPCAndSubnet_serial/Subnet/existing.basic (18.33s)
PASS
ok  	github.com/hashicorp/terraform-provider-aws/internal/service/ec2	470.792s
  • Loading branch information
ewbankkit committed Jan 24, 2022
1 parent 14272a4 commit 02574a0
Show file tree
Hide file tree
Showing 3 changed files with 77 additions and 17 deletions.
9 changes: 9 additions & 0 deletions internal/acctest/acctest.go
Original file line number Diff line number Diff line change
Expand Up @@ -652,6 +652,15 @@ func PreCheckRegion(t *testing.T, region string) {
}
}

// PreCheckRegionNot checks that the test region is not one of the specified regions.
func PreCheckRegionNot(t *testing.T, regions ...string) {
for _, region := range regions {
if Region() == region {
t.Skipf("skipping tests; %s (%s) not supported", conns.EnvVarDefaultRegion, region)
}
}
}

// PreCheckPartition checks that the test partition is the specified partition.
func PreCheckPartition(partition string, t *testing.T) {
if Partition() != partition {
Expand Down
48 changes: 37 additions & 11 deletions internal/service/ec2/default_subnet_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import (
"testing"

"github.com/aws/aws-sdk-go/aws"
"github.com/aws/aws-sdk-go/aws/endpoints"
"github.com/aws/aws-sdk-go/service/ec2"
"github.com/hashicorp/aws-sdk-go-base/tfawserr"
sdkacctest "github.com/hashicorp/terraform-plugin-sdk/v2/helper/acctest"
Expand Down Expand Up @@ -77,7 +78,11 @@ func testAccEC2DefaultSubnet_Existing_basic(t *testing.T) {
resourceName := "aws_default_subnet.test"

resource.Test(t, resource.TestCase{
PreCheck: func() { acctest.PreCheck(t); testAccPreCheckDefaultSubnetExists(t) },
PreCheck: func() {
acctest.PreCheck(t)
acctest.PreCheckRegionNot(t, endpoints.UsWest2RegionID, endpoints.UsGovWest1RegionID)
testAccPreCheckDefaultSubnetExists(t)
},
ErrorCheck: acctest.ErrorCheck(t, ec2.EndpointsID),
Providers: acctest.Providers,
CheckDestroy: testAccCheckDefaultSubnetDestroyExists,
Expand Down Expand Up @@ -117,7 +122,11 @@ func testAccEC2DefaultSubnet_Existing_forceDestroy(t *testing.T) {
resourceName := "aws_default_subnet.test"

resource.Test(t, resource.TestCase{
PreCheck: func() { acctest.PreCheck(t); testAccPreCheckDefaultSubnetExists(t) },
PreCheck: func() {
acctest.PreCheck(t)
acctest.PreCheckRegionNot(t, endpoints.UsWest2RegionID, endpoints.UsGovWest1RegionID)
testAccPreCheckDefaultSubnetExists(t)
},
ErrorCheck: acctest.ErrorCheck(t, ec2.EndpointsID),
Providers: acctest.Providers,
CheckDestroy: testAccCheckDefaultSubnetDestroyNotFound,
Expand All @@ -139,7 +148,11 @@ func testAccEC2DefaultSubnet_Existing_ipv6(t *testing.T) {
resourceName := "aws_default_subnet.test"

resource.Test(t, resource.TestCase{
PreCheck: func() { acctest.PreCheck(t); testAccPreCheckDefaultSubnetExists(t) },
PreCheck: func() {
acctest.PreCheck(t)
acctest.PreCheckRegionNot(t, endpoints.UsWest2RegionID, endpoints.UsGovWest1RegionID)
testAccPreCheckDefaultSubnetExists(t)
},
ErrorCheck: acctest.ErrorCheck(t, ec2.EndpointsID),
Providers: acctest.Providers,
CheckDestroy: testAccCheckDefaultSubnetDestroyNotFound,
Expand Down Expand Up @@ -180,7 +193,11 @@ func testAccEC2DefaultSubnet_Existing_privateDnsNameOptionsOnLaunch(t *testing.T
rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix)

resource.Test(t, resource.TestCase{
PreCheck: func() { acctest.PreCheck(t); testAccPreCheckDefaultSubnetExists(t) },
PreCheck: func() {
acctest.PreCheck(t)
acctest.PreCheckRegionNot(t, endpoints.UsWest2RegionID, endpoints.UsGovWest1RegionID)
testAccPreCheckDefaultSubnetExists(t)
},
ErrorCheck: acctest.ErrorCheck(t, ec2.EndpointsID),
Providers: acctest.Providers,
CheckDestroy: testAccCheckDefaultSubnetDestroyExists,
Expand Down Expand Up @@ -221,7 +238,11 @@ func testAccEC2DefaultSubnet_NotFound_basic(t *testing.T) {
resourceName := "aws_default_subnet.test"

resource.Test(t, resource.TestCase{
PreCheck: func() { acctest.PreCheck(t); testAccPreCheckDefaultSubnetNotFound(t) },
PreCheck: func() {
acctest.PreCheck(t)
acctest.PreCheckRegionNot(t, endpoints.UsWest2RegionID, endpoints.UsGovWest1RegionID)
testAccPreCheckDefaultSubnetNotFound(t)
},
ErrorCheck: acctest.ErrorCheck(t, ec2.EndpointsID),
Providers: acctest.Providers,
CheckDestroy: testAccCheckDefaultSubnetDestroyExists,
Expand Down Expand Up @@ -261,7 +282,11 @@ func testAccEC2DefaultSubnet_NotFound_ipv6Native(t *testing.T) {
resourceName := "aws_default_subnet.test"

resource.Test(t, resource.TestCase{
PreCheck: func() { acctest.PreCheck(t); testAccPreCheckDefaultSubnetNotFound(t) },
PreCheck: func() {
acctest.PreCheck(t)
acctest.PreCheckRegionNot(t, endpoints.UsWest2RegionID, endpoints.UsGovWest1RegionID)
testAccPreCheckDefaultSubnetNotFound(t)
},
ErrorCheck: acctest.ErrorCheck(t, ec2.EndpointsID),
Providers: acctest.Providers,
CheckDestroy: testAccCheckDefaultSubnetDestroyNotFound,
Expand All @@ -276,15 +301,15 @@ func testAccEC2DefaultSubnet_NotFound_ipv6Native(t *testing.T) {
resource.TestCheckResourceAttrSet(resourceName, "availability_zone_id"),
resource.TestCheckResourceAttr(resourceName, "cidr_block", ""),
resource.TestCheckResourceAttr(resourceName, "customer_owned_ipv4_pool", ""),
resource.TestCheckResourceAttr(resourceName, "enable_dns64", "true"),
resource.TestCheckResourceAttr(resourceName, "enable_dns64", "false"),
resource.TestCheckResourceAttr(resourceName, "enable_resource_name_dns_aaaa_record_on_launch", "true"),
resource.TestCheckResourceAttr(resourceName, "enable_resource_name_dns_a_record_on_launch", "false"),
resource.TestCheckResourceAttr(resourceName, "existing_default_subnet", "true"),
resource.TestCheckResourceAttr(resourceName, "existing_default_subnet", "false"),
resource.TestCheckResourceAttr(resourceName, "force_destroy", "true"),
resource.TestCheckResourceAttrSet(resourceName, "ipv6_cidr_block"),
resource.TestCheckResourceAttr(resourceName, "ipv6_native", "true"),
resource.TestCheckResourceAttr(resourceName, "map_customer_owned_ip_on_launch", "false"),
resource.TestCheckResourceAttr(resourceName, "map_public_ip_on_launch", "true"),
resource.TestCheckResourceAttr(resourceName, "map_public_ip_on_launch", "false"),
resource.TestCheckResourceAttr(resourceName, "outpost_arn", ""),
acctest.CheckResourceAttrAccountID(resourceName, "owner_id"),
resource.TestCheckResourceAttrSet(resourceName, "private_dns_hostname_type_on_launch"),
Expand Down Expand Up @@ -444,7 +469,7 @@ resource "aws_default_subnet" "test" {
private_dns_hostname_type_on_launch = "ip-name"
# force-destroy so that the default VPC can have IPv6 disabled.
# force_destroy so that the default VPC can have IPv6 disabled.
force_destroy = true
depends_on = [aws_default_vpc.test]
Expand All @@ -463,10 +488,11 @@ resource "aws_default_subnet" "test" {
assign_ipv6_address_on_creation = true
ipv6_native = true
map_public_ip_on_launch = false
enable_resource_name_dns_aaaa_record_on_launch = true
# force-destroy so that the default VPC can have IPv6 disabled.
# force_destroy so that the default VPC can have IPv6 disabled.
force_destroy = true
depends_on = [aws_default_vpc.test]
Expand Down
37 changes: 31 additions & 6 deletions internal/service/ec2/default_vpc_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import (
"testing"

"github.com/aws/aws-sdk-go/aws"
"github.com/aws/aws-sdk-go/aws/endpoints"
"github.com/aws/aws-sdk-go/service/ec2"
sdkacctest "github.com/hashicorp/terraform-plugin-sdk/v2/helper/acctest"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
Expand Down Expand Up @@ -82,7 +83,11 @@ func testAccEC2DefaultVPC_Existing_basic(t *testing.T) {
resourceName := "aws_default_vpc.test"

resource.Test(t, resource.TestCase{
PreCheck: func() { acctest.PreCheck(t); testAccPreCheckDefaultVPCExists(t) },
PreCheck: func() {
acctest.PreCheck(t)
acctest.PreCheckRegionNot(t, endpoints.UsWest2RegionID, endpoints.UsGovWest1RegionID)
testAccPreCheckDefaultVPCExists(t)
},
ErrorCheck: acctest.ErrorCheck(t, ec2.EndpointsID),
Providers: acctest.Providers,
CheckDestroy: testAccCheckDefaultVPCDestroyExists,
Expand Down Expand Up @@ -125,7 +130,11 @@ func testAccEC2DefaultVPC_Existing_assignGeneratedIPv6CIDRBlock(t *testing.T) {
rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix)

resource.Test(t, resource.TestCase{
PreCheck: func() { acctest.PreCheck(t); testAccPreCheckDefaultVPCExists(t) },
PreCheck: func() {
acctest.PreCheck(t)
acctest.PreCheckRegionNot(t, endpoints.UsWest2RegionID, endpoints.UsGovWest1RegionID)
testAccPreCheckDefaultVPCExists(t)
},
ErrorCheck: acctest.ErrorCheck(t, ec2.EndpointsID),
Providers: acctest.Providers,
CheckDestroy: testAccCheckDefaultVPCDestroyExists,
Expand Down Expand Up @@ -168,7 +177,11 @@ func testAccEC2DefaultVPC_Existing_forceDestroy(t *testing.T) {
resourceName := "aws_default_vpc.test"

resource.Test(t, resource.TestCase{
PreCheck: func() { acctest.PreCheck(t); testAccPreCheckDefaultVPCExists(t) },
PreCheck: func() {
acctest.PreCheck(t)
acctest.PreCheckRegionNot(t, endpoints.UsWest2RegionID, endpoints.UsGovWest1RegionID)
testAccPreCheckDefaultVPCExists(t)
},
ErrorCheck: acctest.ErrorCheck(t, ec2.EndpointsID),
Providers: acctest.Providers,
CheckDestroy: testAccCheckDefaultVPCDestroyNotFound,
Expand All @@ -191,7 +204,11 @@ func testAccEC2DefaultVPC_NotFound_basic(t *testing.T) {
resourceName := "aws_default_vpc.test"

resource.Test(t, resource.TestCase{
PreCheck: func() { acctest.PreCheck(t); testAccPreCheckDefaultVPCNotFound(t) },
PreCheck: func() {
acctest.PreCheck(t)
acctest.PreCheckRegionNot(t, endpoints.UsWest2RegionID, endpoints.UsGovWest1RegionID)
testAccPreCheckDefaultVPCNotFound(t)
},
ErrorCheck: acctest.ErrorCheck(t, ec2.EndpointsID),
Providers: acctest.Providers,
CheckDestroy: testAccCheckDefaultVPCDestroyExists,
Expand Down Expand Up @@ -234,7 +251,11 @@ func testAccEC2DefaultVPC_NotFound_assignGeneratedIPv6CIDRBlock(t *testing.T) {
rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix)

resource.Test(t, resource.TestCase{
PreCheck: func() { acctest.PreCheck(t); testAccPreCheckDefaultVPCNotFound(t) },
PreCheck: func() {
acctest.PreCheck(t)
acctest.PreCheckRegionNot(t, endpoints.UsWest2RegionID, endpoints.UsGovWest1RegionID)
testAccPreCheckDefaultVPCNotFound(t)
},
ErrorCheck: acctest.ErrorCheck(t, ec2.EndpointsID),
Providers: acctest.Providers,
CheckDestroy: testAccCheckDefaultVPCDestroyExists,
Expand Down Expand Up @@ -277,7 +298,11 @@ func testAccEC2DefaultVPC_NotFound_forceDestroy(t *testing.T) {
resourceName := "aws_default_vpc.test"

resource.Test(t, resource.TestCase{
PreCheck: func() { acctest.PreCheck(t); testAccPreCheckDefaultVPCNotFound(t) },
PreCheck: func() {
acctest.PreCheck(t)
acctest.PreCheckRegionNot(t, endpoints.UsWest2RegionID, endpoints.UsGovWest1RegionID)
testAccPreCheckDefaultVPCNotFound(t)
},
ErrorCheck: acctest.ErrorCheck(t, ec2.EndpointsID),
Providers: acctest.Providers,
CheckDestroy: testAccCheckDefaultVPCDestroyNotFound,
Expand Down

0 comments on commit 02574a0

Please sign in to comment.