kubernetes: Re-work tests to no longer rely on hard-coded versions. (#438)
This commit is contained in:
parent
ae4578c0e5
commit
b069a9949d
|
@ -21,26 +21,27 @@ func TestAccDataSourceDigitalOceanKubernetesCluster_Basic(t *testing.T) {
|
|||
CheckDestroy: testAccCheckDigitalOceanKubernetesClusterDestroy,
|
||||
Steps: []resource.TestStep{
|
||||
{
|
||||
Config: testAccDigitalOceanKubernetesConfigWithDataSource(rName, testClusterVersion16),
|
||||
Config: testAccDigitalOceanKubernetesConfigWithDataSource(testClusterVersion16, rName),
|
||||
Check: resource.ComposeTestCheckFunc(
|
||||
testAccCheckDataSourceDigitalOceanKubernetesClusterExists("data.digitalocean_kubernetes_cluster.foobar", &k8s),
|
||||
resource.TestCheckResourceAttr("data.digitalocean_kubernetes_cluster.foobar", "name", rName),
|
||||
resource.TestCheckResourceAttr("data.digitalocean_kubernetes_cluster.foobar", "region", "lon1"),
|
||||
resource.TestCheckResourceAttr("data.digitalocean_kubernetes_cluster.foobar", "version", testClusterVersion16),
|
||||
resource.TestCheckResourceAttrPair("data.digitalocean_kubernetes_cluster.foobar", "version", "data.digitalocean_kubernetes_versions.test", "latest_version"),
|
||||
resource.TestCheckResourceAttr("data.digitalocean_kubernetes_cluster.foobar", "node_pool.0.labels.priority", "high"),
|
||||
resource.TestCheckResourceAttrSet("digitalocean_kubernetes_cluster.foobar", "vpc_uuid"),
|
||||
resource.TestCheckResourceAttrSet("data.digitalocean_kubernetes_cluster.foobar", "vpc_uuid"),
|
||||
),
|
||||
},
|
||||
},
|
||||
})
|
||||
}
|
||||
|
||||
func testAccDigitalOceanKubernetesConfigWithDataSource(rName string, version string) string {
|
||||
return fmt.Sprintf(`
|
||||
func testAccDigitalOceanKubernetesConfigWithDataSource(version string, rName string) string {
|
||||
return fmt.Sprintf(`%s
|
||||
|
||||
resource "digitalocean_kubernetes_cluster" "foo" {
|
||||
name = "%s"
|
||||
region = "lon1"
|
||||
version = "%s"
|
||||
version = data.digitalocean_kubernetes_versions.test.latest_version
|
||||
tags = ["foo","bar"]
|
||||
|
||||
node_pool {
|
||||
|
@ -57,7 +58,7 @@ resource "digitalocean_kubernetes_cluster" "foo" {
|
|||
data "digitalocean_kubernetes_cluster" "foobar" {
|
||||
name = "${digitalocean_kubernetes_cluster.foo.name}"
|
||||
}
|
||||
`, rName, version)
|
||||
`, version, rName)
|
||||
}
|
||||
|
||||
func testAccCheckDataSourceDigitalOceanKubernetesClusterExists(n string, cluster *godo.KubernetesCluster) resource.TestCheckFunc {
|
||||
|
|
|
@ -21,7 +21,7 @@ func TestAccDigitalOceanKubernetesCluster_ImportBasic(t *testing.T) {
|
|||
CheckDestroy: testAccCheckDigitalOceanKubernetesClusterDestroy,
|
||||
Steps: []resource.TestStep{
|
||||
{
|
||||
Config: testAccDigitalOceanKubernetesConfigBasic(clusterName, testClusterVersion16),
|
||||
Config: testAccDigitalOceanKubernetesConfigBasic(testClusterVersion16, clusterName),
|
||||
// Remove the default node pool tag so that the import code which infers
|
||||
// the need to add the tag gets triggered.
|
||||
Check: testAccDigitalOceanKubernetesRemoveDefaultNodePoolTag(clusterName),
|
||||
|
@ -92,11 +92,12 @@ func TestAccDigitalOceanKubernetesCluster_ImportNonDefaultNodePool(t *testing.T)
|
|||
testName1 := randomTestName()
|
||||
testName2 := randomTestName()
|
||||
|
||||
config := fmt.Sprintf(`
|
||||
config := fmt.Sprintf(`%s
|
||||
|
||||
resource "digitalocean_kubernetes_cluster" "foobar" {
|
||||
name = "%s"
|
||||
region = "lon1"
|
||||
version = "%s"
|
||||
version = data.digitalocean_kubernetes_versions.test.latest_version
|
||||
|
||||
node_pool {
|
||||
name = "default"
|
||||
|
@ -106,12 +107,12 @@ resource "digitalocean_kubernetes_cluster" "foobar" {
|
|||
}
|
||||
|
||||
resource "digitalocean_kubernetes_node_pool" "barfoo" {
|
||||
cluster_id = "${digitalocean_kubernetes_cluster.foobar.id}"
|
||||
cluster_id = digitalocean_kubernetes_cluster.foobar.id
|
||||
name = "%s"
|
||||
size = "s-1vcpu-2gb"
|
||||
node_count = 1
|
||||
}
|
||||
`, testName1, testClusterVersion16, testName2)
|
||||
`, testClusterVersion16, testName1, testName2)
|
||||
|
||||
resource.Test(t, resource.TestCase{
|
||||
PreCheck: func() { testAccPreCheck(t) },
|
||||
|
|
|
@ -12,11 +12,12 @@ func TestAccDigitalOceanKubernetesNodePool_Import(t *testing.T) {
|
|||
testName1 := randomTestName()
|
||||
testName2 := randomTestName()
|
||||
|
||||
config := fmt.Sprintf(`
|
||||
config := fmt.Sprintf(`%s
|
||||
|
||||
resource "digitalocean_kubernetes_cluster" "foobar" {
|
||||
name = "%s"
|
||||
region = "lon1"
|
||||
version = "%s"
|
||||
version = data.digitalocean_kubernetes_versions.test.latest_version
|
||||
|
||||
node_pool {
|
||||
name = "default"
|
||||
|
@ -31,7 +32,7 @@ resource "digitalocean_kubernetes_node_pool" "barfoo" {
|
|||
size = "s-1vcpu-2gb"
|
||||
node_count = 1
|
||||
}
|
||||
`, testName1, testClusterVersion16, testName2)
|
||||
`, testClusterVersion16, testName1, testName2)
|
||||
resourceName := "digitalocean_kubernetes_node_pool.barfoo"
|
||||
|
||||
resource.Test(t, resource.TestCase{
|
||||
|
|
|
@ -13,8 +13,14 @@ import (
|
|||
"github.com/hashicorp/terraform-plugin-sdk/terraform"
|
||||
)
|
||||
|
||||
const testClusterVersion15 = "1.15.11-do.0"
|
||||
const testClusterVersion16 = "1.16.8-do.0"
|
||||
const (
|
||||
testClusterVersion15 = `data "digitalocean_kubernetes_versions" "test" {
|
||||
version_prefix = "1.15."
|
||||
}`
|
||||
testClusterVersion16 = `data "digitalocean_kubernetes_versions" "test" {
|
||||
version_prefix = "1.16."
|
||||
}`
|
||||
)
|
||||
|
||||
func TestAccDigitalOceanKubernetesCluster_Basic(t *testing.T) {
|
||||
t.Parallel()
|
||||
|
@ -27,12 +33,12 @@ func TestAccDigitalOceanKubernetesCluster_Basic(t *testing.T) {
|
|||
CheckDestroy: testAccCheckDigitalOceanKubernetesClusterDestroy,
|
||||
Steps: []resource.TestStep{
|
||||
{
|
||||
Config: testAccDigitalOceanKubernetesConfigBasic(rName, testClusterVersion16),
|
||||
Config: testAccDigitalOceanKubernetesConfigBasic(testClusterVersion16, rName),
|
||||
Check: resource.ComposeAggregateTestCheckFunc(
|
||||
testAccCheckDigitalOceanKubernetesClusterExists("digitalocean_kubernetes_cluster.foobar", &k8s),
|
||||
resource.TestCheckResourceAttr("digitalocean_kubernetes_cluster.foobar", "name", rName),
|
||||
resource.TestCheckResourceAttr("digitalocean_kubernetes_cluster.foobar", "region", "lon1"),
|
||||
resource.TestCheckResourceAttr("digitalocean_kubernetes_cluster.foobar", "version", testClusterVersion16),
|
||||
resource.TestCheckResourceAttrPair("digitalocean_kubernetes_cluster.foobar", "version", "data.digitalocean_kubernetes_versions.test", "latest_version"),
|
||||
resource.TestCheckResourceAttrSet("digitalocean_kubernetes_cluster.foobar", "ipv4_address"),
|
||||
resource.TestCheckResourceAttrSet("digitalocean_kubernetes_cluster.foobar", "cluster_subnet"),
|
||||
resource.TestCheckResourceAttrSet("digitalocean_kubernetes_cluster.foobar", "service_subnet"),
|
||||
|
@ -80,14 +86,14 @@ func TestAccDigitalOceanKubernetesCluster_UpdateCluster(t *testing.T) {
|
|||
CheckDestroy: testAccCheckDigitalOceanKubernetesClusterDestroy,
|
||||
Steps: []resource.TestStep{
|
||||
{
|
||||
Config: testAccDigitalOceanKubernetesConfigBasic(rName, testClusterVersion16),
|
||||
Config: testAccDigitalOceanKubernetesConfigBasic(testClusterVersion16, rName),
|
||||
Check: resource.ComposeAggregateTestCheckFunc(
|
||||
testAccCheckDigitalOceanKubernetesClusterExists("digitalocean_kubernetes_cluster.foobar", &k8s),
|
||||
resource.TestCheckResourceAttr("digitalocean_kubernetes_cluster.foobar", "name", rName),
|
||||
),
|
||||
},
|
||||
{
|
||||
Config: testAccDigitalOceanKubernetesConfigBasic4(rName+"-updated", testClusterVersion16),
|
||||
Config: testAccDigitalOceanKubernetesConfigBasic4(testClusterVersion16, rName+"-updated"),
|
||||
Check: resource.ComposeAggregateTestCheckFunc(
|
||||
testAccCheckDigitalOceanKubernetesClusterExists("digitalocean_kubernetes_cluster.foobar", &k8s),
|
||||
resource.TestCheckResourceAttr("digitalocean_kubernetes_cluster.foobar", "name", rName+"-updated"),
|
||||
|
@ -112,7 +118,7 @@ func TestAccDigitalOceanKubernetesCluster_UpdatePoolDetails(t *testing.T) {
|
|||
CheckDestroy: testAccCheckDigitalOceanKubernetesClusterDestroy,
|
||||
Steps: []resource.TestStep{
|
||||
{
|
||||
Config: testAccDigitalOceanKubernetesConfigBasic(rName, testClusterVersion16),
|
||||
Config: testAccDigitalOceanKubernetesConfigBasic(testClusterVersion16, rName),
|
||||
Check: resource.ComposeAggregateTestCheckFunc(
|
||||
testAccCheckDigitalOceanKubernetesClusterExists("digitalocean_kubernetes_cluster.foobar", &k8s),
|
||||
resource.TestCheckResourceAttr("digitalocean_kubernetes_cluster.foobar", "name", rName),
|
||||
|
@ -123,7 +129,7 @@ func TestAccDigitalOceanKubernetesCluster_UpdatePoolDetails(t *testing.T) {
|
|||
),
|
||||
},
|
||||
{
|
||||
Config: testAccDigitalOceanKubernetesConfigBasic2(rName, testClusterVersion16),
|
||||
Config: testAccDigitalOceanKubernetesConfigBasic2(testClusterVersion16, rName),
|
||||
Check: resource.ComposeAggregateTestCheckFunc(
|
||||
testAccCheckDigitalOceanKubernetesClusterExists("digitalocean_kubernetes_cluster.foobar", &k8s),
|
||||
resource.TestCheckResourceAttr("digitalocean_kubernetes_cluster.foobar", "name", rName),
|
||||
|
@ -152,7 +158,7 @@ func TestAccDigitalOceanKubernetesCluster_UpdatePoolSize(t *testing.T) {
|
|||
CheckDestroy: testAccCheckDigitalOceanKubernetesClusterDestroy,
|
||||
Steps: []resource.TestStep{
|
||||
{
|
||||
Config: testAccDigitalOceanKubernetesConfigBasic(rName, testClusterVersion16),
|
||||
Config: testAccDigitalOceanKubernetesConfigBasic(testClusterVersion16, rName),
|
||||
Check: resource.ComposeAggregateTestCheckFunc(
|
||||
testAccCheckDigitalOceanKubernetesClusterExists("digitalocean_kubernetes_cluster.foobar", &k8s),
|
||||
resource.TestCheckResourceAttr("digitalocean_kubernetes_cluster.foobar", "name", rName),
|
||||
|
@ -163,7 +169,7 @@ func TestAccDigitalOceanKubernetesCluster_UpdatePoolSize(t *testing.T) {
|
|||
),
|
||||
},
|
||||
{
|
||||
Config: testAccDigitalOceanKubernetesConfigBasic3(rName, testClusterVersion16),
|
||||
Config: testAccDigitalOceanKubernetesConfigBasic3(testClusterVersion16, rName),
|
||||
Check: resource.ComposeAggregateTestCheckFunc(
|
||||
testAccCheckDigitalOceanKubernetesClusterExists("digitalocean_kubernetes_cluster.foobar", &k8s),
|
||||
resource.TestCheckResourceAttr("digitalocean_kubernetes_cluster.foobar", "name", rName),
|
||||
|
@ -189,11 +195,12 @@ func TestAccDigitalOceanKubernetesCluster_CreatePoolWithAutoScale(t *testing.T)
|
|||
Steps: []resource.TestStep{
|
||||
// Create with auto-scaling and explicit node_count.
|
||||
{
|
||||
Config: fmt.Sprintf(`
|
||||
Config: fmt.Sprintf(`%s
|
||||
|
||||
resource "digitalocean_kubernetes_cluster" "foobar" {
|
||||
name = "%s"
|
||||
region = "lon1"
|
||||
version = "%s"
|
||||
version = data.digitalocean_kubernetes_versions.test.latest_version
|
||||
|
||||
node_pool {
|
||||
name = "default"
|
||||
|
@ -204,7 +211,7 @@ func TestAccDigitalOceanKubernetesCluster_CreatePoolWithAutoScale(t *testing.T)
|
|||
max_nodes = 3
|
||||
}
|
||||
}
|
||||
`, rName, testClusterVersion16),
|
||||
`, testClusterVersion16, rName),
|
||||
Check: resource.ComposeAggregateTestCheckFunc(
|
||||
testAccCheckDigitalOceanKubernetesClusterExists("digitalocean_kubernetes_cluster.foobar", &k8s),
|
||||
resource.TestCheckResourceAttr("digitalocean_kubernetes_cluster.foobar", "name", rName),
|
||||
|
@ -219,11 +226,12 @@ func TestAccDigitalOceanKubernetesCluster_CreatePoolWithAutoScale(t *testing.T)
|
|||
},
|
||||
// Remove node_count, keep auto-scaling.
|
||||
{
|
||||
Config: fmt.Sprintf(`
|
||||
Config: fmt.Sprintf(`%s
|
||||
|
||||
resource "digitalocean_kubernetes_cluster" "foobar" {
|
||||
name = "%s"
|
||||
region = "lon1"
|
||||
version = "%s"
|
||||
version = data.digitalocean_kubernetes_versions.test.latest_version
|
||||
|
||||
node_pool {
|
||||
name = "default"
|
||||
|
@ -233,7 +241,7 @@ func TestAccDigitalOceanKubernetesCluster_CreatePoolWithAutoScale(t *testing.T)
|
|||
max_nodes = 3
|
||||
}
|
||||
}
|
||||
`, rName, testClusterVersion16),
|
||||
`, testClusterVersion16, rName),
|
||||
Check: resource.ComposeAggregateTestCheckFunc(
|
||||
testAccCheckDigitalOceanKubernetesClusterExists("digitalocean_kubernetes_cluster.foobar", &k8s),
|
||||
resource.TestCheckResourceAttr("digitalocean_kubernetes_cluster.foobar", "name", rName),
|
||||
|
@ -248,11 +256,12 @@ func TestAccDigitalOceanKubernetesCluster_CreatePoolWithAutoScale(t *testing.T)
|
|||
},
|
||||
// Update node_count, keep auto-scaling.
|
||||
{
|
||||
Config: fmt.Sprintf(`
|
||||
Config: fmt.Sprintf(`%s
|
||||
|
||||
resource "digitalocean_kubernetes_cluster" "foobar" {
|
||||
name = "%s"
|
||||
region = "lon1"
|
||||
version = "%s"
|
||||
version = data.digitalocean_kubernetes_versions.test.latest_version
|
||||
|
||||
node_pool {
|
||||
name = "default"
|
||||
|
@ -263,7 +272,7 @@ func TestAccDigitalOceanKubernetesCluster_CreatePoolWithAutoScale(t *testing.T)
|
|||
max_nodes = 3
|
||||
}
|
||||
}
|
||||
`, rName, testClusterVersion16),
|
||||
`, testClusterVersion16, rName),
|
||||
Check: resource.ComposeAggregateTestCheckFunc(
|
||||
testAccCheckDigitalOceanKubernetesClusterExists("digitalocean_kubernetes_cluster.foobar", &k8s),
|
||||
resource.TestCheckResourceAttr("digitalocean_kubernetes_cluster.foobar", "name", rName),
|
||||
|
@ -278,11 +287,12 @@ func TestAccDigitalOceanKubernetesCluster_CreatePoolWithAutoScale(t *testing.T)
|
|||
},
|
||||
// Disable auto-scaling.
|
||||
{
|
||||
Config: fmt.Sprintf(`
|
||||
Config: fmt.Sprintf(`%s
|
||||
|
||||
resource "digitalocean_kubernetes_cluster" "foobar" {
|
||||
name = "%s"
|
||||
region = "lon1"
|
||||
version = "%s"
|
||||
version = data.digitalocean_kubernetes_versions.test.latest_version
|
||||
|
||||
node_pool {
|
||||
name = "default"
|
||||
|
@ -290,7 +300,7 @@ func TestAccDigitalOceanKubernetesCluster_CreatePoolWithAutoScale(t *testing.T)
|
|||
node_count = 2
|
||||
}
|
||||
}
|
||||
`, rName, testClusterVersion16),
|
||||
`, testClusterVersion16, rName),
|
||||
Check: resource.ComposeAggregateTestCheckFunc(
|
||||
testAccCheckDigitalOceanKubernetesClusterExists("digitalocean_kubernetes_cluster.foobar", &k8s),
|
||||
resource.TestCheckResourceAttr("digitalocean_kubernetes_cluster.foobar", "name", rName),
|
||||
|
@ -319,11 +329,12 @@ func TestAccDigitalOceanKubernetesCluster_UpdatePoolWithAutoScale(t *testing.T)
|
|||
Steps: []resource.TestStep{
|
||||
// Create with auto-scaling disabled.
|
||||
{
|
||||
Config: fmt.Sprintf(`
|
||||
Config: fmt.Sprintf(`%s
|
||||
|
||||
resource "digitalocean_kubernetes_cluster" "foobar" {
|
||||
name = "%s"
|
||||
region = "lon1"
|
||||
version = "%s"
|
||||
version = data.digitalocean_kubernetes_versions.test.latest_version
|
||||
|
||||
node_pool {
|
||||
name = "default"
|
||||
|
@ -331,7 +342,7 @@ func TestAccDigitalOceanKubernetesCluster_UpdatePoolWithAutoScale(t *testing.T)
|
|||
node_count = 1
|
||||
}
|
||||
}
|
||||
`, rName, testClusterVersion16),
|
||||
`, testClusterVersion16, rName),
|
||||
Check: resource.ComposeAggregateTestCheckFunc(
|
||||
testAccCheckDigitalOceanKubernetesClusterExists("digitalocean_kubernetes_cluster.foobar", &k8s),
|
||||
resource.TestCheckResourceAttr("digitalocean_kubernetes_cluster.foobar", "name", rName),
|
||||
|
@ -346,11 +357,12 @@ func TestAccDigitalOceanKubernetesCluster_UpdatePoolWithAutoScale(t *testing.T)
|
|||
},
|
||||
// Enable auto-scaling with explicit node_count.
|
||||
{
|
||||
Config: fmt.Sprintf(`
|
||||
Config: fmt.Sprintf(`%s
|
||||
|
||||
resource "digitalocean_kubernetes_cluster" "foobar" {
|
||||
name = "%s"
|
||||
region = "lon1"
|
||||
version = "%s"
|
||||
version = data.digitalocean_kubernetes_versions.test.latest_version
|
||||
|
||||
node_pool {
|
||||
name = "default"
|
||||
|
@ -361,7 +373,7 @@ func TestAccDigitalOceanKubernetesCluster_UpdatePoolWithAutoScale(t *testing.T)
|
|||
max_nodes = 3
|
||||
}
|
||||
}
|
||||
`, rName, testClusterVersion16),
|
||||
`, testClusterVersion16, rName),
|
||||
Check: resource.ComposeAggregateTestCheckFunc(
|
||||
testAccCheckDigitalOceanKubernetesClusterExists("digitalocean_kubernetes_cluster.foobar", &k8s),
|
||||
resource.TestCheckResourceAttr("digitalocean_kubernetes_cluster.foobar", "name", rName),
|
||||
|
@ -376,11 +388,12 @@ func TestAccDigitalOceanKubernetesCluster_UpdatePoolWithAutoScale(t *testing.T)
|
|||
},
|
||||
// Remove node_count, keep auto-scaling.
|
||||
{
|
||||
Config: fmt.Sprintf(`
|
||||
Config: fmt.Sprintf(`%s
|
||||
|
||||
resource "digitalocean_kubernetes_cluster" "foobar" {
|
||||
name = "%s"
|
||||
region = "lon1"
|
||||
version = "%s"
|
||||
version = data.digitalocean_kubernetes_versions.test.latest_version
|
||||
|
||||
node_pool {
|
||||
name = "default"
|
||||
|
@ -390,7 +403,7 @@ func TestAccDigitalOceanKubernetesCluster_UpdatePoolWithAutoScale(t *testing.T)
|
|||
max_nodes = 3
|
||||
}
|
||||
}
|
||||
`, rName, testClusterVersion16),
|
||||
`, testClusterVersion16, rName),
|
||||
Check: resource.ComposeAggregateTestCheckFunc(
|
||||
testAccCheckDigitalOceanKubernetesClusterExists("digitalocean_kubernetes_cluster.foobar", &k8s),
|
||||
resource.TestCheckResourceAttr("digitalocean_kubernetes_cluster.foobar", "name", rName),
|
||||
|
@ -418,7 +431,7 @@ func TestAccDigitalOceanKubernetesCluster_KubernetesProviderInteroperability(t *
|
|||
CheckDestroy: testAccCheckDigitalOceanKubernetesClusterDestroy,
|
||||
Steps: []resource.TestStep{
|
||||
{
|
||||
Config: testAccDigitalOceanKubernetesConfig_KubernetesProviderInteroperability(rName, testClusterVersion16),
|
||||
Config: testAccDigitalOceanKubernetesConfig_KubernetesProviderInteroperability(testClusterVersion16, rName),
|
||||
Check: resource.ComposeAggregateTestCheckFunc(
|
||||
testAccCheckDigitalOceanKubernetesClusterExists("digitalocean_kubernetes_cluster.foobar", &k8s), resource.TestCheckResourceAttrSet("digitalocean_kubernetes_cluster.foobar", "kube_config.0.raw_config"),
|
||||
resource.TestCheckResourceAttrSet("digitalocean_kubernetes_cluster.foobar", "kube_config.0.cluster_ca_certificate"),
|
||||
|
@ -441,30 +454,31 @@ func TestAccDigitalOceanKubernetesCluster_UpgradeVersion(t *testing.T) {
|
|||
CheckDestroy: testAccCheckDigitalOceanKubernetesClusterDestroy,
|
||||
Steps: []resource.TestStep{
|
||||
{
|
||||
Config: testAccDigitalOceanKubernetesConfigBasic(rName, testClusterVersion15),
|
||||
Config: testAccDigitalOceanKubernetesConfigBasic(testClusterVersion15, rName),
|
||||
Check: resource.ComposeAggregateTestCheckFunc(
|
||||
testAccCheckDigitalOceanKubernetesClusterExists("digitalocean_kubernetes_cluster.foobar", &k8s),
|
||||
resource.TestCheckResourceAttr("digitalocean_kubernetes_cluster.foobar", "version", testClusterVersion15),
|
||||
resource.TestCheckResourceAttrPair("digitalocean_kubernetes_cluster.foobar", "version", "data.digitalocean_kubernetes_versions.test", "latest_version"),
|
||||
),
|
||||
},
|
||||
{
|
||||
Config: testAccDigitalOceanKubernetesConfigBasic(rName, testClusterVersion16),
|
||||
Config: testAccDigitalOceanKubernetesConfigBasic(testClusterVersion16, rName),
|
||||
Check: resource.ComposeAggregateTestCheckFunc(
|
||||
resource.TestCheckResourceAttrPtr("digitalocean_kubernetes_cluster.foobar", "id", &k8s.ID),
|
||||
testAccCheckDigitalOceanKubernetesClusterExists("digitalocean_kubernetes_cluster.foobar", &k8s),
|
||||
resource.TestCheckResourceAttr("digitalocean_kubernetes_cluster.foobar", "version", testClusterVersion16),
|
||||
resource.TestCheckResourceAttrPair("digitalocean_kubernetes_cluster.foobar", "version", "data.digitalocean_kubernetes_versions.test", "latest_version"),
|
||||
),
|
||||
},
|
||||
},
|
||||
})
|
||||
}
|
||||
|
||||
func testAccDigitalOceanKubernetesConfigBasic(rName string, testClusterVersion string) string {
|
||||
return fmt.Sprintf(`
|
||||
func testAccDigitalOceanKubernetesConfigBasic(testClusterVersion string, rName string) string {
|
||||
return fmt.Sprintf(`%s
|
||||
|
||||
resource "digitalocean_kubernetes_cluster" "foobar" {
|
||||
name = "%s"
|
||||
region = "lon1"
|
||||
version = "%s"
|
||||
version = data.digitalocean_kubernetes_versions.test.latest_version
|
||||
tags = ["foo","bar", "one"]
|
||||
|
||||
node_pool {
|
||||
|
@ -477,15 +491,16 @@ resource "digitalocean_kubernetes_cluster" "foobar" {
|
|||
}
|
||||
}
|
||||
}
|
||||
`, rName, testClusterVersion)
|
||||
`, testClusterVersion, rName)
|
||||
}
|
||||
|
||||
func testAccDigitalOceanKubernetesConfigBasic2(rName string, testClusterVersion string) string {
|
||||
return fmt.Sprintf(`
|
||||
func testAccDigitalOceanKubernetesConfigBasic2(testClusterVersion string, rName string) string {
|
||||
return fmt.Sprintf(`%s
|
||||
|
||||
resource "digitalocean_kubernetes_cluster" "foobar" {
|
||||
name = "%s"
|
||||
region = "lon1"
|
||||
version = "%s"
|
||||
version = data.digitalocean_kubernetes_versions.test.latest_version
|
||||
tags = ["foo","bar"]
|
||||
|
||||
node_pool {
|
||||
|
@ -499,15 +514,16 @@ resource "digitalocean_kubernetes_cluster" "foobar" {
|
|||
}
|
||||
}
|
||||
}
|
||||
`, rName, testClusterVersion)
|
||||
`, testClusterVersion, rName)
|
||||
}
|
||||
|
||||
func testAccDigitalOceanKubernetesConfigBasic3(rName string, testClusterVersion string) string {
|
||||
return fmt.Sprintf(`
|
||||
func testAccDigitalOceanKubernetesConfigBasic3(testClusterVersion string, rName string) string {
|
||||
return fmt.Sprintf(`%s
|
||||
|
||||
resource "digitalocean_kubernetes_cluster" "foobar" {
|
||||
name = "%s"
|
||||
region = "lon1"
|
||||
version = "%s"
|
||||
version = data.digitalocean_kubernetes_versions.test.latest_version
|
||||
tags = ["foo","bar"]
|
||||
|
||||
node_pool {
|
||||
|
@ -517,15 +533,16 @@ resource "digitalocean_kubernetes_cluster" "foobar" {
|
|||
tags = ["one","two"]
|
||||
}
|
||||
}
|
||||
`, rName, testClusterVersion)
|
||||
`, testClusterVersion, rName)
|
||||
}
|
||||
|
||||
func testAccDigitalOceanKubernetesConfigBasic4(rName string, testClusterVersion string) string {
|
||||
return fmt.Sprintf(`
|
||||
func testAccDigitalOceanKubernetesConfigBasic4(testClusterVersion string, rName string) string {
|
||||
return fmt.Sprintf(`%s
|
||||
|
||||
resource "digitalocean_kubernetes_cluster" "foobar" {
|
||||
name = "%s"
|
||||
region = "lon1"
|
||||
version = "%s"
|
||||
version = data.digitalocean_kubernetes_versions.test.latest_version
|
||||
tags = ["one","two"]
|
||||
|
||||
node_pool {
|
||||
|
@ -535,15 +552,16 @@ resource "digitalocean_kubernetes_cluster" "foobar" {
|
|||
tags = ["foo","bar"]
|
||||
}
|
||||
}
|
||||
`, rName, testClusterVersion)
|
||||
`, testClusterVersion, rName)
|
||||
}
|
||||
|
||||
func testAccDigitalOceanKubernetesConfig_KubernetesProviderInteroperability(rName string, testClusterVersion string) string {
|
||||
return fmt.Sprintf(`
|
||||
func testAccDigitalOceanKubernetesConfig_KubernetesProviderInteroperability(testClusterVersion string, rName string) string {
|
||||
return fmt.Sprintf(`%s
|
||||
|
||||
resource "digitalocean_kubernetes_cluster" "foobar" {
|
||||
name = "%s"
|
||||
region = "lon1"
|
||||
version = "%s"
|
||||
version = data.digitalocean_kubernetes_versions.test.latest_version
|
||||
|
||||
node_pool {
|
||||
name = "default"
|
||||
|
@ -569,7 +587,7 @@ resource "kubernetes_service_account" "tiller" {
|
|||
|
||||
automount_service_account_token = true
|
||||
}
|
||||
`, rName, testClusterVersion)
|
||||
`, testClusterVersion, rName)
|
||||
}
|
||||
|
||||
func testAccCheckDigitalOceanKubernetesClusterDestroy(s *terraform.State) error {
|
||||
|
|
|
@ -92,11 +92,12 @@ func TestAccDigitalOceanKubernetesNodePool_CreateWithAutoScale(t *testing.T) {
|
|||
Steps: []resource.TestStep{
|
||||
// Create without auto-scaling.
|
||||
{
|
||||
Config: fmt.Sprintf(`
|
||||
Config: fmt.Sprintf(`%s
|
||||
|
||||
resource "digitalocean_kubernetes_cluster" "foobar" {
|
||||
name = "%s"
|
||||
region = "lon1"
|
||||
version = "%s"
|
||||
version = data.digitalocean_kubernetes_versions.test.latest_version
|
||||
|
||||
node_pool {
|
||||
name = "default"
|
||||
|
@ -114,7 +115,7 @@ func TestAccDigitalOceanKubernetesNodePool_CreateWithAutoScale(t *testing.T) {
|
|||
min_nodes = 1
|
||||
max_nodes = 5
|
||||
}
|
||||
`, rName, testClusterVersion16, rName),
|
||||
`, testClusterVersion16, rName, rName),
|
||||
Check: resource.ComposeAggregateTestCheckFunc(
|
||||
testAccCheckDigitalOceanKubernetesClusterExists("digitalocean_kubernetes_cluster.foobar", &k8s),
|
||||
testAccCheckDigitalOceanKubernetesNodePoolExists("digitalocean_kubernetes_node_pool.barfoo", &k8s, &k8sPool),
|
||||
|
@ -130,11 +131,12 @@ func TestAccDigitalOceanKubernetesNodePool_CreateWithAutoScale(t *testing.T) {
|
|||
},
|
||||
// Remove node count, keep auto-scaling.
|
||||
{
|
||||
Config: fmt.Sprintf(`
|
||||
Config: fmt.Sprintf(`%s
|
||||
|
||||
resource "digitalocean_kubernetes_cluster" "foobar" {
|
||||
name = "%s"
|
||||
region = "lon1"
|
||||
version = "%s"
|
||||
version = data.digitalocean_kubernetes_versions.test.latest_version
|
||||
|
||||
node_pool {
|
||||
name = "default"
|
||||
|
@ -151,7 +153,7 @@ func TestAccDigitalOceanKubernetesNodePool_CreateWithAutoScale(t *testing.T) {
|
|||
min_nodes = 1
|
||||
max_nodes = 3
|
||||
}
|
||||
`, rName, testClusterVersion16, rName),
|
||||
`, testClusterVersion16, rName, rName),
|
||||
Check: resource.ComposeAggregateTestCheckFunc(
|
||||
testAccCheckDigitalOceanKubernetesClusterExists("digitalocean_kubernetes_cluster.foobar", &k8s),
|
||||
testAccCheckDigitalOceanKubernetesNodePoolExists("digitalocean_kubernetes_node_pool.barfoo", &k8s, &k8sPool),
|
||||
|
@ -167,11 +169,12 @@ func TestAccDigitalOceanKubernetesNodePool_CreateWithAutoScale(t *testing.T) {
|
|||
},
|
||||
// Update node count, keep auto-scaling.
|
||||
{
|
||||
Config: fmt.Sprintf(`
|
||||
Config: fmt.Sprintf(`%s
|
||||
|
||||
resource "digitalocean_kubernetes_cluster" "foobar" {
|
||||
name = "%s"
|
||||
region = "lon1"
|
||||
version = "%s"
|
||||
version = data.digitalocean_kubernetes_versions.test.latest_version
|
||||
|
||||
node_pool {
|
||||
name = "default"
|
||||
|
@ -189,7 +192,7 @@ func TestAccDigitalOceanKubernetesNodePool_CreateWithAutoScale(t *testing.T) {
|
|||
min_nodes = 1
|
||||
max_nodes = 3
|
||||
}
|
||||
`, rName, testClusterVersion16, rName),
|
||||
`, testClusterVersion16, rName, rName),
|
||||
Check: resource.ComposeAggregateTestCheckFunc(
|
||||
testAccCheckDigitalOceanKubernetesClusterExists("digitalocean_kubernetes_cluster.foobar", &k8s),
|
||||
testAccCheckDigitalOceanKubernetesNodePoolExists("digitalocean_kubernetes_node_pool.barfoo", &k8s, &k8sPool),
|
||||
|
@ -205,11 +208,12 @@ func TestAccDigitalOceanKubernetesNodePool_CreateWithAutoScale(t *testing.T) {
|
|||
},
|
||||
// Disable auto-scaling.
|
||||
{
|
||||
Config: fmt.Sprintf(`
|
||||
Config: fmt.Sprintf(`%s
|
||||
|
||||
resource "digitalocean_kubernetes_cluster" "foobar" {
|
||||
name = "%s"
|
||||
region = "lon1"
|
||||
version = "%s"
|
||||
version = data.digitalocean_kubernetes_versions.test.latest_version
|
||||
|
||||
node_pool {
|
||||
name = "default"
|
||||
|
@ -224,7 +228,7 @@ func TestAccDigitalOceanKubernetesNodePool_CreateWithAutoScale(t *testing.T) {
|
|||
size = "s-1vcpu-2gb"
|
||||
node_count = 2
|
||||
}
|
||||
`, rName, testClusterVersion16, rName),
|
||||
`, testClusterVersion16, rName, rName),
|
||||
Check: resource.ComposeAggregateTestCheckFunc(
|
||||
testAccCheckDigitalOceanKubernetesClusterExists("digitalocean_kubernetes_cluster.foobar", &k8s),
|
||||
testAccCheckDigitalOceanKubernetesNodePoolExists("digitalocean_kubernetes_node_pool.barfoo", &k8s, &k8sPool),
|
||||
|
@ -255,11 +259,12 @@ func TestAccDigitalOceanKubernetesNodePool_UpdateWithAutoScale(t *testing.T) {
|
|||
Steps: []resource.TestStep{
|
||||
// Create without auto-scaling.
|
||||
{
|
||||
Config: fmt.Sprintf(`
|
||||
Config: fmt.Sprintf(`%s
|
||||
|
||||
resource "digitalocean_kubernetes_cluster" "foobar" {
|
||||
name = "%s"
|
||||
region = "lon1"
|
||||
version = "%s"
|
||||
version = data.digitalocean_kubernetes_versions.test.latest_version
|
||||
|
||||
node_pool {
|
||||
name = "default"
|
||||
|
@ -274,7 +279,7 @@ func TestAccDigitalOceanKubernetesNodePool_UpdateWithAutoScale(t *testing.T) {
|
|||
size = "s-1vcpu-2gb"
|
||||
node_count = 1
|
||||
}
|
||||
`, rName, testClusterVersion16, rName),
|
||||
`, testClusterVersion16, rName, rName),
|
||||
Check: resource.ComposeAggregateTestCheckFunc(
|
||||
testAccCheckDigitalOceanKubernetesClusterExists("digitalocean_kubernetes_cluster.foobar", &k8s),
|
||||
testAccCheckDigitalOceanKubernetesNodePoolExists("digitalocean_kubernetes_node_pool.barfoo", &k8s, &k8sPool),
|
||||
|
@ -290,11 +295,12 @@ func TestAccDigitalOceanKubernetesNodePool_UpdateWithAutoScale(t *testing.T) {
|
|||
},
|
||||
// Update to enable auto-scaling.
|
||||
{
|
||||
Config: fmt.Sprintf(`
|
||||
Config: fmt.Sprintf(`%s
|
||||
|
||||
resource "digitalocean_kubernetes_cluster" "foobar" {
|
||||
name = "%s"
|
||||
region = "lon1"
|
||||
version = "%s"
|
||||
version = data.digitalocean_kubernetes_versions.test.latest_version
|
||||
|
||||
node_pool {
|
||||
name = "default"
|
||||
|
@ -312,7 +318,7 @@ func TestAccDigitalOceanKubernetesNodePool_UpdateWithAutoScale(t *testing.T) {
|
|||
min_nodes = 1
|
||||
max_nodes = 3
|
||||
}
|
||||
`, rName, testClusterVersion16, rName),
|
||||
`, testClusterVersion16, rName, rName),
|
||||
Check: resource.ComposeAggregateTestCheckFunc(
|
||||
testAccCheckDigitalOceanKubernetesClusterExists("digitalocean_kubernetes_cluster.foobar", &k8s),
|
||||
testAccCheckDigitalOceanKubernetesNodePoolExists("digitalocean_kubernetes_node_pool.barfoo", &k8s, &k8sPool),
|
||||
|
@ -328,11 +334,12 @@ func TestAccDigitalOceanKubernetesNodePool_UpdateWithAutoScale(t *testing.T) {
|
|||
},
|
||||
// Remove node count, keep auto-scaling.
|
||||
{
|
||||
Config: fmt.Sprintf(`
|
||||
Config: fmt.Sprintf(`%s
|
||||
|
||||
resource "digitalocean_kubernetes_cluster" "foobar" {
|
||||
name = "%s"
|
||||
region = "lon1"
|
||||
version = "%s"
|
||||
version = data.digitalocean_kubernetes_versions.test.latest_version
|
||||
|
||||
node_pool {
|
||||
name = "default"
|
||||
|
@ -349,7 +356,7 @@ func TestAccDigitalOceanKubernetesNodePool_UpdateWithAutoScale(t *testing.T) {
|
|||
min_nodes = 1
|
||||
max_nodes = 3
|
||||
}
|
||||
`, rName, testClusterVersion16, rName),
|
||||
`, testClusterVersion16, rName, rName),
|
||||
Check: resource.ComposeAggregateTestCheckFunc(
|
||||
testAccCheckDigitalOceanKubernetesClusterExists("digitalocean_kubernetes_cluster.foobar", &k8s),
|
||||
testAccCheckDigitalOceanKubernetesNodePoolExists("digitalocean_kubernetes_node_pool.barfoo", &k8s, &k8sPool),
|
||||
|
@ -397,11 +404,12 @@ func TestAccDigitalOceanKubernetesNodePool_WithEmptyNodePool(t *testing.T) {
|
|||
}
|
||||
|
||||
func testAccDigitalOceanKubernetesConfigBasicWithNodePool(rName string) string {
|
||||
return fmt.Sprintf(`
|
||||
return fmt.Sprintf(`%s
|
||||
|
||||
resource "digitalocean_kubernetes_cluster" "foobar" {
|
||||
name = "%s"
|
||||
region = "lon1"
|
||||
version = "%s"
|
||||
version = data.digitalocean_kubernetes_versions.test.latest_version
|
||||
tags = ["foo","bar"]
|
||||
|
||||
node_pool {
|
||||
|
@ -420,15 +428,16 @@ resource digitalocean_kubernetes_node_pool "barfoo" {
|
|||
node_count = 1
|
||||
tags = ["three","four"]
|
||||
}
|
||||
`, rName, testClusterVersion16, rName)
|
||||
`, testClusterVersion16, rName, rName)
|
||||
}
|
||||
|
||||
func testAccDigitalOceanKubernetesConfigBasicWithNodePool2(rName string) string {
|
||||
return fmt.Sprintf(`
|
||||
return fmt.Sprintf(`%s
|
||||
|
||||
resource "digitalocean_kubernetes_cluster" "foobar" {
|
||||
name = "%s"
|
||||
region = "lon1"
|
||||
version = "%s"
|
||||
version = data.digitalocean_kubernetes_versions.test.latest_version
|
||||
tags = ["foo","bar"]
|
||||
|
||||
node_pool {
|
||||
|
@ -440,7 +449,7 @@ resource "digitalocean_kubernetes_cluster" "foobar" {
|
|||
}
|
||||
|
||||
resource digitalocean_kubernetes_node_pool "barfoo" {
|
||||
cluster_id = "${digitalocean_kubernetes_cluster.foobar.id}"
|
||||
cluster_id = "${digitalocean_kubernetes_cluster.foobar.id}"
|
||||
|
||||
name = "%s-updated"
|
||||
size = "s-1vcpu-2gb"
|
||||
|
@ -450,15 +459,16 @@ resource digitalocean_kubernetes_node_pool "barfoo" {
|
|||
priority = "high"
|
||||
}
|
||||
}
|
||||
`, rName, testClusterVersion16, rName)
|
||||
`, testClusterVersion16, rName, rName)
|
||||
}
|
||||
|
||||
func testAccDigitalOceanKubernetesConfigWithEmptyNodePool(rName string) string {
|
||||
return fmt.Sprintf(`
|
||||
return fmt.Sprintf(`%s
|
||||
|
||||
resource "digitalocean_kubernetes_cluster" "foobar" {
|
||||
name = "%s"
|
||||
region = "lon1"
|
||||
version = "%s"
|
||||
version = data.digitalocean_kubernetes_versions.test.latest_version
|
||||
|
||||
node_pool {
|
||||
name = "default"
|
||||
|
@ -476,7 +486,7 @@ resource digitalocean_kubernetes_node_pool "barfoo" {
|
|||
min_nodes = 0
|
||||
max_nodes = 3
|
||||
}
|
||||
`, rName, testClusterVersion16, rName)
|
||||
`, testClusterVersion16, rName, rName)
|
||||
}
|
||||
|
||||
func testAccCheckDigitalOceanKubernetesNodePoolExists(n string, cluster *godo.KubernetesCluster, pool *godo.KubernetesNodePool) resource.TestCheckFunc {
|
||||
|
|
Loading…
Reference in New Issue