From 4e485d4254ddb8ed807a701a6bed443bd4108dc3 Mon Sep 17 00:00:00 2001 From: stack72 Date: Wed, 4 Nov 2015 21:06:41 +0000 Subject: [PATCH] Fixing the spelling mistakes and adding a test to prove that the Updates to the new properties of RDS Cluster work as expected --- .../providers/aws/resource_aws_rds_cluster.go | 8 +-- .../aws/resource_aws_rds_cluster_test.go | 64 ++++++++++++++++++- 2 files changed, 65 insertions(+), 7 deletions(-) diff --git a/builtin/providers/aws/resource_aws_rds_cluster.go b/builtin/providers/aws/resource_aws_rds_cluster.go index f4c54c3d6..ece9b686f 100644 --- a/builtin/providers/aws/resource_aws_rds_cluster.go +++ b/builtin/providers/aws/resource_aws_rds_cluster.go @@ -310,12 +310,12 @@ func resourceAwsRDSClusterUpdate(d *schema.ResourceData, meta interface{}) error req.PreferredBackupWindow = aws.String(d.Get("preferred_backup_window").(string)) } - if d.HasChange("preferred_maintaince_window") { - req.PreferredMaintenanceWindow = aws.String(d.Get("preferred_maintaince_window").(string)) + if d.HasChange("preferred_maintenance_window") { + req.PreferredMaintenanceWindow = aws.String(d.Get("preferred_maintenance_window").(string)) } - if d.HasChange("backup_retention_limit") { - req.BackupRetentionPeriod = aws.Int64(int64(d.Get("backup_retention_limit").(int))) + if d.HasChange("backup_retention_period") { + req.BackupRetentionPeriod = aws.Int64(int64(d.Get("backup_retention_period").(int))) } _, err := conn.ModifyDBCluster(req) diff --git a/builtin/providers/aws/resource_aws_rds_cluster_test.go b/builtin/providers/aws/resource_aws_rds_cluster_test.go index 79da2acf4..a9eed687e 100644 --- a/builtin/providers/aws/resource_aws_rds_cluster_test.go +++ b/builtin/providers/aws/resource_aws_rds_cluster_test.go @@ -17,13 +17,16 @@ import ( func TestAccAWSRDSCluster_basic(t *testing.T) { var v rds.DBCluster + ri := rand.New(rand.NewSource(time.Now().UnixNano())).Int() + config := fmt.Sprintf(testAccAWSClusterConfig, ri) + resource.Test(t, resource.TestCase{ PreCheck: func() { testAccPreCheck(t) }, Providers: testAccProviders, CheckDestroy: testAccCheckAWSClusterDestroy, Steps: []resource.TestStep{ resource.TestStep{ - Config: testAccAWSClusterConfig, + Config: config, Check: resource.ComposeTestCheckFunc( testAccCheckAWSClusterExists("aws_rds_cluster.default", &v), resource.TestCheckResourceAttr( @@ -38,6 +41,47 @@ func TestAccAWSRDSCluster_basic(t *testing.T) { }) } +func TestAccAWSRDSCluster_update(t *testing.T) { + var v rds.DBCluster + + ri := rand.New(rand.NewSource(time.Now().UnixNano())).Int() + preConfig := fmt.Sprintf(testAccAWSClusterConfig, ri) + postConfig := fmt.Sprintf(testAccAWSClusterConfig_update, ri) + + resource.Test(t, resource.TestCase{ + PreCheck: func() { testAccPreCheck(t) }, + Providers: testAccProviders, + CheckDestroy: testAccCheckAWSClusterDestroy, + Steps: []resource.TestStep{ + resource.TestStep{ + Config: preConfig, + Check: resource.ComposeTestCheckFunc( + testAccCheckAWSClusterExists("aws_rds_cluster.default", &v), + resource.TestCheckResourceAttr( + "aws_rds_cluster.default", "preferred_backup_window", "07:00-09:00"), + resource.TestCheckResourceAttr( + "aws_rds_cluster.default", "backup_retention_period", "5"), + resource.TestCheckResourceAttr( + "aws_rds_cluster.default", "preferred_maintenance_window", "tue:04:00-tue:04:30"), + ), + }, + + resource.TestStep{ + Config: postConfig, + Check: resource.ComposeTestCheckFunc( + testAccCheckAWSClusterExists("aws_rds_cluster.default", &v), + resource.TestCheckResourceAttr( + "aws_rds_cluster.default", "preferred_backup_window", "03:00-09:00"), + resource.TestCheckResourceAttr( + "aws_rds_cluster.default", "backup_retention_period", "10"), + resource.TestCheckResourceAttr( + "aws_rds_cluster.default", "preferred_maintenance_window", "wed:01:00-wed:01:30"), + ), + }, + }, + }) +} + func testAccCheckAWSClusterDestroy(s *terraform.State) error { for _, rs := range s.RootModule().Resources { if rs.Type != "aws_rds_cluster" { @@ -104,7 +148,7 @@ func testAccCheckAWSClusterExists(n string, v *rds.DBCluster) resource.TestCheck } // Add some random to the name, to avoid collision -var testAccAWSClusterConfig = fmt.Sprintf(` +var testAccAWSClusterConfig = ` resource "aws_rds_cluster" "default" { cluster_identifier = "tf-aurora-cluster-%d" availability_zones = ["us-west-2a","us-west-2b","us-west-2c"] @@ -114,4 +158,18 @@ resource "aws_rds_cluster" "default" { backup_retention_period = 5 preferred_backup_window = "07:00-09:00" preferred_maintenance_window = "tue:04:00-tue:04:30" -}`, rand.New(rand.NewSource(time.Now().UnixNano())).Int()) +}` + +// Add some random to the name, to avoid collision +var testAccAWSClusterConfig_update = ` +resource "aws_rds_cluster" "default" { + cluster_identifier = "tf-aurora-cluster-%d" + availability_zones = ["us-west-2a","us-west-2b","us-west-2c"] + database_name = "mydb" + master_username = "foo" + master_password = "mustbeeightcharaters" + backup_retention_period = 10 + preferred_backup_window = "03:00-09:00" + preferred_maintenance_window = "wed:01:00-wed:01:30" + apply_immediately = true +}`