provider/aws: Fixing up acceptance tests after seeing concurrent (#10362)

failures

* codecommit
* cloudwatch_logs
This commit is contained in:
Paul Stack 2016-11-25 12:50:19 +00:00 committed by GitHub
parent bbf133fd21
commit 3d3609c271
3 changed files with 63 additions and 37 deletions

View File

@ -3,11 +3,13 @@ package aws
import ( import (
"testing" "testing"
"github.com/hashicorp/terraform/helper/acctest"
"github.com/hashicorp/terraform/helper/resource" "github.com/hashicorp/terraform/helper/resource"
) )
func TestAccAWSCloudWatchLogGroup_importBasic(t *testing.T) { func TestAccAWSCloudWatchLogGroup_importBasic(t *testing.T) {
resourceName := "aws_cloudwatch_log_group.foobar" resourceName := "aws_cloudwatch_log_group.foobar"
rInt := acctest.RandInt()
resource.Test(t, resource.TestCase{ resource.Test(t, resource.TestCase{
PreCheck: func() { testAccPreCheck(t) }, PreCheck: func() { testAccPreCheck(t) },
@ -15,7 +17,7 @@ func TestAccAWSCloudWatchLogGroup_importBasic(t *testing.T) {
CheckDestroy: testAccCheckAWSCloudWatchLogGroupDestroy, CheckDestroy: testAccCheckAWSCloudWatchLogGroupDestroy,
Steps: []resource.TestStep{ Steps: []resource.TestStep{
resource.TestStep{ resource.TestStep{
Config: testAccAWSCloudWatchLogGroupConfig, Config: testAccAWSCloudWatchLogGroupConfig(rInt),
}, },
resource.TestStep{ resource.TestStep{

View File

@ -5,12 +5,14 @@ import (
"testing" "testing"
"github.com/aws/aws-sdk-go/service/cloudwatchlogs" "github.com/aws/aws-sdk-go/service/cloudwatchlogs"
"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"
) )
func TestAccAWSCloudWatchLogGroup_basic(t *testing.T) { func TestAccAWSCloudWatchLogGroup_basic(t *testing.T) {
var lg cloudwatchlogs.LogGroup var lg cloudwatchlogs.LogGroup
rInt := acctest.RandInt()
resource.Test(t, resource.TestCase{ resource.Test(t, resource.TestCase{
PreCheck: func() { testAccPreCheck(t) }, PreCheck: func() { testAccPreCheck(t) },
@ -18,7 +20,7 @@ func TestAccAWSCloudWatchLogGroup_basic(t *testing.T) {
CheckDestroy: testAccCheckAWSCloudWatchLogGroupDestroy, CheckDestroy: testAccCheckAWSCloudWatchLogGroupDestroy,
Steps: []resource.TestStep{ Steps: []resource.TestStep{
resource.TestStep{ resource.TestStep{
Config: testAccAWSCloudWatchLogGroupConfig, Config: testAccAWSCloudWatchLogGroupConfig(rInt),
Check: resource.ComposeTestCheckFunc( Check: resource.ComposeTestCheckFunc(
testAccCheckCloudWatchLogGroupExists("aws_cloudwatch_log_group.foobar", &lg), testAccCheckCloudWatchLogGroupExists("aws_cloudwatch_log_group.foobar", &lg),
resource.TestCheckResourceAttr("aws_cloudwatch_log_group.foobar", "retention_in_days", "0"), resource.TestCheckResourceAttr("aws_cloudwatch_log_group.foobar", "retention_in_days", "0"),
@ -30,6 +32,7 @@ func TestAccAWSCloudWatchLogGroup_basic(t *testing.T) {
func TestAccAWSCloudWatchLogGroup_retentionPolicy(t *testing.T) { func TestAccAWSCloudWatchLogGroup_retentionPolicy(t *testing.T) {
var lg cloudwatchlogs.LogGroup var lg cloudwatchlogs.LogGroup
rInt := acctest.RandInt()
resource.Test(t, resource.TestCase{ resource.Test(t, resource.TestCase{
PreCheck: func() { testAccPreCheck(t) }, PreCheck: func() { testAccPreCheck(t) },
@ -37,14 +40,14 @@ func TestAccAWSCloudWatchLogGroup_retentionPolicy(t *testing.T) {
CheckDestroy: testAccCheckAWSCloudWatchLogGroupDestroy, CheckDestroy: testAccCheckAWSCloudWatchLogGroupDestroy,
Steps: []resource.TestStep{ Steps: []resource.TestStep{
resource.TestStep{ resource.TestStep{
Config: testAccAWSCloudWatchLogGroupConfig_withRetention, Config: testAccAWSCloudWatchLogGroupConfig_withRetention(rInt),
Check: resource.ComposeTestCheckFunc( Check: resource.ComposeTestCheckFunc(
testAccCheckCloudWatchLogGroupExists("aws_cloudwatch_log_group.foobar", &lg), testAccCheckCloudWatchLogGroupExists("aws_cloudwatch_log_group.foobar", &lg),
resource.TestCheckResourceAttr("aws_cloudwatch_log_group.foobar", "retention_in_days", "365"), resource.TestCheckResourceAttr("aws_cloudwatch_log_group.foobar", "retention_in_days", "365"),
), ),
}, },
resource.TestStep{ resource.TestStep{
Config: testAccAWSCloudWatchLogGroupConfigModified_withRetention, Config: testAccAWSCloudWatchLogGroupConfigModified_withRetention(rInt),
Check: resource.ComposeTestCheckFunc( Check: resource.ComposeTestCheckFunc(
testAccCheckCloudWatchLogGroupExists("aws_cloudwatch_log_group.foobar", &lg), testAccCheckCloudWatchLogGroupExists("aws_cloudwatch_log_group.foobar", &lg),
resource.TestCheckResourceAttr("aws_cloudwatch_log_group.foobar", "retention_in_days", "0"), resource.TestCheckResourceAttr("aws_cloudwatch_log_group.foobar", "retention_in_days", "0"),
@ -56,6 +59,7 @@ func TestAccAWSCloudWatchLogGroup_retentionPolicy(t *testing.T) {
func TestAccAWSCloudWatchLogGroup_multiple(t *testing.T) { func TestAccAWSCloudWatchLogGroup_multiple(t *testing.T) {
var lg cloudwatchlogs.LogGroup var lg cloudwatchlogs.LogGroup
rInt := acctest.RandInt()
resource.Test(t, resource.TestCase{ resource.Test(t, resource.TestCase{
PreCheck: func() { testAccPreCheck(t) }, PreCheck: func() { testAccPreCheck(t) },
@ -63,7 +67,7 @@ func TestAccAWSCloudWatchLogGroup_multiple(t *testing.T) {
CheckDestroy: testAccCheckAWSCloudWatchLogGroupDestroy, CheckDestroy: testAccCheckAWSCloudWatchLogGroupDestroy,
Steps: []resource.TestStep{ Steps: []resource.TestStep{
resource.TestStep{ resource.TestStep{
Config: testAccAWSCloudWatchLogGroupConfig_multiple, Config: testAccAWSCloudWatchLogGroupConfig_multiple(rInt),
Check: resource.ComposeTestCheckFunc( Check: resource.ComposeTestCheckFunc(
testAccCheckCloudWatchLogGroupExists("aws_cloudwatch_log_group.alpha", &lg), testAccCheckCloudWatchLogGroupExists("aws_cloudwatch_log_group.alpha", &lg),
resource.TestCheckResourceAttr("aws_cloudwatch_log_group.alpha", "retention_in_days", "14"), resource.TestCheckResourceAttr("aws_cloudwatch_log_group.alpha", "retention_in_days", "14"),
@ -79,6 +83,7 @@ func TestAccAWSCloudWatchLogGroup_multiple(t *testing.T) {
func TestAccAWSCloudWatchLogGroup_disappears(t *testing.T) { func TestAccAWSCloudWatchLogGroup_disappears(t *testing.T) {
var lg cloudwatchlogs.LogGroup var lg cloudwatchlogs.LogGroup
rInt := acctest.RandInt()
resource.Test(t, resource.TestCase{ resource.Test(t, resource.TestCase{
PreCheck: func() { testAccPreCheck(t) }, PreCheck: func() { testAccPreCheck(t) },
@ -86,7 +91,7 @@ func TestAccAWSCloudWatchLogGroup_disappears(t *testing.T) {
CheckDestroy: testAccCheckAWSCloudWatchLogGroupDestroy, CheckDestroy: testAccCheckAWSCloudWatchLogGroupDestroy,
Steps: []resource.TestStep{ Steps: []resource.TestStep{
resource.TestStep{ resource.TestStep{
Config: testAccAWSCloudWatchLogGroupConfig, Config: testAccAWSCloudWatchLogGroupConfig(rInt),
Check: resource.ComposeTestCheckFunc( Check: resource.ComposeTestCheckFunc(
testAccCheckCloudWatchLogGroupExists("aws_cloudwatch_log_group.foobar", &lg), testAccCheckCloudWatchLogGroupExists("aws_cloudwatch_log_group.foobar", &lg),
testAccCheckCloudWatchLogGroupDisappears(&lg), testAccCheckCloudWatchLogGroupDisappears(&lg),
@ -153,35 +158,43 @@ func testAccCheckAWSCloudWatchLogGroupDestroy(s *terraform.State) error {
return nil return nil
} }
var testAccAWSCloudWatchLogGroupConfig = ` func testAccAWSCloudWatchLogGroupConfig(rInt int) string {
return fmt.Sprintf(`
resource "aws_cloudwatch_log_group" "foobar" { resource "aws_cloudwatch_log_group" "foobar" {
name = "foo-bar" name = "foo-bar-%d"
}
`, rInt)
} }
`
var testAccAWSCloudWatchLogGroupConfig_withRetention = ` func testAccAWSCloudWatchLogGroupConfig_withRetention(rInt int) string {
return fmt.Sprintf(`
resource "aws_cloudwatch_log_group" "foobar" { resource "aws_cloudwatch_log_group" "foobar" {
name = "foo-bang" name = "foo-bar-%d"
retention_in_days = 365 retention_in_days = 365
} }
` `, rInt)
var testAccAWSCloudWatchLogGroupConfigModified_withRetention = `
resource "aws_cloudwatch_log_group" "foobar" {
name = "foo-bang"
} }
`
var testAccAWSCloudWatchLogGroupConfig_multiple = ` func testAccAWSCloudWatchLogGroupConfigModified_withRetention(rInt int) string {
return fmt.Sprintf(`
resource "aws_cloudwatch_log_group" "foobar" {
name = "foo-bar-%d"
}
`, rInt)
}
func testAccAWSCloudWatchLogGroupConfig_multiple(rInt int) string {
return fmt.Sprintf(`
resource "aws_cloudwatch_log_group" "alpha" { resource "aws_cloudwatch_log_group" "alpha" {
name = "foo-bar" name = "foo-bar-%d"
retention_in_days = 14 retention_in_days = 14
} }
resource "aws_cloudwatch_log_group" "beta" { resource "aws_cloudwatch_log_group" "beta" {
name = "foo-bara" name = "foo-bar-%d"
} }
resource "aws_cloudwatch_log_group" "charlie" { resource "aws_cloudwatch_log_group" "charlie" {
name = "foo-baraa" name = "foo-bar-%d"
retention_in_days = 3653 retention_in_days = 3653
} }
` `, rInt, rInt, rInt)
}

View File

@ -7,18 +7,20 @@ 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/codecommit" "github.com/aws/aws-sdk-go/service/codecommit"
"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"
) )
func TestAccAWSCodeCommitRepository_basic(t *testing.T) { func TestAccAWSCodeCommitRepository_basic(t *testing.T) {
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: testAccCheckCodeCommitRepositoryDestroy, CheckDestroy: testAccCheckCodeCommitRepositoryDestroy,
Steps: []resource.TestStep{ Steps: []resource.TestStep{
resource.TestStep{ resource.TestStep{
Config: testAccCodeCommitRepository_basic, Config: testAccCodeCommitRepository_basic(rInt),
Check: resource.ComposeTestCheckFunc( Check: resource.ComposeTestCheckFunc(
testAccCheckCodeCommitRepositoryExists("aws_codecommit_repository.test"), testAccCheckCodeCommitRepositoryExists("aws_codecommit_repository.test"),
), ),
@ -28,13 +30,14 @@ func TestAccAWSCodeCommitRepository_basic(t *testing.T) {
} }
func TestAccAWSCodeCommitRepository_withChanges(t *testing.T) { func TestAccAWSCodeCommitRepository_withChanges(t *testing.T) {
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: testAccCheckCodeCommitRepositoryDestroy, CheckDestroy: testAccCheckCodeCommitRepositoryDestroy,
Steps: []resource.TestStep{ Steps: []resource.TestStep{
resource.TestStep{ resource.TestStep{
Config: testAccCodeCommitRepository_basic, Config: testAccCodeCommitRepository_basic(rInt),
Check: resource.ComposeTestCheckFunc( Check: resource.ComposeTestCheckFunc(
testAccCheckCodeCommitRepositoryExists("aws_codecommit_repository.test"), testAccCheckCodeCommitRepositoryExists("aws_codecommit_repository.test"),
resource.TestCheckResourceAttr( resource.TestCheckResourceAttr(
@ -42,7 +45,7 @@ func TestAccAWSCodeCommitRepository_withChanges(t *testing.T) {
), ),
}, },
resource.TestStep{ resource.TestStep{
Config: testAccCodeCommitRepository_withChanges, Config: testAccCodeCommitRepository_withChanges(rInt),
Check: resource.ComposeTestCheckFunc( Check: resource.ComposeTestCheckFunc(
testAccCheckCodeCommitRepositoryExists("aws_codecommit_repository.test"), testAccCheckCodeCommitRepositoryExists("aws_codecommit_repository.test"),
resource.TestCheckResourceAttr( resource.TestCheckResourceAttr(
@ -54,13 +57,14 @@ func TestAccAWSCodeCommitRepository_withChanges(t *testing.T) {
} }
func TestAccAWSCodeCommitRepository_create_default_branch(t *testing.T) { func TestAccAWSCodeCommitRepository_create_default_branch(t *testing.T) {
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: testAccCheckCodeCommitRepositoryDestroy, CheckDestroy: testAccCheckCodeCommitRepositoryDestroy,
Steps: []resource.TestStep{ Steps: []resource.TestStep{
resource.TestStep{ resource.TestStep{
Config: testAccCodeCommitRepository_with_default_branch, Config: testAccCodeCommitRepository_with_default_branch(rInt),
Check: resource.ComposeTestCheckFunc( Check: resource.ComposeTestCheckFunc(
testAccCheckCodeCommitRepositoryExists("aws_codecommit_repository.test"), testAccCheckCodeCommitRepositoryExists("aws_codecommit_repository.test"),
resource.TestCheckResourceAttr( resource.TestCheckResourceAttr(
@ -72,13 +76,14 @@ func TestAccAWSCodeCommitRepository_create_default_branch(t *testing.T) {
} }
func TestAccAWSCodeCommitRepository_create_and_update_default_branch(t *testing.T) { func TestAccAWSCodeCommitRepository_create_and_update_default_branch(t *testing.T) {
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: testAccCheckCodeCommitRepositoryDestroy, CheckDestroy: testAccCheckCodeCommitRepositoryDestroy,
Steps: []resource.TestStep{ Steps: []resource.TestStep{
resource.TestStep{ resource.TestStep{
Config: testAccCodeCommitRepository_basic, Config: testAccCodeCommitRepository_basic(rInt),
Check: resource.ComposeTestCheckFunc( Check: resource.ComposeTestCheckFunc(
testAccCheckCodeCommitRepositoryExists("aws_codecommit_repository.test"), testAccCheckCodeCommitRepositoryExists("aws_codecommit_repository.test"),
resource.TestCheckResourceAttr( resource.TestCheckResourceAttr(
@ -86,7 +91,7 @@ func TestAccAWSCodeCommitRepository_create_and_update_default_branch(t *testing.
), ),
}, },
resource.TestStep{ resource.TestStep{
Config: testAccCodeCommitRepository_with_default_branch, Config: testAccCodeCommitRepository_with_default_branch(rInt),
Check: resource.ComposeTestCheckFunc( Check: resource.ComposeTestCheckFunc(
testAccCheckCodeCommitRepositoryExists("aws_codecommit_repository.test"), testAccCheckCodeCommitRepositoryExists("aws_codecommit_repository.test"),
resource.TestCheckResourceAttr( resource.TestCheckResourceAttr(
@ -154,33 +159,39 @@ func testAccCheckCodeCommitRepositoryDestroy(s *terraform.State) error {
return nil return nil
} }
const testAccCodeCommitRepository_basic = ` func testAccCodeCommitRepository_basic(rInt int) string {
return fmt.Sprintf(`
provider "aws" { provider "aws" {
region = "us-east-1" region = "us-east-1"
} }
resource "aws_codecommit_repository" "test" { resource "aws_codecommit_repository" "test" {
repository_name = "my_test_repository" repository_name = "test_repository_%d"
description = "This is a test description" description = "This is a test description"
} }
` `, rInt)
}
const testAccCodeCommitRepository_withChanges = ` func testAccCodeCommitRepository_withChanges(rInt int) string {
return fmt.Sprintf(`
provider "aws" { provider "aws" {
region = "us-east-1" region = "us-east-1"
} }
resource "aws_codecommit_repository" "test" { resource "aws_codecommit_repository" "test" {
repository_name = "my_test_repository" repository_name = "test_repository_%d"
description = "This is a test description - with changes" description = "This is a test description - with changes"
} }
` `, rInt)
}
const testAccCodeCommitRepository_with_default_branch = ` func testAccCodeCommitRepository_with_default_branch(rInt int) string {
return fmt.Sprintf(`
provider "aws" { provider "aws" {
region = "us-east-1" region = "us-east-1"
} }
resource "aws_codecommit_repository" "test" { resource "aws_codecommit_repository" "test" {
repository_name = "my_test_repository" repository_name = "test_repository_%d"
description = "This is a test description" description = "This is a test description"
default_branch = "master" default_branch = "master"
} }
` `, rInt)
}