Skip to content

Commit

Permalink
refactor vault cluster test config to use variable
Browse files Browse the repository at this point in the history
vault cluster
  • Loading branch information
bcmdarroch committed Jun 21, 2021
1 parent 51312fc commit b39352f
Showing 1 changed file with 24 additions and 27 deletions.
51 changes: 24 additions & 27 deletions internal/provider/resource_vault_cluster_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,37 +10,33 @@ import (
"github.com/hashicorp/terraform-provider-hcp/internal/clients"
)

var testAccVaultClusterConfig = `
resource "hcp_hvn" "test" {
hvn_id = "test-hvn"
cloud_provider = "aws"
region = "us-west-2"
}
var vaultCluster = `
resource "hcp_vault_cluster" "test" {
cluster_id = "test-vault-cluster"
hvn_id = hcp_hvn.test.hvn_id
tier = "dev"
}
`

data "hcp_vault_cluster" "test" {
cluster_id = hcp_vault_cluster.test.cluster_id
// sets public_endpoint to true
var updatedVaultCluster = `
resource "hcp_vault_cluster" "test" {
cluster_id = "test-vault-cluster"
hvn_id = hcp_hvn.test.hvn_id
tier = "dev"
public_endpoint = true
}
`

var testAccUpdatedVaultClusterConfig = `
func setTestAccVaultClusterConfig(vaultCluster string) string {
return fmt.Sprintf(`
resource "hcp_hvn" "test" {
hvn_id = "test-hvn"
cloud_provider = "aws"
region = "us-west-2"
}
resource "hcp_vault_cluster" "test" {
cluster_id = "test-vault-cluster"
hvn_id = hcp_hvn.test.hvn_id
tier = "dev"
public_endpoint = true
}
%s
data "hcp_vault_cluster" "test" {
cluster_id = hcp_vault_cluster.test.cluster_id
Expand All @@ -49,7 +45,8 @@ data "hcp_vault_cluster" "test" {
resource "hcp_vault_cluster_admin_token" "test" {
cluster_id = hcp_vault_cluster.test.cluster_id
}
`
`, vaultCluster)
}

// This includes tests against both the resource, the corresponding datasource, and the dependent admin token resource
// to shorten testing time.
Expand All @@ -65,7 +62,7 @@ func TestAccVaultCluster(t *testing.T) {
Steps: []resource.TestStep{
// This step tests Vault cluster and admin token resource creation.
{
Config: testConfig(testAccVaultClusterConfig),
Config: testConfig(setTestAccVaultClusterConfig(vaultCluster)),
Check: resource.ComposeTestCheckFunc(
testAccCheckVaultClusterExists(vaultClusterResourceName),
resource.TestCheckResourceAttr(vaultClusterResourceName, "cluster_id", "test-vault-cluster"),
Expand Down Expand Up @@ -105,7 +102,7 @@ func TestAccVaultCluster(t *testing.T) {
},
// This step is a subsequent terraform apply that verifies that no state is modified.
{
Config: testConfig(testAccVaultClusterConfig),
Config: testConfig(setTestAccVaultClusterConfig(vaultCluster)),
Check: resource.ComposeTestCheckFunc(
testAccCheckVaultClusterExists(vaultClusterResourceName),
resource.TestCheckResourceAttr(vaultClusterResourceName, "cluster_id", "test-vault-cluster"),
Expand All @@ -126,7 +123,7 @@ func TestAccVaultCluster(t *testing.T) {
},
// Tests datasource
{
Config: testConfig(testAccVaultClusterConfig),
Config: testConfig(setTestAccVaultClusterConfig(vaultCluster)),
Check: resource.ComposeTestCheckFunc(
resource.TestCheckResourceAttrPair(vaultClusterResourceName, "cluster_id", vaultClusterDataSourceName, "cluster_id"),
resource.TestCheckResourceAttrPair(vaultClusterResourceName, "hvn_id", vaultClusterDataSourceName, "hvn_id"),
Expand All @@ -147,14 +144,14 @@ func TestAccVaultCluster(t *testing.T) {
},
// This step verifies the successful update of updatable fields.
{
Config: testConfig(testAccUpdatedVaultClusterConfig),
Config: testConfig(setTestAccVaultClusterConfig(updatedVaultCluster)),
Check: resource.ComposeTestCheckFunc(
testAccCheckVaultClusterExists(resourceName),
resource.TestCheckResourceAttr(resourceName, "public_endpoint", "true"),
resource.TestCheckResourceAttrSet(resourceName, "vault_public_endpoint_url"),
testAccCheckFullURL(resourceName, "vault_public_endpoint_url", "8200"),
resource.TestCheckResourceAttrSet(resourceName, "vault_private_endpoint_url"),
testAccCheckFullURL(resourceName, "vault_private_endpoint_url", "8200"),
testAccCheckVaultClusterExists(vaultClusterResourceName),
resource.TestCheckResourceAttr(vaultClusterResourceName, "public_endpoint", "true"),
resource.TestCheckResourceAttrSet(vaultClusterResourceName, "vault_public_endpoint_url"),
testAccCheckFullURL(vaultClusterResourceName, "vault_public_endpoint_url", "8200"),
resource.TestCheckResourceAttrSet(vaultClusterResourceName, "vault_private_endpoint_url"),
testAccCheckFullURL(vaultClusterResourceName, "vault_private_endpoint_url", "8200"),
),
},
},
Expand Down

0 comments on commit b39352f

Please sign in to comment.