Skip to content

Commit

Permalink
remove test for upgrading to latest LavinMQ. Remove lavinmq-specific …
Browse files Browse the repository at this point in the history
…instance configurations, add plan variable to instance/instance_with_version instead.
  • Loading branch information
viktorerlingsson committed Sep 3, 2024
1 parent 8a59686 commit 6d0334d
Show file tree
Hide file tree
Showing 7 changed files with 218 additions and 2,297 deletions.
100 changes: 14 additions & 86 deletions cloudamqp/resource_cloudamqp_upgrade_lavinmq_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,112 +10,40 @@ import (
"github.com/cloudamqp/terraform-provider-cloudamqp/cloudamqp/vcr-testing/converter"
)

// TestAccUpgradeLavinMQ_Latest: Upgrade LavinMQ to latest possible version, from 1.3.0 -> 2.0.0-rc.3
// Extra checks are needed when comparing versions, because next step is executed before backend
// have been updated. Same reason unable to use cloudamqp_upgradable_versions data source correctly.
func TestAccUpgradeLavinMQ_Latest(t *testing.T) {
var (
fileNames = []string{"instance_with_version_lavinmq", "data_source/nodes"}
instanceResourceName = "cloudamqp_instance.instance"
dataSourceNodesName = "data.cloudamqp_nodes.nodes"

params = map[string]string{
"InstanceName": "TestAccUpgradeLavinMQ_Latest",
"InstanceTags": converter.CommaStringArray([]string{"terraform"}),
"InstanceID": fmt.Sprintf("%s.id", instanceResourceName),
"InstanceRmqVersion": "1.3.0",
}

fileNamesUpgrade = []string{"instance_lavinmq", "data_source/nodes", "upgrade_lavinmq"}

paramsUpgrade01 = map[string]string{
"InstanceName": "TestAccUpgradeLavinMQ_Latest",
"InstanceTags": converter.CommaStringArray([]string{"terraform"}),
"InstanceID": fmt.Sprintf("%s.id", instanceResourceName),
"UpgradeLavinMQNewVersion": "2.0.0-rc.3",
}

fileNamesCheckUpgrade = []string{"instance_lavinmq", "data_source/nodes"}
paramsCheck = map[string]string{
"InstanceName": "TestAccUpgradeLavinMQ_Latest",
"InstanceTags": converter.CommaStringArray([]string{"terraform"}),
"InstanceID": fmt.Sprintf("%s.id", instanceResourceName),
}
)

cloudamqpResourceTest(t, resource.TestCase{
PreCheck: func() { testAccPreCheck(t) },
ProviderFactories: testAccProviderFactory,
Steps: []resource.TestStep{
{
Config: configuration.GetTemplatedConfig(t, fileNames, params),
Check: resource.ComposeAggregateTestCheckFunc(
resource.TestCheckResourceAttr(instanceResourceName, "name", params["InstanceName"]),
resource.TestCheckResourceAttr(instanceResourceName, "plan", "wolverine-1"),
resource.TestCheckResourceAttr(instanceResourceName, "region", "amazon-web-services::us-east-1"),
resource.TestCheckResourceAttr(instanceResourceName, "rmq_version", params["InstanceRmqVersion"]),
resource.TestCheckResourceAttr(instanceResourceName, "tags.#", "1"),
resource.TestCheckResourceAttr(instanceResourceName, "tags.0", "terraform"),
resource.TestCheckResourceAttr(instanceResourceName, "nodes", "1"),
resource.TestCheckResourceAttr(dataSourceNodesName, "nodes.#", "1"),
resource.TestCheckResourceAttr(dataSourceNodesName, "nodes.0.rabbitmq_version", params["InstanceRmqVersion"]),
),
},
{
Config: configuration.GetTemplatedConfig(t, fileNamesUpgrade, paramsUpgrade01),
Check: resource.ComposeAggregateTestCheckFunc(
resource.TestCheckResourceAttr(dataSourceNodesName, "nodes.#", "1"),
resource.TestCheckResourceAttr(dataSourceNodesName, "nodes.0.rabbitmq_version", "1.3.0"),
),
},
{
Config: configuration.GetTemplatedConfig(t, fileNamesCheckUpgrade, paramsCheck),
Check: resource.ComposeAggregateTestCheckFunc(
resource.TestCheckResourceAttr(dataSourceNodesName, "nodes.#", "1"),
resource.TestCheckResourceAttr(dataSourceNodesName, "nodes.0.rabbitmq_version", "2.0.0-rc.3"),
),
},
{
Config: configuration.GetTemplatedConfig(t, fileNamesCheckUpgrade, paramsCheck),
Check: resource.ComposeAggregateTestCheckFunc(
resource.TestCheckResourceAttr(dataSourceNodesName, "nodes.#", "1"),
resource.TestCheckResourceAttr(dataSourceNodesName, "nodes.0.rabbitmq_version", "2.0.0-rc.3"),
),
},
},
})
}

// TestAccUpgradeLavintMQ_Specific: Upgrade LavinMQ to a specific version, from 1.3.0 -> 2.0.0-rc.3
// TestAccUpgradeLavintMQ: Upgrade LavinMQ to a specific version, from 1.3.1 -> 2.0.0-rc.3
// Extra checks are needed when comparing versions, because next step is executed before backend
// have been updated.
func TestAccUpgradeLavinMQ_Specific(t *testing.T) {
func TestAccUpgradeLavinMQ(t *testing.T) {
var (
fileNames = []string{"instance_with_version_lavinmq", "data_source/nodes"}
fileNames = []string{"instance_with_version", "data_source/nodes"}
instanceResourceName = "cloudamqp_instance.instance"
dataSourceNodesName = "data.cloudamqp_nodes.nodes"
plan = "wolverine-1"

params = map[string]string{
"InstanceName": "TestAccUpgradeLavinMQ_Latest",
"InstanceName": "TestAccUpgradeLavinMQ",
"InstanceTags": converter.CommaStringArray([]string{"terraform"}),
"InstanceID": fmt.Sprintf("%s.id", instanceResourceName),
"InstanceRmqVersion": "1.3.0",
"InstanceRmqVersion": "1.3.1",
"InstancePlan": plan,
}

fileNamesUpgrade = []string{"instance_lavinmq", "data_source/nodes", "upgrade_lavinmq"}
fileNamesUpgrade = []string{"instance", "data_source/nodes", "upgrade_lavinmq"}

paramsUpgrade01 = map[string]string{
"InstanceName": "TestAccUpgradeLavinMQ_Latest",
"InstanceName": "TestAccUpgradeLavinMQ",
"InstanceTags": converter.CommaStringArray([]string{"terraform"}),
"InstanceID": fmt.Sprintf("%s.id", instanceResourceName),
"UpgradeLavinMQNewVersion": "2.0.0-rc.3",
"InstancePlan": plan,
}

fileNamesCheckUpgrade = []string{"instance_lavinmq", "data_source/nodes"}
fileNamesCheckUpgrade = []string{"instance", "data_source/nodes"}
paramsCheck = map[string]string{
"InstanceName": "TestAccUpgradeLavinMQ_Latest",
"InstanceName": "TestAccUpgradeLavinMQ",
"InstanceTags": converter.CommaStringArray([]string{"terraform"}),
"InstanceID": fmt.Sprintf("%s.id", instanceResourceName),
"InstancePlan": plan,
}
)

Expand All @@ -141,7 +69,7 @@ func TestAccUpgradeLavinMQ_Specific(t *testing.T) {
Config: configuration.GetTemplatedConfig(t, fileNamesUpgrade, paramsUpgrade01),
Check: resource.ComposeAggregateTestCheckFunc(
resource.TestCheckResourceAttr(dataSourceNodesName, "nodes.#", "1"),
resource.TestCheckResourceAttr(dataSourceNodesName, "nodes.0.rabbitmq_version", "1.3.0"),
resource.TestCheckResourceAttr(dataSourceNodesName, "nodes.0.rabbitmq_version", "1.3.1"),
),
},
{
Expand Down
2 changes: 1 addition & 1 deletion test/configurations/instance.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
resource "cloudamqp_instance" "instance" {
name = "{{or .InstanceName `TestAccInstance`}}"
plan = "{{or .InstancePlan `bunny-1`}}"
region = "{{or .InstanceRegion `amazon-web-services::us-east-1`}}"
tags = {{or .InstanceTags `["terraform"]`}}
plan = "{{.InstancePlan}}"
}
6 changes: 0 additions & 6 deletions test/configurations/instance_lavinmq.txt

This file was deleted.

2 changes: 1 addition & 1 deletion test/configurations/instance_with_version.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
resource "cloudamqp_instance" "instance" {
name = "{{or .InstanceName `TestAccInstance`}}"
plan = "{{or .InstancePlan `bunny-1`}}"
plan = "{{.InstancePlan}}"
region = "{{or .InstanceRegion `amazon-web-services::us-east-1`}}"
tags = {{or .InstanceTags `["terraform"]`}}
rmq_version = "{{.InstanceRmqVersion}}"
Expand Down
7 changes: 0 additions & 7 deletions test/configurations/instance_with_version_lavinmq.txt

This file was deleted.

Loading

0 comments on commit 6d0334d

Please sign in to comment.