From 53d081e89f7a9717a640dd2ed2f1aa17f560485e Mon Sep 17 00:00:00 2001 From: Jake Champlin Date: Thu, 9 Feb 2017 14:58:37 -0500 Subject: [PATCH] provider/aws: Update redshift_cluster acceptance tests Allows failing redshift_cluster acceptance tests to pass when ran in parallel ``` $ make testacc TEST=./builtin/providers/aws TESTARGS='-run=TestAccAWSRedshiftCluster_' ==> Checking that code complies with gofmt requirements... go generate $(go list ./... | grep -v /terraform/vendor/) 2017/02/09 11:15:49 Generated command/internal_plugin_list.go TF_ACC=1 go test ./builtin/providers/aws -v -run=TestAccAWSRedshiftCluster_ -timeout 120m === RUN TestAccAWSRedshiftCluster_importBasic --- PASS: TestAccAWSRedshiftCluster_importBasic (593.87s) === RUN TestAccAWSRedshiftCluster_basic --- PASS: TestAccAWSRedshiftCluster_basic (663.11s) === RUN TestAccAWSRedshiftCluster_kmsKey --- PASS: TestAccAWSRedshiftCluster_kmsKey (684.31s) === RUN TestAccAWSRedshiftCluster_enhancedVpcRoutingEnabled --- PASS: TestAccAWSRedshiftCluster_enhancedVpcRoutingEnabled (914.33s) === RUN TestAccAWSRedshiftCluster_loggingEnabled === RUN TestAccAWSRedshiftCluster_loggingEnabled --- PASS: TestAccAWSRedshiftCluster_loggingEnabled (764.83s) === RUN TestAccAWSRedshiftCluster_iamRoles --- PASS: TestAccAWSRedshiftCluster_iamRoles (907.82s) === RUN TestAccAWSRedshiftCluster_publiclyAccessible --- PASS: TestAccAWSRedshiftCluster_publiclyAccessible (691.63s) === RUN TestAccAWSRedshiftCluster_updateNodeCount --- PASS: TestAccAWSRedshiftCluster_updateNodeCount (1881.95s) === RUN TestAccAWSRedshiftCluster_tags --- PASS: TestAccAWSRedshiftCluster_tags (586.80s) PASS ok github.com/hashicorp/terraform/builtin/providers/aws 6995.524s ``` --- .../aws/resource_aws_redshift_cluster_test.go | 316 +++++++++--------- 1 file changed, 159 insertions(+), 157 deletions(-) diff --git a/builtin/providers/aws/resource_aws_redshift_cluster_test.go b/builtin/providers/aws/resource_aws_redshift_cluster_test.go index ecebd84f07..1f699cb5aa 100644 --- a/builtin/providers/aws/resource_aws_redshift_cluster_test.go +++ b/builtin/providers/aws/resource_aws_redshift_cluster_test.go @@ -3,15 +3,16 @@ package aws import ( "fmt" "math/rand" + "regexp" "testing" "time" "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/aws/awserr" "github.com/aws/aws-sdk-go/service/redshift" + "github.com/hashicorp/terraform/helper/acctest" "github.com/hashicorp/terraform/helper/resource" "github.com/hashicorp/terraform/terraform" - "regexp" ) func TestValidateRedshiftClusterDbName(t *testing.T) { @@ -136,10 +137,7 @@ func TestAccAWSRedshiftCluster_enhancedVpcRoutingEnabled(t *testing.T) { func TestAccAWSRedshiftCluster_loggingEnabled(t *testing.T) { var v redshift.Cluster - - ri := rand.New(rand.NewSource(time.Now().UnixNano())).Int() - preConfig := fmt.Sprintf(testAccAWSRedshiftClusterConfig_loggingEnabled, ri) - postConfig := fmt.Sprintf(testAccAWSRedshiftClusterConfig_loggingDisabled, ri) + rInt := acctest.RandInt() resource.Test(t, resource.TestCase{ PreCheck: func() { testAccPreCheck(t) }, @@ -147,18 +145,18 @@ func TestAccAWSRedshiftCluster_loggingEnabled(t *testing.T) { CheckDestroy: testAccCheckAWSRedshiftClusterDestroy, Steps: []resource.TestStep{ { - Config: preConfig, + Config: testAccAWSRedshiftClusterConfig_loggingEnabled(rInt), Check: resource.ComposeTestCheckFunc( testAccCheckAWSRedshiftClusterExists("aws_redshift_cluster.default", &v), resource.TestCheckResourceAttr( "aws_redshift_cluster.default", "enable_logging", "true"), resource.TestCheckResourceAttr( - "aws_redshift_cluster.default", "bucket_name", "tf-redshift-logging-test-bucket"), + "aws_redshift_cluster.default", "bucket_name", fmt.Sprintf("tf-redshift-logging-%d", rInt)), ), }, { - Config: postConfig, + Config: testAccAWSRedshiftClusterConfig_loggingDisabled(rInt), Check: resource.ComposeTestCheckFunc( testAccCheckAWSRedshiftClusterExists("aws_redshift_cluster.default", &v), resource.TestCheckResourceAttr( @@ -204,10 +202,7 @@ func TestAccAWSRedshiftCluster_iamRoles(t *testing.T) { func TestAccAWSRedshiftCluster_publiclyAccessible(t *testing.T) { var v redshift.Cluster - - ri := rand.New(rand.NewSource(time.Now().UnixNano())).Int() - preConfig := fmt.Sprintf(testAccAWSRedshiftClusterConfig_notPubliclyAccessible, ri) - postConfig := fmt.Sprintf(testAccAWSRedshiftClusterConfig_updatePubliclyAccessible, ri) + rInt := acctest.RandInt() resource.Test(t, resource.TestCase{ PreCheck: func() { testAccPreCheck(t) }, @@ -215,7 +210,7 @@ func TestAccAWSRedshiftCluster_publiclyAccessible(t *testing.T) { CheckDestroy: testAccCheckAWSRedshiftClusterDestroy, Steps: []resource.TestStep{ { - Config: preConfig, + Config: testAccAWSRedshiftClusterConfig_notPubliclyAccessible(rInt), Check: resource.ComposeTestCheckFunc( testAccCheckAWSRedshiftClusterExists("aws_redshift_cluster.default", &v), resource.TestCheckResourceAttr( @@ -224,7 +219,7 @@ func TestAccAWSRedshiftCluster_publiclyAccessible(t *testing.T) { }, { - Config: postConfig, + Config: testAccAWSRedshiftClusterConfig_updatePubliclyAccessible(rInt), Check: resource.ComposeTestCheckFunc( testAccCheckAWSRedshiftClusterExists("aws_redshift_cluster.default", &v), resource.TestCheckResourceAttr( @@ -593,63 +588,66 @@ resource "aws_redshift_cluster" "default" { } ` -var testAccAWSRedshiftClusterConfig_loggingDisabled = ` -resource "aws_redshift_cluster" "default" { - cluster_identifier = "tf-redshift-cluster-%d" - availability_zone = "us-west-2a" - database_name = "mydb" - master_username = "foo_test" - master_password = "Mustbe8characters" - node_type = "dc1.large" - automated_snapshot_retention_period = 0 - allow_version_upgrade = false - enable_logging = false +func testAccAWSRedshiftClusterConfig_loggingDisabled(rInt int) string { + return fmt.Sprintf(` + resource "aws_redshift_cluster" "default" { + cluster_identifier = "tf-redshift-cluster-%d" + availability_zone = "us-west-2a" + database_name = "mydb" + master_username = "foo_test" + master_password = "Mustbe8characters" + node_type = "dc1.large" + automated_snapshot_retention_period = 0 + allow_version_upgrade = false + enable_logging = false + }`, rInt) } -` -var testAccAWSRedshiftClusterConfig_loggingEnabled = ` -resource "aws_s3_bucket" "bucket" { - bucket = "tf-redshift-logging-test-bucket" - force_destroy = true - policy = <