update read replica acceptance test
This commit is contained in:
parent
dc164c454e
commit
6b6aa867c0
|
@ -670,6 +670,10 @@ func resourceAwsDbInstanceStateRefreshFunc(
|
||||||
return nil, "", nil
|
return nil, "", nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if v.DBInstanceStatus != nil {
|
||||||
|
log.Printf("[DEBUG] DB Instance status for instance %s: %s", d.Id(), *v.DBInstanceStatus)
|
||||||
|
}
|
||||||
|
|
||||||
return v, *v.DBInstanceStatus, nil
|
return v, *v.DBInstanceStatus, nil
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -50,28 +50,19 @@ func TestAccAWSDBInstance(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestAccAWSDBInstanceReplica(t *testing.T) {
|
func TestAccAWSDBInstanceReplica(t *testing.T) {
|
||||||
// var v rds.DBInstance
|
var s, r rds.DBInstance
|
||||||
var r rds.DBInstance
|
|
||||||
|
|
||||||
resource.Test(t, resource.TestCase{
|
resource.Test(t, resource.TestCase{
|
||||||
PreCheck: func() { testAccPreCheck(t) },
|
PreCheck: func() { testAccPreCheck(t) },
|
||||||
Providers: testAccProviders,
|
Providers: testAccProviders,
|
||||||
CheckDestroy: testAccCheckAWSDBInstanceDestroy,
|
CheckDestroy: testAccCheckAWSDBInstanceDestroy,
|
||||||
Steps: []resource.TestStep{
|
Steps: []resource.TestStep{
|
||||||
// resource.TestStep{
|
|
||||||
// Config: testAccAWSDBInstanceConfig,
|
|
||||||
// Check: resource.ComposeTestCheckFunc(
|
|
||||||
// testAccCheckAWSDBInstanceExists("aws_db_instance.bar", &v),
|
|
||||||
// ),
|
|
||||||
// },
|
|
||||||
|
|
||||||
resource.TestStep{
|
resource.TestStep{
|
||||||
Config: testAccAWSDBInstanceReplicaConfig,
|
Config: testAccReplicaInstanceConfig(rand.New(rand.NewSource(time.Now().UnixNano())).Int()),
|
||||||
Check: resource.ComposeTestCheckFunc(
|
Check: resource.ComposeTestCheckFunc(
|
||||||
|
testAccCheckAWSDBInstanceExists("aws_db_instance.bar", &s),
|
||||||
testAccCheckAWSDBInstanceExists("aws_db_instance.replica", &r),
|
testAccCheckAWSDBInstanceExists("aws_db_instance.replica", &r),
|
||||||
resource.TestCheckResourceAttr(
|
testAccCheckAWSDBInstanceReplicaAttributes(&s, &r),
|
||||||
"aws_db_instance.replica", "replicate_source_db", "tf-update-more"),
|
|
||||||
testAccCheckAWSDBInstanceReplicaAttributes(&r),
|
|
||||||
),
|
),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -132,23 +123,11 @@ func testAccCheckAWSDBInstanceAttributes(v *rds.DBInstance) resource.TestCheckFu
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func testAccCheckAWSDBInstanceReplicaAttributes(r *rds.DBInstance) resource.TestCheckFunc {
|
func testAccCheckAWSDBInstanceReplicaAttributes(source, replica *rds.DBInstance) resource.TestCheckFunc {
|
||||||
return func(s *terraform.State) error {
|
return func(s *terraform.State) error {
|
||||||
|
|
||||||
// if *v.Engine != "mysql" {
|
if replica.ReadReplicaSourceDBInstanceIdentifier != nil && *replica.ReadReplicaSourceDBInstanceIdentifier != *source.DBInstanceIdentifier {
|
||||||
// return fmt.Errorf("bad engine: %#v", *v.Engine)
|
return fmt.Errorf("bad source identifier for replica, expected: '%s', got: '%s'", *source.DBInstanceIdentifier, *replica.ReadReplicaSourceDBInstanceIdentifier)
|
||||||
// }
|
|
||||||
|
|
||||||
// if *v.EngineVersion != "5.6.21" {
|
|
||||||
// return fmt.Errorf("bad engine_version: %#v", *v.EngineVersion)
|
|
||||||
// }
|
|
||||||
|
|
||||||
// if *v.BackupRetentionPeriod != 0 {
|
|
||||||
// return fmt.Errorf("bad backup_retention_period: %#v", *v.BackupRetentionPeriod)
|
|
||||||
// }
|
|
||||||
|
|
||||||
if r.ReadReplicaSourceDBInstanceIdentifier != nil && *r.ReadReplicaSourceDBInstanceIdentifier != "tf-update-more" {
|
|
||||||
return fmt.Errorf("bad source identifier for replica, got: %#v, expected: 'tf-update-more'", *r.ReadReplicaSourceDBInstanceIdentifier)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
|
@ -209,17 +188,37 @@ resource "aws_db_instance" "bar" {
|
||||||
parameter_group_name = "default.mysql5.6"
|
parameter_group_name = "default.mysql5.6"
|
||||||
}`, rand.New(rand.NewSource(time.Now().UnixNano())).Int())
|
}`, rand.New(rand.NewSource(time.Now().UnixNano())).Int())
|
||||||
|
|
||||||
var testAccAWSDBInstanceReplicaConfig = fmt.Sprintf(`
|
func testAccReplicaInstanceConfig(val int) string {
|
||||||
resource "aws_db_instance" "replica" {
|
return fmt.Sprintf(`
|
||||||
identifier = "tf-replica-db-%d"
|
resource "aws_db_instance" "bar" {
|
||||||
replicate_source_db = "tf-update-more"
|
identifier = "foobarbaz-test-terraform-%d"
|
||||||
allocated_storage = 5
|
|
||||||
engine = "mysql"
|
allocated_storage = 5
|
||||||
engine_version = "5.6.19b"
|
engine = "mysql"
|
||||||
instance_class = "db.t1.micro"
|
engine_version = "5.6.21"
|
||||||
password = "fofofofxx"
|
instance_class = "db.t1.micro"
|
||||||
username = "foo"
|
name = "baz"
|
||||||
tags {
|
password = "barbarbarbar"
|
||||||
Name = "tf-replica-db"
|
username = "foo"
|
||||||
}
|
|
||||||
}`, rand.New(rand.NewSource(time.Now().UnixNano())).Int())
|
backup_retention_period = 1
|
||||||
|
|
||||||
|
parameter_group_name = "default.mysql5.6"
|
||||||
|
}
|
||||||
|
|
||||||
|
resource "aws_db_instance" "replica" {
|
||||||
|
identifier = "tf-replica-db-%d"
|
||||||
|
backup_retention_period = 0
|
||||||
|
replicate_source_db = "${aws_db_instance.bar.identifier}"
|
||||||
|
allocated_storage = "${aws_db_instance.bar.allocated_storage}"
|
||||||
|
engine = "${aws_db_instance.bar.engine}"
|
||||||
|
engine_version = "${aws_db_instance.bar.engine_version}"
|
||||||
|
instance_class = "${aws_db_instance.bar.instance_class}"
|
||||||
|
password = "${aws_db_instance.bar.password}"
|
||||||
|
username = "${aws_db_instance.bar.username}"
|
||||||
|
tags {
|
||||||
|
Name = "tf-replica-db"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
`, val, val)
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue