provider/aws: fix cookie stickiness policy test destroys

This commit is contained in:
Paul Hinze 2015-12-21 21:23:57 -06:00
parent 67832f6bd0
commit 1d5c65fa86
2 changed files with 49 additions and 5 deletions

View File

@ -5,6 +5,7 @@ import (
"testing" "testing"
"github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/aws"
"github.com/aws/aws-sdk-go/aws/awserr"
"github.com/aws/aws-sdk-go/service/elb" "github.com/aws/aws-sdk-go/service/elb"
"github.com/hashicorp/terraform/helper/resource" "github.com/hashicorp/terraform/helper/resource"
@ -40,10 +41,31 @@ func TestAccAWSAppCookieStickinessPolicy_basic(t *testing.T) {
} }
func testAccCheckAppCookieStickinessPolicyDestroy(s *terraform.State) error { func testAccCheckAppCookieStickinessPolicyDestroy(s *terraform.State) error {
if len(s.RootModule().Resources) > 0 { conn := testAccProvider.Meta().(*AWSClient).elbconn
return fmt.Errorf("Expected all resources to be gone, but found: %#v", s.RootModule().Resources)
for _, rs := range s.RootModule().Resources {
if rs.Type != "aws_app_cookie_stickiness_policy" {
continue
} }
lbName, _, policyName := resourceAwsAppCookieStickinessPolicyParseId(
rs.Primary.ID)
out, err := conn.DescribeLoadBalancerPolicies(
&elb.DescribeLoadBalancerPoliciesInput{
LoadBalancerName: aws.String(lbName),
PolicyNames: []*string{aws.String(policyName)},
})
if err != nil {
if ec2err, ok := err.(awserr.Error); ok && (ec2err.Code() == "PolicyNotFound" || ec2err.Code() == "LoadBalancerNotFound") {
continue
}
return err
}
if len(out.PolicyDescriptions) > 0 {
return fmt.Errorf("Policy still exists")
}
}
return nil return nil
} }

View File

@ -5,6 +5,7 @@ import (
"testing" "testing"
"github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/aws"
"github.com/aws/aws-sdk-go/aws/awserr"
"github.com/aws/aws-sdk-go/service/elb" "github.com/aws/aws-sdk-go/service/elb"
"github.com/hashicorp/terraform/helper/resource" "github.com/hashicorp/terraform/helper/resource"
@ -40,8 +41,29 @@ func TestAccAWSLBCookieStickinessPolicy_basic(t *testing.T) {
} }
func testAccCheckLBCookieStickinessPolicyDestroy(s *terraform.State) error { func testAccCheckLBCookieStickinessPolicyDestroy(s *terraform.State) error {
if len(s.RootModule().Resources) > 0 { conn := testAccProvider.Meta().(*AWSClient).elbconn
return fmt.Errorf("Expected all resources to be gone, but found: %#v", s.RootModule().Resources)
for _, rs := range s.RootModule().Resources {
if rs.Type != "aws_lb_cookie_stickiness_policy" {
continue
}
lbName, _, policyName := resourceAwsLBCookieStickinessPolicyParseId(rs.Primary.ID)
out, err := conn.DescribeLoadBalancerPolicies(
&elb.DescribeLoadBalancerPoliciesInput{
LoadBalancerName: aws.String(lbName),
PolicyNames: []*string{aws.String(policyName)},
})
if err != nil {
if ec2err, ok := err.(awserr.Error); ok && (ec2err.Code() == "PolicyNotFound" || ec2err.Code() == "LoadBalancerNotFound") {
continue
}
return err
}
if len(out.PolicyDescriptions) > 0 {
return fmt.Errorf("Policy still exists")
}
} }
return nil return nil