From c4135f8d7b8a600b25f84523f9502bcd18eca8df Mon Sep 17 00:00:00 2001 From: Lorna-Kelly Date: Thu, 7 Nov 2024 09:16:20 +0000 Subject: [PATCH] Fix to tests --- .../resource_ibm_database_edb_test.go | 61 ++++++++----- .../resource_ibm_database_mysql_test.go | 87 ++++++++++--------- .../resource_ibm_database_postgresql_test.go | 83 +++++++++--------- 3 files changed, 128 insertions(+), 103 deletions(-) diff --git a/ibm/service/database/resource_ibm_database_edb_test.go b/ibm/service/database/resource_ibm_database_edb_test.go index 81d92c1a1af..bf15266c836 100644 --- a/ibm/service/database/resource_ibm_database_edb_test.go +++ b/ibm/service/database/resource_ibm_database_edb_test.go @@ -105,23 +105,33 @@ func TestAccIBMDatabaseInstanceEDBReadReplicaPromotion(t *testing.T) { CheckDestroy: testAccCheckIBMDatabaseInstanceDestroy, Steps: []resource.TestStep{ { - Config: acc.ConfigCompose( - testAccCheckIBMDatabaseInstanceEDBMinimal(databaseResourceGroup, serviceName), - testAccCheckIBMDatabaseInstanceEDBMinimal_ReadReplica(databaseResourceGroup, serviceName, sourceInstanceCRN)), + Config: testAccCheckIBMDatabaseInstanceEDBMinimal(databaseResourceGroup, serviceName), Check: resource.ComposeAggregateTestCheckFunc( testAccCheckIBMDatabaseInstanceExists(sourceResource, &sourceInstanceCRN), - testAccCheckIBMDatabaseInstanceExists(replicaReplicaResource, &replicaInstanceCRN), resource.TestCheckResourceAttr(sourceResource, "name", serviceName), resource.TestCheckResourceAttr(sourceResource, "service", "databases-for-enterprisedb"), resource.TestCheckResourceAttr(sourceResource, "plan", "standard"), resource.TestCheckResourceAttr(sourceResource, "location", acc.Region()), + ), + }, + { + Config: acc.ConfigCompose( + testAccCheckIBMDatabaseInstanceEDBMinimal(databaseResourceGroup, serviceName), + testAccCheckIBMDatabaseInstanceEDBMinimal_ReadReplica(databaseResourceGroup, serviceName)), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckIBMDatabaseInstanceExists(replicaReplicaResource, &replicaInstanceCRN), resource.TestCheckResourceAttr(replicaReplicaResource, "name", readReplicaName), - resource.TestCheckResourceAttr(replicaReplicaResource, "remote_leader_id", sourceInstanceCRN), + resource.TestCheckResourceAttr(replicaReplicaResource, "service", "databases-for-enterprisedb"), + resource.TestCheckResourceAttr(replicaReplicaResource, "plan", "standard"), + resource.TestCheckResourceAttr(replicaReplicaResource, "location", acc.Region()), ), }, { - Config: testAccCheckIBMDatabaseInstanceEDBReadReplicaPromotion(databaseResourceGroup, serviceName), + Config: acc.ConfigCompose( + testAccCheckIBMDatabaseInstanceEDBMinimal(databaseResourceGroup, serviceName), + testAccCheckIBMDatabaseInstanceEDBReadReplicaPromote(databaseResourceGroup, readReplicaName)), Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckIBMDatabaseInstanceExists(sourceResource, &sourceInstanceCRN), testAccCheckIBMDatabaseInstanceExists(replicaReplicaResource, &replicaInstanceCRN), resource.TestCheckResourceAttr(replicaReplicaResource, "name", readReplicaName), resource.TestCheckResourceAttr(replicaReplicaResource, "service", "databases-for-enterprisedb"), @@ -148,7 +158,7 @@ func testAccCheckIBMDatabaseInstanceEDBMinimal(databaseResourceGroup string, nam service = "databases-for-enterprisedb" plan = "standard" location = "%[3]s" - service_endpoints = "public-and-private" + service_endpoints = "public-and-private" group { group_id = "member" host_flavor { @@ -159,7 +169,7 @@ func testAccCheckIBMDatabaseInstanceEDBMinimal(databaseResourceGroup string, nam } } } - `, databaseResourceGroup, name, acc.Region()) + `, databaseResourceGroup, name, acc.Region()) } func testAccCheckIBMDatabaseInstanceEDBBasic(databaseResourceGroup string, name string) string { @@ -285,18 +295,17 @@ func testAccCheckIBMDatabaseInstanceEDBReduced(databaseResourceGroup string, nam `, databaseResourceGroup, name, acc.Region()) } -func testAccCheckIBMDatabaseInstanceEDBMinimal_ReadReplica(databaseResourceGroup string, name string, sourceInstanceCRN string) string { - +func testAccCheckIBMDatabaseInstanceEDBMinimal_ReadReplica(databaseResourceGroup string, name string) string { return fmt.Sprintf(` resource "ibm_database" "%[2]s-replica" { - depends_on = [ibm_database.%[2]s] resource_group_id = data.ibm_resource_group.test_acc.id name = "%[2]s-replica" service = "databases-for-enterprisedb" plan = "standard" location = "%[3]s" service_endpoints = "public-and-private" - remote_leader_id = "%[4]s" + remote_leader_id = ibm_database.%[2]s.id + group { group_id = "member" host_flavor { @@ -307,24 +316,30 @@ func testAccCheckIBMDatabaseInstanceEDBMinimal_ReadReplica(databaseResourceGroup } } } - `, databaseResourceGroup, name, acc.Region(), sourceInstanceCRN) + `, databaseResourceGroup, name, acc.Region()) } -func testAccCheckIBMDatabaseInstanceEDBReadReplicaPromotion(databaseResourceGroup string, name string) string { +func testAccCheckIBMDatabaseInstanceEDBReadReplicaPromote(databaseResourceGroup string, readReplicaName string) string { return fmt.Sprintf(` - data "ibm_resource_group" "test_acc" { - is_default = true - # name = "%[1]s" - } - - resource "ibm_database" "%[2]s-replica" { - resource_group_id = data.ibm_resource_group.test_acc.id - name = "%[2]s-replica" + resource "ibm_database" "%[2]s" { + resource_group_id = data.ibm_resource_group.test_acc.id + name = "%[2]s" service = "databases-for-enterprisedb" plan = "standard" location = "%[3]s" service_endpoints = "public-and-private" + remote_leader_id = "" skip_initial_backup = true + + group { + group_id = "member" + host_flavor { + id = "b3c.4x16.encrypted" + } + disk { + allocation_mb = 20480 + } + } } - `, databaseResourceGroup, name, acc.Region()) + `, databaseResourceGroup, readReplicaName, acc.Region()) } diff --git a/ibm/service/database/resource_ibm_database_mysql_test.go b/ibm/service/database/resource_ibm_database_mysql_test.go index 5bf3805beb8..af0bb87ebb5 100644 --- a/ibm/service/database/resource_ibm_database_mysql_test.go +++ b/ibm/service/database/resource_ibm_database_mysql_test.go @@ -82,22 +82,31 @@ func TestAccIBMDatabaseInstanceMySQLReadReplicaPromotion(t *testing.T) { CheckDestroy: testAccCheckIBMDatabaseInstanceDestroy, Steps: []resource.TestStep{ { - Config: acc.ConfigCompose( - testAccCheckIBMDatabaseInstanceMySQLMinimal(databaseResourceGroup, serviceName), - testAccCheckIBMDatabaseInstanceMySQLMinimal_ReadReplica(databaseResourceGroup, serviceName, sourceInstanceCRN)), + Config: testAccCheckIBMDatabaseInstanceMySQLMinimal(databaseResourceGroup, serviceName), Check: resource.ComposeAggregateTestCheckFunc( testAccCheckIBMDatabaseInstanceExists(sourceResource, &sourceInstanceCRN), - testAccCheckIBMDatabaseInstanceExists(replicaReplicaResource, &replicaInstanceCRN), resource.TestCheckResourceAttr(sourceResource, "name", serviceName), resource.TestCheckResourceAttr(sourceResource, "service", "databases-for-mysql"), resource.TestCheckResourceAttr(sourceResource, "plan", "standard"), resource.TestCheckResourceAttr(sourceResource, "location", acc.Region()), + ), + }, + { + Config: acc.ConfigCompose( + testAccCheckIBMDatabaseInstanceMySQLMinimal(databaseResourceGroup, serviceName), + testAccCheckIBMDatabaseInstanceMySQLMinimal_ReadReplica(databaseResourceGroup, serviceName)), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckIBMDatabaseInstanceExists(replicaReplicaResource, &replicaInstanceCRN), resource.TestCheckResourceAttr(replicaReplicaResource, "name", readReplicaName), - resource.TestCheckResourceAttr(replicaReplicaResource, "remote_leader_id", sourceInstanceCRN), + resource.TestCheckResourceAttr(replicaReplicaResource, "service", "databases-for-mysql"), + resource.TestCheckResourceAttr(replicaReplicaResource, "plan", "standard"), + resource.TestCheckResourceAttr(replicaReplicaResource, "location", acc.Region()), ), }, { - Config: testAccCheckIBMDatabaseInstanceMySQLReadReplicaPromotion(databaseResourceGroup, serviceName), + Config: acc.ConfigCompose( + testAccCheckIBMDatabaseInstanceMySQLMinimal(databaseResourceGroup, serviceName), + testAccCheckIBMDatabaseInstanceMySQLReadReplicaPromote(databaseResourceGroup, readReplicaName)), Check: resource.ComposeAggregateTestCheckFunc( testAccCheckIBMDatabaseInstanceExists(replicaReplicaResource, &replicaInstanceCRN), resource.TestCheckResourceAttr(replicaReplicaResource, "name", readReplicaName), @@ -125,9 +134,38 @@ func testAccCheckIBMDatabaseInstanceMySQLMinimal(databaseResourceGroup string, n service = "databases-for-mysql" plan = "standard" location = "%[3]s" - service_endpoints = "public-and-private" + service_endpoints = "public-and-private" } - `, databaseResourceGroup, name, acc.Region()) + `, databaseResourceGroup, name, acc.Region()) +} + +func testAccCheckIBMDatabaseInstanceMySQLMinimal_ReadReplica(databaseResourceGroup string, name string) string { + return fmt.Sprintf(` + resource "ibm_database" "%[2]s-replica" { + resource_group_id = data.ibm_resource_group.test_acc.id + name = "%[2]s-replica" + service = "databases-for-mysql" + plan = "standard" + location = "%[3]s" + service_endpoints = "public-and-private" + remote_leader_id = ibm_database.%[2]s.id + } + `, databaseResourceGroup, name, acc.Region()) +} + +func testAccCheckIBMDatabaseInstanceMySQLReadReplicaPromote(databaseResourceGroup string, readReplicaName string) string { + return fmt.Sprintf(` + resource "ibm_database" "%[2]s" { + resource_group_id = data.ibm_resource_group.test_acc.id + name = "%[2]s" + service = "databases-for-mysql" + plan = "standard" + location = "%[3]s" + service_endpoints = "public-and-private" + remote_leader_id = "" + skip_initial_backup = true + } + `, databaseResourceGroup, readReplicaName, acc.Region()) } func testAccCheckIBMDatabaseInstanceMysqlBasic(databaseResourceGroup string, name string) string { @@ -234,36 +272,3 @@ func testAccCheckIBMDatabaseInstanceMysqlFullyspecified(databaseResourceGroup st } `, databaseResourceGroup, name, acc.Region()) } - -func testAccCheckIBMDatabaseInstanceMySQLMinimal_ReadReplica(databaseResourceGroup string, name string, sourceInstanceCRN string) string { - return fmt.Sprintf(` - resource "ibm_database" "%[2]s-replica" { - resource_group_id = data.ibm_resource_group.test_acc.id - name = "%[2]s-replica" - service = "databases-for-mysql" - plan = "standard" - location = "%[3]s" - service_endpoints = "public-and-private" - remote_leader_id = "%[4]s" - } - `, databaseResourceGroup, name, acc.Region(), sourceInstanceCRN) -} - -func testAccCheckIBMDatabaseInstanceMySQLReadReplicaPromotion(databaseResourceGroup string, name string) string { - return fmt.Sprintf(` - data "ibm_resource_group" "test_acc" { - is_default = true - # name = "%[1]s" - } - - resource "ibm_database" "%[2]s-replica" { - resource_group_id = data.ibm_resource_group.test_acc.id - name = "%[2]s-replica" - service = "databases-for-mysql" - plan = "standard" - location = "%[3]s" - service_endpoints = "public-and-private" - skip_initial_backup = true - } - `, databaseResourceGroup, name, acc.Region()) -} diff --git a/ibm/service/database/resource_ibm_database_postgresql_test.go b/ibm/service/database/resource_ibm_database_postgresql_test.go index 4d19a342d04..a8c6453c0af 100644 --- a/ibm/service/database/resource_ibm_database_postgresql_test.go +++ b/ibm/service/database/resource_ibm_database_postgresql_test.go @@ -276,22 +276,31 @@ func TestAccIBMDatabaseInstancePostgresReadReplicaPromotion(t *testing.T) { CheckDestroy: testAccCheckIBMDatabaseInstanceDestroy, Steps: []resource.TestStep{ { - Config: acc.ConfigCompose( - testAccCheckIBMDatabaseInstancePostgresMinimal(databaseResourceGroup, serviceName), - testAccCheckIBMDatabaseInstancePostgresMinimal_ReadReplica(databaseResourceGroup, serviceName, sourceInstanceCRN)), + Config: testAccCheckIBMDatabaseInstancePostgresMinimal(databaseResourceGroup, serviceName), Check: resource.ComposeAggregateTestCheckFunc( testAccCheckIBMDatabaseInstanceExists(sourceResource, &sourceInstanceCRN), - testAccCheckIBMDatabaseInstanceExists(replicaReplicaResource, &replicaInstanceCRN), resource.TestCheckResourceAttr(sourceResource, "name", serviceName), resource.TestCheckResourceAttr(sourceResource, "service", "databases-for-postgresql"), resource.TestCheckResourceAttr(sourceResource, "plan", "standard"), resource.TestCheckResourceAttr(sourceResource, "location", acc.Region()), + ), + }, + { + Config: acc.ConfigCompose( + testAccCheckIBMDatabaseInstancePostgresMinimal(databaseResourceGroup, serviceName), + testAccCheckIBMDatabaseInstancePostgresMinimal_ReadReplica(databaseResourceGroup, serviceName)), + Check: resource.ComposeAggregateTestCheckFunc( + testAccCheckIBMDatabaseInstanceExists(replicaReplicaResource, &replicaInstanceCRN), resource.TestCheckResourceAttr(replicaReplicaResource, "name", readReplicaName), - resource.TestCheckResourceAttr(replicaReplicaResource, "remote_leader_id", sourceInstanceCRN), + resource.TestCheckResourceAttr(replicaReplicaResource, "service", "databases-for-postgresql"), + resource.TestCheckResourceAttr(replicaReplicaResource, "plan", "standard"), + resource.TestCheckResourceAttr(replicaReplicaResource, "location", acc.Region()), ), }, { - Config: testAccCheckIBMDatabaseInstancePostgresReadReplicaPromotion(databaseResourceGroup, serviceName), + Config: acc.ConfigCompose( + testAccCheckIBMDatabaseInstancePostgresMinimal(databaseResourceGroup, serviceName), + testAccCheckIBMDatabaseInstancePostgresReadReplicaPromote(databaseResourceGroup, readReplicaName)), Check: resource.ComposeAggregateTestCheckFunc( testAccCheckIBMDatabaseInstanceExists(replicaReplicaResource, &replicaInstanceCRN), resource.TestCheckResourceAttr(replicaReplicaResource, "name", readReplicaName), @@ -306,39 +315,6 @@ func TestAccIBMDatabaseInstancePostgresReadReplicaPromotion(t *testing.T) { }) } -func testAccCheckIBMDatabaseInstancePostgresMinimal_ReadReplica(databaseResourceGroup string, name string, sourceInstanceCRN string) string { - return fmt.Sprintf(` - resource "ibm_database" "%[2]s-replica" { - resource_group_id = data.ibm_resource_group.test_acc.id - name = "%[2]s-replica" - service = "databases-for-postgresql" - plan = "standard" - location = "%[3]s" - service_endpoints = "public-and-private" - remote_leader_id = "%[4]s" - } - `, databaseResourceGroup, name, acc.Region(), sourceInstanceCRN) -} - -func testAccCheckIBMDatabaseInstancePostgresReadReplicaPromotion(databaseResourceGroup string, name string) string { - return fmt.Sprintf(` - data "ibm_resource_group" "test_acc" { - is_default = true - # name = "%[1]s" - } - - resource "ibm_database" "%[2]s-replica" { - resource_group_id = data.ibm_resource_group.test_acc.id - name = "%[2]s-replica" - service = "databases-for-postgresql" - plan = "standard" - location = "%[3]s" - service_endpoints = "public-and-private" - skip_initial_backup = true - } - `, databaseResourceGroup, name, acc.Region()) -} - func testAccCheckIBMDatabaseInstanceDestroy(s *terraform.State) error { rsContClient, err := acc.TestAccProvider.Meta().(conns.ClientSession).ResourceControllerV2API() if err != nil { @@ -819,3 +795,32 @@ func testAccCheckIBMDatabaseInstancePostgresMinimal_PITR(databaseResourceGroup s } `, databaseResourceGroup, name, acc.Region()) } + +func testAccCheckIBMDatabaseInstancePostgresMinimal_ReadReplica(databaseResourceGroup string, name string) string { + return fmt.Sprintf(` + resource "ibm_database" "%[2]s-replica" { + resource_group_id = data.ibm_resource_group.test_acc.id + name = "%[2]s-replica" + service = "databases-for-postgresql" + plan = "standard" + location = "%[3]s" + service_endpoints = "public-and-private" + remote_leader_id = ibm_database.%[2]s.id + } + `, databaseResourceGroup, name, acc.Region()) +} + +func testAccCheckIBMDatabaseInstancePostgresReadReplicaPromote(databaseResourceGroup string, readReplicaName string) string { + return fmt.Sprintf(` + resource "ibm_database" "%[2]s" { + resource_group_id = data.ibm_resource_group.test_acc.id + name = "%[2]s" + service = "databases-for-postgresql" + plan = "standard" + location = "%[3]s" + service_endpoints = "public-and-private" + remote_leader_id = "" + skip_initial_backup = true + } + `, databaseResourceGroup, readReplicaName, acc.Region()) +}