provider/aws: Fix aws_api_gateway acceptance test

Fixes the `TestAccAwsAPIGatewayMethod_customauthorizer` acceptance test which would previously fail if the iam_role resources would leak

```
$ make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAwsAPIGatewayMethod_customauthorizer'
==> Checking that code complies with gofmt requirements...
go generate $(go list ./... | grep -v /terraform/vendor/)
2017/02/09 09:10:07 Generated command/internal_plugin_list.go
TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAwsAPIGatewayMethod_customauthorizer -timeout 120m
PASS
ok      github.com/hashicorp/terraform/builtin/providers/aws    0.022s
```
This commit is contained in:
Jake Champlin 2017-02-09 09:11:55 -05:00
parent 103ce56e70
commit cf4b175ac1
No known key found for this signature in database
GPG Key ID: DC31F41958EF4AC2
1 changed files with 13 additions and 10 deletions

View File

@ -8,6 +8,7 @@ import (
"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/aws/awserr"
"github.com/aws/aws-sdk-go/service/apigateway" "github.com/aws/aws-sdk-go/service/apigateway"
"github.com/hashicorp/terraform/helper/acctest"
"github.com/hashicorp/terraform/helper/resource" "github.com/hashicorp/terraform/helper/resource"
"github.com/hashicorp/terraform/terraform" "github.com/hashicorp/terraform/terraform"
) )
@ -20,7 +21,7 @@ func TestAccAWSAPIGatewayMethod_basic(t *testing.T) {
Providers: testAccProviders, Providers: testAccProviders,
CheckDestroy: testAccCheckAWSAPIGatewayMethodDestroy, CheckDestroy: testAccCheckAWSAPIGatewayMethodDestroy,
Steps: []resource.TestStep{ Steps: []resource.TestStep{
resource.TestStep{ {
Config: testAccAWSAPIGatewayMethodConfig, Config: testAccAWSAPIGatewayMethodConfig,
Check: resource.ComposeTestCheckFunc( Check: resource.ComposeTestCheckFunc(
testAccCheckAWSAPIGatewayMethodExists("aws_api_gateway_method.test", &conf), testAccCheckAWSAPIGatewayMethodExists("aws_api_gateway_method.test", &conf),
@ -34,7 +35,7 @@ func TestAccAWSAPIGatewayMethod_basic(t *testing.T) {
), ),
}, },
resource.TestStep{ {
Config: testAccAWSAPIGatewayMethodConfigUpdate, Config: testAccAWSAPIGatewayMethodConfigUpdate,
Check: resource.ComposeTestCheckFunc( Check: resource.ComposeTestCheckFunc(
testAccCheckAWSAPIGatewayMethodExists("aws_api_gateway_method.test", &conf), testAccCheckAWSAPIGatewayMethodExists("aws_api_gateway_method.test", &conf),
@ -47,14 +48,15 @@ func TestAccAWSAPIGatewayMethod_basic(t *testing.T) {
func TestAccAWSAPIGatewayMethod_customauthorizer(t *testing.T) { func TestAccAWSAPIGatewayMethod_customauthorizer(t *testing.T) {
var conf apigateway.Method var conf apigateway.Method
rInt := acctest.RandInt()
resource.Test(t, resource.TestCase{ resource.Test(t, resource.TestCase{
PreCheck: func() { testAccPreCheck(t) }, PreCheck: func() { testAccPreCheck(t) },
Providers: testAccProviders, Providers: testAccProviders,
CheckDestroy: testAccCheckAWSAPIGatewayMethodDestroy, CheckDestroy: testAccCheckAWSAPIGatewayMethodDestroy,
Steps: []resource.TestStep{ Steps: []resource.TestStep{
resource.TestStep{ {
Config: testAccAWSAPIGatewayMethodConfigWithCustomAuthorizer, Config: testAccAWSAPIGatewayMethodConfigWithCustomAuthorizer(rInt),
Check: resource.ComposeTestCheckFunc( Check: resource.ComposeTestCheckFunc(
testAccCheckAWSAPIGatewayMethodExists("aws_api_gateway_method.test", &conf), testAccCheckAWSAPIGatewayMethodExists("aws_api_gateway_method.test", &conf),
testAccCheckAWSAPIGatewayMethodAttributes(&conf), testAccCheckAWSAPIGatewayMethodAttributes(&conf),
@ -69,7 +71,7 @@ func TestAccAWSAPIGatewayMethod_customauthorizer(t *testing.T) {
), ),
}, },
resource.TestStep{ {
Config: testAccAWSAPIGatewayMethodConfigUpdate, Config: testAccAWSAPIGatewayMethodConfigUpdate,
Check: resource.ComposeTestCheckFunc( Check: resource.ComposeTestCheckFunc(
testAccCheckAWSAPIGatewayMethodExists("aws_api_gateway_method.test", &conf), testAccCheckAWSAPIGatewayMethodExists("aws_api_gateway_method.test", &conf),
@ -194,13 +196,14 @@ func testAccCheckAWSAPIGatewayMethodDestroy(s *terraform.State) error {
return nil return nil
} }
const testAccAWSAPIGatewayMethodConfigWithCustomAuthorizer = ` func testAccAWSAPIGatewayMethodConfigWithCustomAuthorizer(rInt int) string {
return fmt.Sprintf(`
resource "aws_api_gateway_rest_api" "test" { resource "aws_api_gateway_rest_api" "test" {
name = "tf-acc-test-custom-auth" name = "tf-acc-test-custom-auth"
} }
resource "aws_iam_role" "invocation_role" { resource "aws_iam_role" "invocation_role" {
name = "tf_acc_api_gateway_auth_invocation_role" name = "tf_acc_api_gateway_auth_invocation_role-%d"
path = "/" path = "/"
assume_role_policy = <<EOF assume_role_policy = <<EOF
{ {
@ -220,7 +223,7 @@ EOF
} }
resource "aws_iam_role_policy" "invocation_policy" { resource "aws_iam_role_policy" "invocation_policy" {
name = "default" name = "tf-acc-api-gateway-%d"
role = "${aws_iam_role.invocation_role.id}" role = "${aws_iam_role.invocation_role.id}"
policy = <<EOF policy = <<EOF
{ {
@ -237,7 +240,7 @@ EOF
} }
resource "aws_iam_role" "iam_for_lambda" { resource "aws_iam_role" "iam_for_lambda" {
name = "tf_acc_iam_for_lambda_api_gateway_authorizer" name = "tf_acc_iam_for_lambda_api_gateway_authorizer-%d"
assume_role_policy = <<EOF assume_role_policy = <<EOF
{ {
"Version": "2012-10-17", "Version": "2012-10-17",
@ -292,8 +295,8 @@ resource "aws_api_gateway_method" "test" {
"method.request.header.Content-Type" = false "method.request.header.Content-Type" = false
"method.request.querystring.page" = true "method.request.querystring.page" = true
} }
}`, rInt, rInt, rInt)
} }
`
const testAccAWSAPIGatewayMethodConfig = ` const testAccAWSAPIGatewayMethodConfig = `
resource "aws_api_gateway_rest_api" "test" { resource "aws_api_gateway_rest_api" "test" {