Skip to content

Commit

Permalink
Merge pull request #10596 from terraform-providers/rfd-at002-dax
Browse files Browse the repository at this point in the history
Import test refactor for dax resources
  • Loading branch information
ryndaniels authored Oct 29, 2019
2 parents 2d59ddd + a6183b7 commit 3420e77
Show file tree
Hide file tree
Showing 2 changed files with 66 additions and 76 deletions.
105 changes: 55 additions & 50 deletions aws/resource_aws_dax_cluster_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -58,32 +58,11 @@ func testSweepDAXClusters(region string) error {
return nil
}

func TestAccAWSDAXCluster_importBasic(t *testing.T) {
resourceName := "aws_dax_cluster.test"
rString := acctest.RandString(10)

resource.ParallelTest(t, resource.TestCase{
PreCheck: func() { testAccPreCheck(t); testAccPreCheckAWSDax(t) },
Providers: testAccProviders,
CheckDestroy: testAccCheckAWSDAXClusterDestroy,
Steps: []resource.TestStep{
{
Config: testAccAWSDAXClusterConfig(rString),
},

{
ResourceName: resourceName,
ImportState: true,
ImportStateVerify: true,
},
},
})
}

func TestAccAWSDAXCluster_basic(t *testing.T) {
var dc dax.Cluster
rString := acctest.RandString(10)
iamRoleResourceName := "aws_iam_role.test"
resourceName := "aws_dax_cluster.test"

resource.ParallelTest(t, resource.TestCase{
PreCheck: func() { testAccPreCheck(t); testAccPreCheckAWSDax(t) },
Expand All @@ -93,44 +72,51 @@ func TestAccAWSDAXCluster_basic(t *testing.T) {
{
Config: testAccAWSDAXClusterConfig(rString),
Check: resource.ComposeTestCheckFunc(
testAccCheckAWSDAXClusterExists("aws_dax_cluster.test", &dc),
testAccMatchResourceAttrRegionalARN("aws_dax_cluster.test", "arn", "dax", regexp.MustCompile("cache/.+")),
testAccCheckAWSDAXClusterExists(resourceName, &dc),
testAccMatchResourceAttrRegionalARN(resourceName, "arn", "dax", regexp.MustCompile("cache/.+")),
resource.TestMatchResourceAttr(
"aws_dax_cluster.test", "cluster_name", regexp.MustCompile(`^tf-\w+$`)),
resource.TestCheckResourceAttrPair("aws_dax_cluster.test", "iam_role_arn", iamRoleResourceName, "arn"),
resourceName, "cluster_name", regexp.MustCompile(`^tf-\w+$`)),
resource.TestCheckResourceAttrPair(resourceName, "iam_role_arn", iamRoleResourceName, "arn"),
resource.TestCheckResourceAttr(
"aws_dax_cluster.test", "node_type", "dax.t2.small"),
resourceName, "node_type", "dax.t2.small"),
resource.TestCheckResourceAttr(
"aws_dax_cluster.test", "replication_factor", "1"),
resourceName, "replication_factor", "1"),
resource.TestCheckResourceAttr(
"aws_dax_cluster.test", "description", "test cluster"),
resourceName, "description", "test cluster"),
resource.TestMatchResourceAttr(
"aws_dax_cluster.test", "parameter_group_name", regexp.MustCompile(`^default.dax`)),
resourceName, "parameter_group_name", regexp.MustCompile(`^default.dax`)),
resource.TestMatchResourceAttr(
"aws_dax_cluster.test", "maintenance_window", regexp.MustCompile(`^\w{3}:\d{2}:\d{2}-\w{3}:\d{2}:\d{2}$`)),
resourceName, "maintenance_window", regexp.MustCompile(`^\w{3}:\d{2}:\d{2}-\w{3}:\d{2}:\d{2}$`)),
resource.TestCheckResourceAttr(
"aws_dax_cluster.test", "subnet_group_name", "default"),
resourceName, "subnet_group_name", "default"),
resource.TestMatchResourceAttr(
"aws_dax_cluster.test", "nodes.0.id", regexp.MustCompile(`^tf-[\w-]+$`)),
resourceName, "nodes.0.id", regexp.MustCompile(`^tf-[\w-]+$`)),
resource.TestMatchResourceAttr(
"aws_dax_cluster.test", "configuration_endpoint", regexp.MustCompile(`:\d+$`)),
resourceName, "configuration_endpoint", regexp.MustCompile(`:\d+$`)),
resource.TestCheckResourceAttrSet(
"aws_dax_cluster.test", "cluster_address"),
resourceName, "cluster_address"),
resource.TestMatchResourceAttr(
"aws_dax_cluster.test", "port", regexp.MustCompile(`^\d+$`)),
resourceName, "port", regexp.MustCompile(`^\d+$`)),
resource.TestCheckResourceAttr(
"aws_dax_cluster.test", "server_side_encryption.#", "1"),
resourceName, "server_side_encryption.#", "1"),
resource.TestCheckResourceAttr(
"aws_dax_cluster.test", "server_side_encryption.0.enabled", "false"),
resourceName, "server_side_encryption.0.enabled", "false"),
),
},
{
ResourceName: resourceName,
ImportState: true,
ImportStateVerify: true,
},
},
})
}

func TestAccAWSDAXCluster_resize(t *testing.T) {
var dc dax.Cluster
rString := acctest.RandString(10)
resourceName := "aws_dax_cluster.test"

resource.ParallelTest(t, resource.TestCase{
PreCheck: func() { testAccPreCheck(t); testAccPreCheckAWSDax(t) },
Providers: testAccProviders,
Expand All @@ -139,25 +125,30 @@ func TestAccAWSDAXCluster_resize(t *testing.T) {
{
Config: testAccAWSDAXClusterConfigResize_singleNode(rString),
Check: resource.ComposeTestCheckFunc(
testAccCheckAWSDAXClusterExists("aws_dax_cluster.test", &dc),
testAccCheckAWSDAXClusterExists(resourceName, &dc),
resource.TestCheckResourceAttr(
"aws_dax_cluster.test", "replication_factor", "1"),
resourceName, "replication_factor", "1"),
),
},
{
ResourceName: resourceName,
ImportState: true,
ImportStateVerify: true,
},
{
Config: testAccAWSDAXClusterConfigResize_multiNode(rString),
Check: resource.ComposeTestCheckFunc(
testAccCheckAWSDAXClusterExists("aws_dax_cluster.test", &dc),
testAccCheckAWSDAXClusterExists(resourceName, &dc),
resource.TestCheckResourceAttr(
"aws_dax_cluster.test", "replication_factor", "2"),
resourceName, "replication_factor", "2"),
),
},
{
Config: testAccAWSDAXClusterConfigResize_singleNode(rString),
Check: resource.ComposeTestCheckFunc(
testAccCheckAWSDAXClusterExists("aws_dax_cluster.test", &dc),
testAccCheckAWSDAXClusterExists(resourceName, &dc),
resource.TestCheckResourceAttr(
"aws_dax_cluster.test", "replication_factor", "1"),
resourceName, "replication_factor", "1"),
),
},
},
Expand All @@ -167,6 +158,8 @@ func TestAccAWSDAXCluster_resize(t *testing.T) {
func TestAccAWSDAXCluster_encryption_disabled(t *testing.T) {
var dc dax.Cluster
rString := acctest.RandString(10)
resourceName := "aws_dax_cluster.test"

resource.ParallelTest(t, resource.TestCase{
PreCheck: func() { testAccPreCheck(t); testAccPreCheckAWSDax(t) },
Providers: testAccProviders,
Expand All @@ -175,11 +168,16 @@ func TestAccAWSDAXCluster_encryption_disabled(t *testing.T) {
{
Config: testAccAWSDAXClusterConfigWithEncryption(rString, false),
Check: resource.ComposeTestCheckFunc(
testAccCheckAWSDAXClusterExists("aws_dax_cluster.test", &dc),
resource.TestCheckResourceAttr("aws_dax_cluster.test", "server_side_encryption.#", "1"),
resource.TestCheckResourceAttr("aws_dax_cluster.test", "server_side_encryption.0.enabled", "false"),
testAccCheckAWSDAXClusterExists(resourceName, &dc),
resource.TestCheckResourceAttr(resourceName, "server_side_encryption.#", "1"),
resource.TestCheckResourceAttr(resourceName, "server_side_encryption.0.enabled", "false"),
),
},
{
ResourceName: resourceName,
ImportState: true,
ImportStateVerify: true,
},
// Ensure it shows no difference when removing server_side_encryption configuration
{
Config: testAccAWSDAXClusterConfig(rString),
Expand All @@ -193,6 +191,8 @@ func TestAccAWSDAXCluster_encryption_disabled(t *testing.T) {
func TestAccAWSDAXCluster_encryption_enabled(t *testing.T) {
var dc dax.Cluster
rString := acctest.RandString(10)
resourceName := "aws_dax_cluster.test"

resource.ParallelTest(t, resource.TestCase{
PreCheck: func() { testAccPreCheck(t); testAccPreCheckAWSDax(t) },
Providers: testAccProviders,
Expand All @@ -201,11 +201,16 @@ func TestAccAWSDAXCluster_encryption_enabled(t *testing.T) {
{
Config: testAccAWSDAXClusterConfigWithEncryption(rString, true),
Check: resource.ComposeTestCheckFunc(
testAccCheckAWSDAXClusterExists("aws_dax_cluster.test", &dc),
resource.TestCheckResourceAttr("aws_dax_cluster.test", "server_side_encryption.#", "1"),
resource.TestCheckResourceAttr("aws_dax_cluster.test", "server_side_encryption.0.enabled", "true"),
testAccCheckAWSDAXClusterExists(resourceName, &dc),
resource.TestCheckResourceAttr(resourceName, "server_side_encryption.#", "1"),
resource.TestCheckResourceAttr(resourceName, "server_side_encryption.0.enabled", "true"),
),
},
{
ResourceName: resourceName,
ImportState: true,
ImportStateVerify: true,
},
// Ensure it shows a difference when removing server_side_encryption configuration
{
Config: testAccAWSDAXClusterConfig(rString),
Expand Down
37 changes: 11 additions & 26 deletions aws/resource_aws_dax_parameter_group_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,31 +12,6 @@ import (
)

func TestAccAwsDaxParameterGroup_basic(t *testing.T) {
rName := acctest.RandomWithPrefix("tf-acc-test")
resource.ParallelTest(t, resource.TestCase{
PreCheck: func() { testAccPreCheck(t); testAccPreCheckAWSDax(t) },
Providers: testAccProviders,
CheckDestroy: testAccCheckAwsDaxParameterGroupDestroy,
Steps: []resource.TestStep{
{
Config: testAccDaxParameterGroupConfig(rName),
Check: resource.ComposeTestCheckFunc(
testAccCheckAwsDaxParameterGroupExists("aws_dax_parameter_group.test"),
resource.TestCheckResourceAttr("aws_dax_parameter_group.test", "parameters.#", "2"),
),
},
{
Config: testAccDaxParameterGroupConfig_parameters(rName),
Check: resource.ComposeTestCheckFunc(
testAccCheckAwsDaxParameterGroupExists("aws_dax_parameter_group.test"),
resource.TestCheckResourceAttr("aws_dax_parameter_group.test", "parameters.#", "2"),
),
},
},
})
}

func TestAccAwsDaxParameterGroup_import(t *testing.T) {
rName := acctest.RandomWithPrefix("tf-acc-test")
resourceName := "aws_dax_parameter_group.test"

Expand All @@ -47,13 +22,23 @@ func TestAccAwsDaxParameterGroup_import(t *testing.T) {
Steps: []resource.TestStep{
{
Config: testAccDaxParameterGroupConfig(rName),
Check: resource.ComposeTestCheckFunc(
testAccCheckAwsDaxParameterGroupExists(resourceName),
resource.TestCheckResourceAttr(resourceName, "parameters.#", "2"),
),
},

{
ResourceName: resourceName,
ImportState: true,
ImportStateVerify: true,
},
{
Config: testAccDaxParameterGroupConfig_parameters(rName),
Check: resource.ComposeTestCheckFunc(
testAccCheckAwsDaxParameterGroupExists(resourceName),
resource.TestCheckResourceAttr(resourceName, "parameters.#", "2"),
),
},
},
})
}
Expand Down

0 comments on commit 3420e77

Please sign in to comment.