Merge pull request #5964 from hashicorp/b-aws-rds-test-updates
provider/aws: Improve the randomization in RDS tests
This commit is contained in:
commit
2ddddf340d
|
@ -9,6 +9,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/rds"
|
"github.com/aws/aws-sdk-go/service/rds"
|
||||||
|
"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"
|
||||||
)
|
)
|
||||||
|
@ -22,7 +23,7 @@ func TestAccAWSDBParameterGroup_basic(t *testing.T) {
|
||||||
CheckDestroy: testAccCheckAWSDBParameterGroupDestroy,
|
CheckDestroy: testAccCheckAWSDBParameterGroupDestroy,
|
||||||
Steps: []resource.TestStep{
|
Steps: []resource.TestStep{
|
||||||
resource.TestStep{
|
resource.TestStep{
|
||||||
Config: testAccAWSDBParameterGroupConfig,
|
Config: testAccAWSDBParameterGroupConfig(acctest.RandInt()),
|
||||||
Check: resource.ComposeTestCheckFunc(
|
Check: resource.ComposeTestCheckFunc(
|
||||||
testAccCheckAWSDBParameterGroupExists("aws_db_parameter_group.bar", &v),
|
testAccCheckAWSDBParameterGroupExists("aws_db_parameter_group.bar", &v),
|
||||||
testAccCheckAWSDBParameterGroupAttributes(&v),
|
testAccCheckAWSDBParameterGroupAttributes(&v),
|
||||||
|
@ -49,7 +50,7 @@ func TestAccAWSDBParameterGroup_basic(t *testing.T) {
|
||||||
),
|
),
|
||||||
},
|
},
|
||||||
resource.TestStep{
|
resource.TestStep{
|
||||||
Config: testAccAWSDBParameterGroupAddParametersConfig,
|
Config: testAccAWSDBParameterGroupAddParametersConfig(acctest.RandInt()),
|
||||||
Check: resource.ComposeTestCheckFunc(
|
Check: resource.ComposeTestCheckFunc(
|
||||||
testAccCheckAWSDBParameterGroupExists("aws_db_parameter_group.bar", &v),
|
testAccCheckAWSDBParameterGroupExists("aws_db_parameter_group.bar", &v),
|
||||||
testAccCheckAWSDBParameterGroupAttributes(&v),
|
testAccCheckAWSDBParameterGroupAttributes(&v),
|
||||||
|
@ -96,7 +97,7 @@ func TestAccAWSDBParameterGroupOnly(t *testing.T) {
|
||||||
CheckDestroy: testAccCheckAWSDBParameterGroupDestroy,
|
CheckDestroy: testAccCheckAWSDBParameterGroupDestroy,
|
||||||
Steps: []resource.TestStep{
|
Steps: []resource.TestStep{
|
||||||
resource.TestStep{
|
resource.TestStep{
|
||||||
Config: testAccAWSDBParameterGroupOnlyConfig,
|
Config: testAccAWSDBParameterGroupOnlyConfig(acctest.RandInt()),
|
||||||
Check: resource.ComposeTestCheckFunc(
|
Check: resource.ComposeTestCheckFunc(
|
||||||
testAccCheckAWSDBParameterGroupExists("aws_db_parameter_group.bar", &v),
|
testAccCheckAWSDBParameterGroupExists("aws_db_parameter_group.bar", &v),
|
||||||
testAccCheckAWSDBParameterGroupAttributes(&v),
|
testAccCheckAWSDBParameterGroupAttributes(&v),
|
||||||
|
@ -249,9 +250,10 @@ func randomString(strlen int) string {
|
||||||
return string(result)
|
return string(result)
|
||||||
}
|
}
|
||||||
|
|
||||||
const testAccAWSDBParameterGroupConfig = `
|
func testAccAWSDBParameterGroupConfig(n int) string {
|
||||||
|
return fmt.Sprintf(`
|
||||||
resource "aws_db_parameter_group" "bar" {
|
resource "aws_db_parameter_group" "bar" {
|
||||||
name = "parameter-group-test-terraform"
|
name = "parameter-group-test-terraform-%d"
|
||||||
family = "mysql5.6"
|
family = "mysql5.6"
|
||||||
description = "Test parameter group for terraform"
|
description = "Test parameter group for terraform"
|
||||||
parameter {
|
parameter {
|
||||||
|
@ -269,12 +271,13 @@ resource "aws_db_parameter_group" "bar" {
|
||||||
tags {
|
tags {
|
||||||
foo = "bar"
|
foo = "bar"
|
||||||
}
|
}
|
||||||
|
}`, n)
|
||||||
}
|
}
|
||||||
`
|
|
||||||
|
|
||||||
const testAccAWSDBParameterGroupAddParametersConfig = `
|
func testAccAWSDBParameterGroupAddParametersConfig(n int) string {
|
||||||
|
return fmt.Sprintf(`
|
||||||
resource "aws_db_parameter_group" "bar" {
|
resource "aws_db_parameter_group" "bar" {
|
||||||
name = "parameter-group-test-terraform"
|
name = "parameter-group-test-terraform-%d"
|
||||||
family = "mysql5.6"
|
family = "mysql5.6"
|
||||||
description = "Test parameter group for terraform"
|
description = "Test parameter group for terraform"
|
||||||
parameter {
|
parameter {
|
||||||
|
@ -301,13 +304,14 @@ resource "aws_db_parameter_group" "bar" {
|
||||||
foo = "bar"
|
foo = "bar"
|
||||||
baz = "foo"
|
baz = "foo"
|
||||||
}
|
}
|
||||||
|
}`, n)
|
||||||
}
|
}
|
||||||
`
|
|
||||||
|
|
||||||
const testAccAWSDBParameterGroupOnlyConfig = `
|
func testAccAWSDBParameterGroupOnlyConfig(n int) string {
|
||||||
|
return fmt.Sprintf(`
|
||||||
resource "aws_db_parameter_group" "bar" {
|
resource "aws_db_parameter_group" "bar" {
|
||||||
name = "parameter-group-test-terraform"
|
name = "parameter-group-test-terraform-%d"
|
||||||
family = "mysql5.6"
|
family = "mysql5.6"
|
||||||
description = "Test parameter group for terraform"
|
description = "Test parameter group for terraform"
|
||||||
|
}`, n)
|
||||||
}
|
}
|
||||||
`
|
|
||||||
|
|
|
@ -24,7 +24,7 @@ func TestAccAWSRDSClusterInstance_basic(t *testing.T) {
|
||||||
CheckDestroy: testAccCheckAWSClusterDestroy,
|
CheckDestroy: testAccCheckAWSClusterDestroy,
|
||||||
Steps: []resource.TestStep{
|
Steps: []resource.TestStep{
|
||||||
resource.TestStep{
|
resource.TestStep{
|
||||||
Config: testAccAWSClusterInstanceConfig,
|
Config: testAccAWSClusterInstanceConfig(acctest.RandInt()),
|
||||||
Check: resource.ComposeTestCheckFunc(
|
Check: resource.ComposeTestCheckFunc(
|
||||||
testAccCheckAWSClusterInstanceExists("aws_rds_cluster_instance.cluster_instances", &v),
|
testAccCheckAWSClusterInstanceExists("aws_rds_cluster_instance.cluster_instances", &v),
|
||||||
testAccCheckAWSDBClusterInstanceAttributes(&v),
|
testAccCheckAWSDBClusterInstanceAttributes(&v),
|
||||||
|
@ -44,7 +44,7 @@ func TestAccAWSRDSClusterInstance_disappears(t *testing.T) {
|
||||||
CheckDestroy: testAccCheckAWSClusterDestroy,
|
CheckDestroy: testAccCheckAWSClusterDestroy,
|
||||||
Steps: []resource.TestStep{
|
Steps: []resource.TestStep{
|
||||||
resource.TestStep{
|
resource.TestStep{
|
||||||
Config: testAccAWSClusterInstanceConfig,
|
Config: testAccAWSClusterInstanceConfig(acctest.RandInt()),
|
||||||
Check: resource.ComposeTestCheckFunc(
|
Check: resource.ComposeTestCheckFunc(
|
||||||
testAccCheckAWSClusterInstanceExists("aws_rds_cluster_instance.cluster_instances", &v),
|
testAccCheckAWSClusterInstanceExists("aws_rds_cluster_instance.cluster_instances", &v),
|
||||||
testAccAWSClusterInstanceDisappears(&v),
|
testAccAWSClusterInstanceDisappears(&v),
|
||||||
|
@ -166,7 +166,8 @@ func testAccCheckAWSClusterInstanceExists(n string, v *rds.DBInstance) resource.
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add some random to the name, to avoid collision
|
// Add some random to the name, to avoid collision
|
||||||
var testAccAWSClusterInstanceConfig = fmt.Sprintf(`
|
func testAccAWSClusterInstanceConfig(n int) string {
|
||||||
|
return fmt.Sprintf(`
|
||||||
resource "aws_rds_cluster" "default" {
|
resource "aws_rds_cluster" "default" {
|
||||||
cluster_identifier = "tf-aurora-cluster-test-%d"
|
cluster_identifier = "tf-aurora-cluster-test-%d"
|
||||||
availability_zones = ["us-west-2a", "us-west-2b", "us-west-2c"]
|
availability_zones = ["us-west-2a", "us-west-2b", "us-west-2c"]
|
||||||
|
@ -181,4 +182,5 @@ resource "aws_rds_cluster_instance" "cluster_instances" {
|
||||||
instance_class = "db.r3.large"
|
instance_class = "db.r3.large"
|
||||||
}
|
}
|
||||||
|
|
||||||
`, acctest.RandInt(), acctest.RandInt())
|
`, n, n)
|
||||||
|
}
|
||||||
|
|
|
@ -2,10 +2,9 @@ package aws
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"math/rand"
|
|
||||||
"testing"
|
"testing"
|
||||||
"time"
|
|
||||||
|
|
||||||
|
"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"
|
||||||
|
|
||||||
|
@ -17,16 +16,13 @@ import (
|
||||||
func TestAccAWSRDSCluster_basic(t *testing.T) {
|
func TestAccAWSRDSCluster_basic(t *testing.T) {
|
||||||
var v rds.DBCluster
|
var v rds.DBCluster
|
||||||
|
|
||||||
ri := rand.New(rand.NewSource(time.Now().UnixNano())).Int()
|
|
||||||
config := fmt.Sprintf(testAccAWSClusterConfig, ri)
|
|
||||||
|
|
||||||
resource.Test(t, resource.TestCase{
|
resource.Test(t, resource.TestCase{
|
||||||
PreCheck: func() { testAccPreCheck(t) },
|
PreCheck: func() { testAccPreCheck(t) },
|
||||||
Providers: testAccProviders,
|
Providers: testAccProviders,
|
||||||
CheckDestroy: testAccCheckAWSClusterDestroy,
|
CheckDestroy: testAccCheckAWSClusterDestroy,
|
||||||
Steps: []resource.TestStep{
|
Steps: []resource.TestStep{
|
||||||
resource.TestStep{
|
resource.TestStep{
|
||||||
Config: config,
|
Config: testAccAWSClusterConfig(acctest.RandInt()),
|
||||||
Check: resource.ComposeTestCheckFunc(
|
Check: resource.ComposeTestCheckFunc(
|
||||||
testAccCheckAWSClusterExists("aws_rds_cluster.default", &v),
|
testAccCheckAWSClusterExists("aws_rds_cluster.default", &v),
|
||||||
resource.TestCheckResourceAttr(
|
resource.TestCheckResourceAttr(
|
||||||
|
@ -40,16 +36,13 @@ func TestAccAWSRDSCluster_basic(t *testing.T) {
|
||||||
func TestAccAWSRDSCluster_encrypted(t *testing.T) {
|
func TestAccAWSRDSCluster_encrypted(t *testing.T) {
|
||||||
var v rds.DBCluster
|
var v rds.DBCluster
|
||||||
|
|
||||||
ri := rand.New(rand.NewSource(time.Now().UnixNano())).Int()
|
|
||||||
encConfig := fmt.Sprintf(testAccAWSClusterConfig_encrypted, ri)
|
|
||||||
|
|
||||||
resource.Test(t, resource.TestCase{
|
resource.Test(t, resource.TestCase{
|
||||||
PreCheck: func() { testAccPreCheck(t) },
|
PreCheck: func() { testAccPreCheck(t) },
|
||||||
Providers: testAccProviders,
|
Providers: testAccProviders,
|
||||||
CheckDestroy: testAccCheckAWSClusterDestroy,
|
CheckDestroy: testAccCheckAWSClusterDestroy,
|
||||||
Steps: []resource.TestStep{
|
Steps: []resource.TestStep{
|
||||||
resource.TestStep{
|
resource.TestStep{
|
||||||
Config: encConfig,
|
Config: testAccAWSClusterConfig_encrypted(acctest.RandInt()),
|
||||||
Check: resource.ComposeTestCheckFunc(
|
Check: resource.ComposeTestCheckFunc(
|
||||||
testAccCheckAWSClusterExists("aws_rds_cluster.default", &v),
|
testAccCheckAWSClusterExists("aws_rds_cluster.default", &v),
|
||||||
resource.TestCheckResourceAttr(
|
resource.TestCheckResourceAttr(
|
||||||
|
@ -63,17 +56,14 @@ func TestAccAWSRDSCluster_encrypted(t *testing.T) {
|
||||||
func TestAccAWSRDSCluster_backupsUpdate(t *testing.T) {
|
func TestAccAWSRDSCluster_backupsUpdate(t *testing.T) {
|
||||||
var v rds.DBCluster
|
var v rds.DBCluster
|
||||||
|
|
||||||
ri := rand.New(rand.NewSource(time.Now().UnixNano())).Int()
|
ri := acctest.RandInt()
|
||||||
preConfig := fmt.Sprintf(testAccAWSClusterConfig_backups, ri)
|
|
||||||
postConfig := fmt.Sprintf(testAccAWSClusterConfig_backupsUpdate, ri)
|
|
||||||
|
|
||||||
resource.Test(t, resource.TestCase{
|
resource.Test(t, resource.TestCase{
|
||||||
PreCheck: func() { testAccPreCheck(t) },
|
PreCheck: func() { testAccPreCheck(t) },
|
||||||
Providers: testAccProviders,
|
Providers: testAccProviders,
|
||||||
CheckDestroy: testAccCheckAWSClusterDestroy,
|
CheckDestroy: testAccCheckAWSClusterDestroy,
|
||||||
Steps: []resource.TestStep{
|
Steps: []resource.TestStep{
|
||||||
resource.TestStep{
|
resource.TestStep{
|
||||||
Config: preConfig,
|
Config: testAccAWSClusterConfig_backups(ri),
|
||||||
Check: resource.ComposeTestCheckFunc(
|
Check: resource.ComposeTestCheckFunc(
|
||||||
testAccCheckAWSClusterExists("aws_rds_cluster.default", &v),
|
testAccCheckAWSClusterExists("aws_rds_cluster.default", &v),
|
||||||
resource.TestCheckResourceAttr(
|
resource.TestCheckResourceAttr(
|
||||||
|
@ -86,7 +76,7 @@ func TestAccAWSRDSCluster_backupsUpdate(t *testing.T) {
|
||||||
},
|
},
|
||||||
|
|
||||||
resource.TestStep{
|
resource.TestStep{
|
||||||
Config: postConfig,
|
Config: testAccAWSClusterConfig_backupsUpdate(ri),
|
||||||
Check: resource.ComposeTestCheckFunc(
|
Check: resource.ComposeTestCheckFunc(
|
||||||
testAccCheckAWSClusterExists("aws_rds_cluster.default", &v),
|
testAccCheckAWSClusterExists("aws_rds_cluster.default", &v),
|
||||||
resource.TestCheckResourceAttr(
|
resource.TestCheckResourceAttr(
|
||||||
|
@ -166,16 +156,19 @@ func testAccCheckAWSClusterExists(n string, v *rds.DBCluster) resource.TestCheck
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var testAccAWSClusterConfig = `
|
func testAccAWSClusterConfig(n int) string {
|
||||||
|
return fmt.Sprintf(`
|
||||||
resource "aws_rds_cluster" "default" {
|
resource "aws_rds_cluster" "default" {
|
||||||
cluster_identifier = "tf-aurora-cluster-%d"
|
cluster_identifier = "tf-aurora-cluster-%d"
|
||||||
availability_zones = ["us-west-2a","us-west-2b","us-west-2c"]
|
availability_zones = ["us-west-2a","us-west-2b","us-west-2c"]
|
||||||
database_name = "mydb"
|
database_name = "mydb"
|
||||||
master_username = "foo"
|
master_username = "foo"
|
||||||
master_password = "mustbeeightcharaters"
|
master_password = "mustbeeightcharaters"
|
||||||
}`
|
}`, n)
|
||||||
|
}
|
||||||
|
|
||||||
var testAccAWSClusterConfig_encrypted = `
|
func testAccAWSClusterConfig_encrypted(n int) string {
|
||||||
|
return fmt.Sprintf(`
|
||||||
resource "aws_rds_cluster" "default" {
|
resource "aws_rds_cluster" "default" {
|
||||||
cluster_identifier = "tf-aurora-cluster-%d"
|
cluster_identifier = "tf-aurora-cluster-%d"
|
||||||
availability_zones = ["us-west-2a","us-west-2b","us-west-2c"]
|
availability_zones = ["us-west-2a","us-west-2b","us-west-2c"]
|
||||||
|
@ -183,9 +176,11 @@ resource "aws_rds_cluster" "default" {
|
||||||
master_username = "foo"
|
master_username = "foo"
|
||||||
master_password = "mustbeeightcharaters"
|
master_password = "mustbeeightcharaters"
|
||||||
storage_encrypted = true
|
storage_encrypted = true
|
||||||
}`
|
}`, n)
|
||||||
|
}
|
||||||
|
|
||||||
var testAccAWSClusterConfig_backups = `
|
func testAccAWSClusterConfig_backups(n int) string {
|
||||||
|
return fmt.Sprintf(`
|
||||||
resource "aws_rds_cluster" "default" {
|
resource "aws_rds_cluster" "default" {
|
||||||
cluster_identifier = "tf-aurora-cluster-%d"
|
cluster_identifier = "tf-aurora-cluster-%d"
|
||||||
availability_zones = ["us-west-2a","us-west-2b","us-west-2c"]
|
availability_zones = ["us-west-2a","us-west-2b","us-west-2c"]
|
||||||
|
@ -195,9 +190,11 @@ resource "aws_rds_cluster" "default" {
|
||||||
backup_retention_period = 5
|
backup_retention_period = 5
|
||||||
preferred_backup_window = "07:00-09:00"
|
preferred_backup_window = "07:00-09:00"
|
||||||
preferred_maintenance_window = "tue:04:00-tue:04:30"
|
preferred_maintenance_window = "tue:04:00-tue:04:30"
|
||||||
}`
|
}`, n)
|
||||||
|
}
|
||||||
|
|
||||||
var testAccAWSClusterConfig_backupsUpdate = `
|
func testAccAWSClusterConfig_backupsUpdate(n int) string {
|
||||||
|
return fmt.Sprintf(`
|
||||||
resource "aws_rds_cluster" "default" {
|
resource "aws_rds_cluster" "default" {
|
||||||
cluster_identifier = "tf-aurora-cluster-%d"
|
cluster_identifier = "tf-aurora-cluster-%d"
|
||||||
availability_zones = ["us-west-2a","us-west-2b","us-west-2c"]
|
availability_zones = ["us-west-2a","us-west-2b","us-west-2c"]
|
||||||
|
@ -208,4 +205,5 @@ resource "aws_rds_cluster" "default" {
|
||||||
preferred_backup_window = "03:00-09:00"
|
preferred_backup_window = "03:00-09:00"
|
||||||
preferred_maintenance_window = "wed:01:00-wed:01:30"
|
preferred_maintenance_window = "wed:01:00-wed:01:30"
|
||||||
apply_immediately = true
|
apply_immediately = true
|
||||||
}`
|
}`, n)
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue