From 8a963ff50d68e8ad276530b7178726673349504c Mon Sep 17 00:00:00 2001 From: shuheiktgw Date: Tue, 15 Dec 2020 19:52:07 +0900 Subject: [PATCH] Add TestAccAWSCodeStarConnectionsConnection_disappears --- ...urce_aws_codestarconnections_connection.go | 6 +-- ...aws_codestarconnections_connection_test.go | 44 +++++++++++++++++++ 2 files changed, 47 insertions(+), 3 deletions(-) diff --git a/aws/resource_aws_codestarconnections_connection.go b/aws/resource_aws_codestarconnections_connection.go index 80e0cea08de..16ffe5d4e86 100644 --- a/aws/resource_aws_codestarconnections_connection.go +++ b/aws/resource_aws_codestarconnections_connection.go @@ -37,9 +37,9 @@ func resourceAwsCodeStarConnectionsConnection() *schema.Resource { }, "provider_type": { - Type: schema.TypeString, - Required: true, - ForceNew: true, + Type: schema.TypeString, + Required: true, + ForceNew: true, ValidateFunc: validation.StringInSlice(codestarconnections.ProviderType_Values(), false), }, }, diff --git a/aws/resource_aws_codestarconnections_connection_test.go b/aws/resource_aws_codestarconnections_connection_test.go index 5ad64f8de71..a0d4ae99a78 100644 --- a/aws/resource_aws_codestarconnections_connection_test.go +++ b/aws/resource_aws_codestarconnections_connection_test.go @@ -1,6 +1,7 @@ package aws import ( + "errors" "fmt" "regexp" "testing" @@ -24,6 +25,7 @@ func TestAccAWSCodeStarConnectionsConnection_Basic(t *testing.T) { { Config: testAccAWSCodeStarConnectionsConnectionConfigBasic(rName), Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAWSCodeStarConnectionsConnectionExists(resourceName), testAccMatchResourceAttrRegionalARN(resourceName, "id", "codestar-connections", regexp.MustCompile("connection/.+")), testAccMatchResourceAttrRegionalARN(resourceName, "arn", "codestar-connections", regexp.MustCompile("connection/.+")), resource.TestCheckResourceAttr(resourceName, "provider_type", codestarconnections.ProviderTypeBitbucket), @@ -40,6 +42,48 @@ func TestAccAWSCodeStarConnectionsConnection_Basic(t *testing.T) { }) } +func TestAccAWSCodeStarConnectionsConnection_disappears(t *testing.T) { + resourceName := "aws_codestarconnections_connection.test" + rName := acctest.RandomWithPrefix("tf-acc-test") + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { testAccPreCheck(t) }, + Providers: testAccProviders, + CheckDestroy: testAccCheckAWSCodeStarConnectionsConnectionDestroy, + Steps: []resource.TestStep{ + { + Config: testAccAWSCodeStarConnectionsConnectionConfigBasic(rName), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckAWSCodeStarConnectionsConnectionExists(resourceName), + testAccCheckResourceDisappears(testAccProvider, resourceAwsCodeStarConnectionsConnection(), resourceName), + ), + ExpectNonEmptyPlan: true, + }, + }, + }) +} + +func testAccCheckAWSCodeStarConnectionsConnectionExists(n string) resource.TestCheckFunc { + return func(s *terraform.State) error { + rs, ok := s.RootModule().Resources[n] + if !ok { + return fmt.Errorf("Not found: %s", n) + } + + if rs.Primary.ID == "" { + return errors.New("No CodeStar connection ID is set") + } + + conn := testAccProvider.Meta().(*AWSClient).codestarconnectionsconn + + _, err := conn.GetConnection(&codestarconnections.GetConnectionInput{ + ConnectionArn: aws.String(rs.Primary.ID), + }) + + return err + } +} + func testAccCheckAWSCodeStarConnectionsConnectionDestroy(s *terraform.State) error { conn := testAccProvider.Meta().(*AWSClient).codestarconnectionsconn