provider/aws: Randomize ElastiCache param group name. Fixes TestAccAWSElasticacheParameterGroupOnly,

TestAccAWSElasticacheParameterGroup_basic, TestAccAWSElasticacheParameterGroup_importBasic
This commit is contained in:
clint shryock 2017-04-05 13:01:17 -05:00
parent 114856ec9a
commit 403e48f1cf
2 changed files with 30 additions and 21 deletions

View File

@ -1,13 +1,16 @@
package aws package aws
import ( import (
"fmt"
"testing" "testing"
"github.com/hashicorp/terraform/helper/acctest"
"github.com/hashicorp/terraform/helper/resource" "github.com/hashicorp/terraform/helper/resource"
) )
func TestAccAWSElasticacheParameterGroup_importBasic(t *testing.T) { func TestAccAWSElasticacheParameterGroup_importBasic(t *testing.T) {
resourceName := "aws_elasticache_parameter_group.bar" resourceName := "aws_elasticache_parameter_group.bar"
rName := fmt.Sprintf("parameter-group-test-terraform-%d", acctest.RandInt())
resource.Test(t, resource.TestCase{ resource.Test(t, resource.TestCase{
PreCheck: func() { testAccPreCheck(t) }, PreCheck: func() { testAccPreCheck(t) },
@ -15,7 +18,7 @@ func TestAccAWSElasticacheParameterGroup_importBasic(t *testing.T) {
CheckDestroy: testAccCheckAWSElasticacheParameterGroupDestroy, CheckDestroy: testAccCheckAWSElasticacheParameterGroupDestroy,
Steps: []resource.TestStep{ Steps: []resource.TestStep{
resource.TestStep{ resource.TestStep{
Config: testAccAWSElasticacheParameterGroupConfig, Config: testAccAWSElasticacheParameterGroupConfig(rName),
}, },
resource.TestStep{ resource.TestStep{

View File

@ -7,12 +7,14 @@ 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/elasticache" "github.com/aws/aws-sdk-go/service/elasticache"
"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 TestAccAWSElasticacheParameterGroup_basic(t *testing.T) { func TestAccAWSElasticacheParameterGroup_basic(t *testing.T) {
var v elasticache.CacheParameterGroup var v elasticache.CacheParameterGroup
rName := fmt.Sprintf("parameter-group-test-terraform-%d", acctest.RandInt())
resource.Test(t, resource.TestCase{ resource.Test(t, resource.TestCase{
PreCheck: func() { testAccPreCheck(t) }, PreCheck: func() { testAccPreCheck(t) },
@ -20,12 +22,12 @@ func TestAccAWSElasticacheParameterGroup_basic(t *testing.T) {
CheckDestroy: testAccCheckAWSElasticacheParameterGroupDestroy, CheckDestroy: testAccCheckAWSElasticacheParameterGroupDestroy,
Steps: []resource.TestStep{ Steps: []resource.TestStep{
resource.TestStep{ resource.TestStep{
Config: testAccAWSElasticacheParameterGroupConfig, Config: testAccAWSElasticacheParameterGroupConfig(rName),
Check: resource.ComposeTestCheckFunc( Check: resource.ComposeTestCheckFunc(
testAccCheckAWSElasticacheParameterGroupExists("aws_elasticache_parameter_group.bar", &v), testAccCheckAWSElasticacheParameterGroupExists("aws_elasticache_parameter_group.bar", &v),
testAccCheckAWSElasticacheParameterGroupAttributes(&v), testAccCheckAWSElasticacheParameterGroupAttributes(&v, rName),
resource.TestCheckResourceAttr( resource.TestCheckResourceAttr(
"aws_elasticache_parameter_group.bar", "name", "parameter-group-test-terraform"), "aws_elasticache_parameter_group.bar", "name", rName),
resource.TestCheckResourceAttr( resource.TestCheckResourceAttr(
"aws_elasticache_parameter_group.bar", "family", "redis2.8"), "aws_elasticache_parameter_group.bar", "family", "redis2.8"),
resource.TestCheckResourceAttr( resource.TestCheckResourceAttr(
@ -37,12 +39,12 @@ func TestAccAWSElasticacheParameterGroup_basic(t *testing.T) {
), ),
}, },
resource.TestStep{ resource.TestStep{
Config: testAccAWSElasticacheParameterGroupAddParametersConfig, Config: testAccAWSElasticacheParameterGroupAddParametersConfig(rName),
Check: resource.ComposeTestCheckFunc( Check: resource.ComposeTestCheckFunc(
testAccCheckAWSElasticacheParameterGroupExists("aws_elasticache_parameter_group.bar", &v), testAccCheckAWSElasticacheParameterGroupExists("aws_elasticache_parameter_group.bar", &v),
testAccCheckAWSElasticacheParameterGroupAttributes(&v), testAccCheckAWSElasticacheParameterGroupAttributes(&v, rName),
resource.TestCheckResourceAttr( resource.TestCheckResourceAttr(
"aws_elasticache_parameter_group.bar", "name", "parameter-group-test-terraform"), "aws_elasticache_parameter_group.bar", "name", rName),
resource.TestCheckResourceAttr( resource.TestCheckResourceAttr(
"aws_elasticache_parameter_group.bar", "family", "redis2.8"), "aws_elasticache_parameter_group.bar", "family", "redis2.8"),
resource.TestCheckResourceAttr( resource.TestCheckResourceAttr(
@ -63,6 +65,7 @@ func TestAccAWSElasticacheParameterGroup_basic(t *testing.T) {
func TestAccAWSElasticacheParameterGroupOnly(t *testing.T) { func TestAccAWSElasticacheParameterGroupOnly(t *testing.T) {
var v elasticache.CacheParameterGroup var v elasticache.CacheParameterGroup
rName := fmt.Sprintf("parameter-group-test-terraform-%d", acctest.RandInt())
resource.Test(t, resource.TestCase{ resource.Test(t, resource.TestCase{
PreCheck: func() { testAccPreCheck(t) }, PreCheck: func() { testAccPreCheck(t) },
@ -70,12 +73,12 @@ func TestAccAWSElasticacheParameterGroupOnly(t *testing.T) {
CheckDestroy: testAccCheckAWSElasticacheParameterGroupDestroy, CheckDestroy: testAccCheckAWSElasticacheParameterGroupDestroy,
Steps: []resource.TestStep{ Steps: []resource.TestStep{
resource.TestStep{ resource.TestStep{
Config: testAccAWSElasticacheParameterGroupOnlyConfig, Config: testAccAWSElasticacheParameterGroupOnlyConfig(rName),
Check: resource.ComposeTestCheckFunc( Check: resource.ComposeTestCheckFunc(
testAccCheckAWSElasticacheParameterGroupExists("aws_elasticache_parameter_group.bar", &v), testAccCheckAWSElasticacheParameterGroupExists("aws_elasticache_parameter_group.bar", &v),
testAccCheckAWSElasticacheParameterGroupAttributes(&v), testAccCheckAWSElasticacheParameterGroupAttributes(&v, rName),
resource.TestCheckResourceAttr( resource.TestCheckResourceAttr(
"aws_elasticache_parameter_group.bar", "name", "parameter-group-test-terraform"), "aws_elasticache_parameter_group.bar", "name", rName),
resource.TestCheckResourceAttr( resource.TestCheckResourceAttr(
"aws_elasticache_parameter_group.bar", "family", "redis2.8"), "aws_elasticache_parameter_group.bar", "family", "redis2.8"),
), ),
@ -118,10 +121,10 @@ func testAccCheckAWSElasticacheParameterGroupDestroy(s *terraform.State) error {
return nil return nil
} }
func testAccCheckAWSElasticacheParameterGroupAttributes(v *elasticache.CacheParameterGroup) resource.TestCheckFunc { func testAccCheckAWSElasticacheParameterGroupAttributes(v *elasticache.CacheParameterGroup, rName string) resource.TestCheckFunc {
return func(s *terraform.State) error { return func(s *terraform.State) error {
if *v.CacheParameterGroupName != "parameter-group-test-terraform" { if *v.CacheParameterGroupName != rName {
return fmt.Errorf("bad name: %#v", v.CacheParameterGroupName) return fmt.Errorf("bad name: %#v", v.CacheParameterGroupName)
} }
@ -167,20 +170,22 @@ func testAccCheckAWSElasticacheParameterGroupExists(n string, v *elasticache.Cac
} }
} }
const testAccAWSElasticacheParameterGroupConfig = ` func testAccAWSElasticacheParameterGroupConfig(rName string) string {
return fmt.Sprintf(`
resource "aws_elasticache_parameter_group" "bar" { resource "aws_elasticache_parameter_group" "bar" {
name = "parameter-group-test-terraform" name = "%s"
family = "redis2.8" family = "redis2.8"
parameter { parameter {
name = "appendonly" name = "appendonly"
value = "yes" value = "yes"
} }
}`, rName)
} }
`
const testAccAWSElasticacheParameterGroupAddParametersConfig = ` func testAccAWSElasticacheParameterGroupAddParametersConfig(rName string) string {
return fmt.Sprintf(`
resource "aws_elasticache_parameter_group" "bar" { resource "aws_elasticache_parameter_group" "bar" {
name = "parameter-group-test-terraform" name = "%s"
family = "redis2.8" family = "redis2.8"
description = "Test parameter group for terraform" description = "Test parameter group for terraform"
parameter { parameter {
@ -191,13 +196,14 @@ resource "aws_elasticache_parameter_group" "bar" {
name = "appendfsync" name = "appendfsync"
value = "always" value = "always"
} }
}`, rName)
} }
`
const testAccAWSElasticacheParameterGroupOnlyConfig = ` func testAccAWSElasticacheParameterGroupOnlyConfig(rName string) string {
return fmt.Sprintf(`
resource "aws_elasticache_parameter_group" "bar" { resource "aws_elasticache_parameter_group" "bar" {
name = "parameter-group-test-terraform" name = "%s"
family = "redis2.8" family = "redis2.8"
description = "Test parameter group for terraform" description = "Test parameter group for terraform"
}`, rName)
} }
`