Skip to content

Commit cc12438

Browse files
authored
fix: msyql - testcase resource reusing (#909)
* fix: msyql - testcase resource reusing * fix: mysql ro spec and list datasources
1 parent 55b26ac commit cc12438

11 files changed

+109
-166
lines changed

tencentcloud/basic_test.go

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,21 @@ data "tencentcloud_instance_types" "default" {
124124
}
125125
`
126126

127+
const (
128+
defaultMySQLName = "preset_mysql"
129+
)
130+
131+
// ref with `local.mysql_id`
132+
const CommonPresetMysql = `
133+
data "tencentcloud_mysql_instance" "mysql" {
134+
instance_name = "` + defaultMySQLName + `"
135+
}
136+
137+
locals {
138+
mysql_id = data.tencentcloud_mysql_instance.mysql.instance_list.0.mysql_id
139+
}
140+
`
141+
127142
const instanceCommonTestCase = defaultInstanceVariable + `
128143
resource "tencentcloud_instance" "default" {
129144
instance_name = var.instance_name
@@ -158,6 +173,7 @@ resource "tencentcloud_mysql_instance" "default" {
158173
engine_version = "5.7"
159174
root_password = "0153Y474"
160175
availability_zone = var.availability_zone
176+
force_delete = true
161177
}
162178
`
163179

tencentcloud/data_source_tc_mysql_backup_list_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@ func TestAccDataSourceMysqlBackupList_basic(t *testing.T) {
2323
}
2424

2525
func testAccDataSourceMysqlBackupListConfig() string {
26-
return mysqlInstanceCommonTestCase + `
26+
return CommonPresetMysql + `
2727
data "tencentcloud_mysql_backup_list" "test" {
28-
mysql_id = tencentcloud_mysql_instance.default.id
28+
mysql_id = local.mysql_id
2929
}`
3030
}

tencentcloud/data_source_tc_mysql_instance_test.go

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,13 @@ func TestAccTencentCloudMysqlInstanceDataSource(t *testing.T) {
1414
Providers: testAccProviders,
1515
Steps: []resource.TestStep{
1616
{
17-
Config: testAccTencentCloudMysqlInstanceDataSourceConfig(mysqlInstanceCommonTestCase),
17+
Config: testAccTencentCloudMysqlInstanceDataSourceConfig(),
1818
Check: resource.ComposeAggregateTestCheckFunc(
1919
resource.TestCheckResourceAttr("data.tencentcloud_mysql_instance.mysql", "instance_list.#", "1"),
20-
resource.TestCheckResourceAttr("data.tencentcloud_mysql_instance.mysql", "instance_list.0.instance_name", "tf-ci-test"),
20+
resource.TestCheckResourceAttr("data.tencentcloud_mysql_instance.mysql", "instance_list.0.instance_name", defaultMySQLName),
2121
resource.TestCheckResourceAttr("data.tencentcloud_mysql_instance.mysql", "instance_list.0.pay_type", "1"),
22-
resource.TestCheckResourceAttr("data.tencentcloud_mysql_instance.mysql", "instance_list.0.memory_size", "1000"),
23-
resource.TestCheckResourceAttr("data.tencentcloud_mysql_instance.mysql", "instance_list.0.volume_size", "25"),
22+
resource.TestCheckResourceAttr("data.tencentcloud_mysql_instance.mysql", "instance_list.0.memory_size", "4000"),
23+
resource.TestCheckResourceAttr("data.tencentcloud_mysql_instance.mysql", "instance_list.0.volume_size", "200"),
2424
resource.TestCheckResourceAttr("data.tencentcloud_mysql_instance.mysql", "instance_list.0.engine_version", "5.7"),
2525
resource.TestCheckResourceAttrSet("data.tencentcloud_mysql_instance.mysql", "instance_list.0.vpc_id"),
2626
resource.TestCheckResourceAttrSet("data.tencentcloud_mysql_instance.mysql", "instance_list.0.subnet_id"),
@@ -31,12 +31,10 @@ func TestAccTencentCloudMysqlInstanceDataSource(t *testing.T) {
3131
})
3232
}
3333

34-
func testAccTencentCloudMysqlInstanceDataSourceConfig(commonTestCase string) string {
34+
func testAccTencentCloudMysqlInstanceDataSourceConfig() string {
3535
return fmt.Sprintf(`
36-
%s
3736
data "tencentcloud_mysql_instance" "mysql" {
38-
mysql_id = tencentcloud_mysql_instance.default.id
39-
instance_name = tencentcloud_mysql_instance.default.instance_name
37+
instance_name = "%s"
4038
}
41-
`, commonTestCase)
39+
`, defaultMySQLName)
4240
}

tencentcloud/data_source_tc_mysql_parameter_list_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ func TestAccTencentCloudMysqlParameterListDataSource(t *testing.T) {
2424
),
2525
},
2626
{
27-
Config: testAccMysqlParameterListDataSourceConfig(mysqlInstanceCommonTestCase),
27+
Config: testAccMysqlParameterListDataSourceConfig(CommonPresetMysql),
2828
Check: resource.ComposeAggregateTestCheckFunc(
2929
resource.TestCheckResourceAttrSet("data.tencentcloud_mysql_parameter_list.mysql", "parameter_list.#"),
3030
resource.TestCheckResourceAttrSet("data.tencentcloud_mysql_parameter_list.mysql", "parameter_list.0.parameter_name"),
@@ -49,7 +49,7 @@ func testAccMysqlParameterListDataSourceConfig(commonTestCase string) string {
4949
return fmt.Sprintf(`
5050
%s
5151
data "tencentcloud_mysql_parameter_list" "mysql" {
52-
mysql_id = tencentcloud_mysql_instance.default.id
52+
mysql_id = local.mysql_id
5353
}
5454
`, commonTestCase)
5555
}

tencentcloud/resource_tc_mysql_account_privilege_test.go

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ func TestAccTencentCloudMysqlAccountPrivilege(t *testing.T) {
2121
CheckDestroy: testAccMysqlAccountPrivilegeDestroy,
2222
Steps: []resource.TestStep{
2323
{
24-
Config: testAccMysqlAccountPrivilege(mysqlInstanceCommonTestCase),
24+
Config: testAccMysqlAccountPrivilege(),
2525
Check: resource.ComposeAggregateTestCheckFunc(
2626
testAccMysqlAccountPrivilegeExists("tencentcloud_mysql_account_privilege.mysql_account_privilege"),
2727
resource.TestCheckResourceAttrSet("tencentcloud_mysql_account_privilege.mysql_account_privilege", "mysql_id"),
@@ -36,7 +36,7 @@ func TestAccTencentCloudMysqlAccountPrivilege(t *testing.T) {
3636
),
3737
},
3838
{
39-
Config: testAccMysqlAccountPrivilegeUpdate(mysqlInstanceCommonTestCase),
39+
Config: testAccMysqlAccountPrivilegeUpdate(),
4040
Check: resource.ComposeAggregateTestCheckFunc(
4141
testAccMysqlAccountPrivilegeExists("tencentcloud_mysql_account_privilege.mysql_account_privilege"),
4242
resource.TestCheckResourceAttrSet("tencentcloud_mysql_account_privilege.mysql_account_privilege", "mysql_id"),
@@ -177,41 +177,41 @@ func testAccMysqlAccountPrivilegeDestroy(s *terraform.State) error {
177177
return nil
178178
}
179179

180-
func testAccMysqlAccountPrivilege(commonTestCase string) string {
180+
func testAccMysqlAccountPrivilege() string {
181181
return fmt.Sprintf(`
182182
%s
183183
resource "tencentcloud_mysql_account" "mysql_account" {
184-
mysql_id = tencentcloud_mysql_instance.default.id
185-
name = "test"
184+
mysql_id = local.mysql_id
185+
name = "previlege_test"
186186
host = "119.168.110.%%"
187187
password = "test1234"
188188
description = "test from terraform"
189189
}
190190
resource "tencentcloud_mysql_account_privilege" "mysql_account_privilege" {
191-
mysql_id = tencentcloud_mysql_instance.default.id
191+
mysql_id = local.mysql_id
192192
account_name = tencentcloud_mysql_account.mysql_account.name
193193
account_host = tencentcloud_mysql_account.mysql_account.host
194194
privileges = ["SELECT", "INSERT", "UPDATE", "DELETE"]
195195
database_names = ["test"]
196-
}`, commonTestCase)
196+
}`, CommonPresetMysql)
197197
}
198198

199-
func testAccMysqlAccountPrivilegeUpdate(commonTestCase string) string {
199+
func testAccMysqlAccountPrivilegeUpdate() string {
200200
return fmt.Sprintf(`
201201
%s
202202
resource "tencentcloud_mysql_account" "mysql_account" {
203-
mysql_id = tencentcloud_mysql_instance.default.id
204-
name = "test"
203+
mysql_id = local.mysql_id
204+
name = "previlege_test"
205205
host = "119.168.110.%%"
206206
password = "test1234"
207207
description = "test from terraform"
208208
}
209209
resource "tencentcloud_mysql_account_privilege" "mysql_account_privilege" {
210-
mysql_id = tencentcloud_mysql_instance.default.id
210+
mysql_id = local.mysql_id
211211
account_name = tencentcloud_mysql_account.mysql_account.name
212212
account_host = tencentcloud_mysql_account.mysql_account.host
213213
privileges = ["TRIGGER"]
214214
database_names = ["test"]
215-
}`, commonTestCase)
215+
}`, CommonPresetMysql)
216216

217217
}

tencentcloud/resource_tc_mysql_account_test.go

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ func TestAccTencentCloudMysqlAccountResource(t *testing.T) {
2020
CheckDestroy: testAccCheckMysqlAccountDestroy,
2121
Steps: []resource.TestStep{
2222
{
23-
Config: testAccMysqlAccount(mysqlInstanceCommonTestCase),
23+
Config: testAccMysqlAccount(),
2424
Check: resource.ComposeAggregateTestCheckFunc(
2525
testAccCheckMysqlAccountExists("tencentcloud_mysql_account.mysql_account"),
2626
resource.TestCheckResourceAttrSet("tencentcloud_mysql_account.mysql_account", "mysql_id"),
@@ -123,15 +123,16 @@ func testAccCheckMysqlAccountDestroy(s *terraform.State) error {
123123
return nil
124124
}
125125

126-
func testAccMysqlAccount(commonTestCase string) string {
126+
func testAccMysqlAccount() string {
127127
return fmt.Sprintf(`
128128
%s
129+
129130
resource "tencentcloud_mysql_account" "mysql_account" {
130-
mysql_id = tencentcloud_mysql_instance.default.id
131+
mysql_id = local.mysql_id
131132
name = "test"
132133
host = "192.168.0.%%"
133134
password = "test1234"
134135
description = "test from terraform"
135136
}
136-
`, commonTestCase)
137+
`, CommonPresetMysql)
137138
}

tencentcloud/resource_tc_mysql_backup_policy_test.go

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ func TestAccTencentCloudMysqlBackupPolicy(t *testing.T) {
1919
CheckDestroy: testAccTencentCloudMysqlBackupPolicyDestroy,
2020
Steps: []resource.TestStep{
2121
{
22-
Config: testAccMysqlBackupPolicy(mysqlInstanceCommonTestCase),
22+
Config: testAccMysqlBackupPolicy(),
2323
Check: resource.ComposeAggregateTestCheckFunc(
2424
testAccTencentCloudMysqlBackupPolicyExists("tencentcloud_mysql_backup_policy.mysql_backup_policy"),
2525
resource.TestCheckResourceAttrSet("tencentcloud_mysql_backup_policy.mysql_backup_policy", "mysql_id"),
@@ -29,7 +29,7 @@ func TestAccTencentCloudMysqlBackupPolicy(t *testing.T) {
2929
),
3030
},
3131
{
32-
Config: testAccMysqlBackupPolicyUpdate(mysqlInstanceCommonTestCase),
32+
Config: testAccMysqlBackupPolicyUpdate(),
3333
Check: resource.ComposeAggregateTestCheckFunc(
3434
testAccTencentCloudMysqlBackupPolicyExists("tencentcloud_mysql_backup_policy.mysql_backup_policy"),
3535
resource.TestCheckResourceAttrSet("tencentcloud_mysql_backup_policy.mysql_backup_policy", "mysql_id"),
@@ -105,22 +105,22 @@ func testAccTencentCloudMysqlBackupPolicyDestroy(s *terraform.State) error {
105105
return nil
106106
}
107107

108-
func testAccMysqlBackupPolicy(commonTestCase string) string {
108+
func testAccMysqlBackupPolicy() string {
109109
return fmt.Sprintf(`
110110
%s
111111
resource "tencentcloud_mysql_backup_policy" "mysql_backup_policy" {
112-
mysql_id = tencentcloud_mysql_instance.default.id
112+
mysql_id = local.mysql_id
113113
retention_period = 56
114114
backup_time = "10:00-14:00"
115-
}`, commonTestCase)
115+
}`, CommonPresetMysql)
116116
}
117117

118-
func testAccMysqlBackupPolicyUpdate(commonTestCase string) string {
118+
func testAccMysqlBackupPolicyUpdate() string {
119119
return fmt.Sprintf(`
120120
%s
121121
resource "tencentcloud_mysql_backup_policy" "mysql_backup_policy" {
122-
mysql_id = tencentcloud_mysql_instance.default.id
122+
mysql_id = local.mysql_id
123123
retention_period = 80
124124
backup_time = "06:00-10:00"
125-
}`, commonTestCase)
125+
}`, CommonPresetMysql)
126126
}

tencentcloud/resource_tc_mysql_instance_test.go

Lines changed: 0 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -227,38 +227,6 @@ func TestAccTencentCloudMysqlMasterInstance_basic_and_update(t *testing.T) {
227227
})
228228
}
229229

230-
func TestAccTencentCloudMysqlPrepaid(t *testing.T) {
231-
t.Parallel()
232-
resource.Test(t, resource.TestCase{
233-
PreCheck: func() { testAccPreCheck(t) },
234-
Providers: testAccProviders,
235-
CheckDestroy: testAccCheckMysqlMasterInstanceDestroy,
236-
Steps: []resource.TestStep{
237-
{
238-
Config: testAccMysqlMasterInstance_prepaid(),
239-
Check: resource.ComposeAggregateTestCheckFunc(
240-
testAccCheckMysqlMasterInstanceExists("tencentcloud_mysql_instance.prepaid"),
241-
resource.TestCheckResourceAttr("tencentcloud_mysql_instance.prepaid", "instance_name", "testAccMysqlPrepaid"),
242-
resource.TestCheckResourceAttr("tencentcloud_mysql_instance.prepaid", "slave_deploy_mode", "0"),
243-
resource.TestCheckResourceAttr("tencentcloud_mysql_instance.prepaid", "slave_sync_mode", "0"),
244-
resource.TestCheckResourceAttr("tencentcloud_mysql_instance.prepaid", "availability_zone", TestAccTencentCloudMysqlMasterInstance_availability_zone),
245-
resource.TestCheckResourceAttr("tencentcloud_mysql_instance.prepaid", "first_slave_zone", TestAccTencentCloudMysqlMasterInstance_availability_zone),
246-
resource.TestCheckResourceAttr("tencentcloud_mysql_instance.prepaid", "auto_renew_flag", "0"),
247-
resource.TestCheckResourceAttr("tencentcloud_mysql_instance.prepaid", "charge_type", "PREPAID"),
248-
),
249-
},
250-
// update auto_renew_flag
251-
{
252-
Config: testAccMysqlMasterInstance_prepaidupdate(),
253-
Check: resource.ComposeAggregateTestCheckFunc(
254-
testAccCheckMysqlMasterInstanceExists("tencentcloud_mysql_instance.prepaid"),
255-
resource.TestCheckResourceAttr("tencentcloud_mysql_instance.prepaid", "auto_renew_flag", "1"),
256-
),
257-
},
258-
},
259-
})
260-
}
261-
262230
func testAccCheckMysqlMasterInstanceDestroy(s *terraform.State) error {
263231
logId := getLogId(contextNil)
264232
ctx := context.WithValue(context.TODO(), logIdKey, logId)
@@ -323,39 +291,6 @@ resource "tencentcloud_mysql_instance" "mysql_master" {
323291
}`
324292
}
325293

326-
func testAccMysqlMasterInstance_prepaid() string {
327-
return `
328-
resource "tencentcloud_mysql_instance" "prepaid" {
329-
charge_type = "PREPAID"
330-
mem_size = 1000
331-
volume_size = 50
332-
instance_name = "testAccMysqlPrepaid"
333-
engine_version = "5.7"
334-
root_password = "test1234"
335-
intranet_port = 3360
336-
availability_zone = "ap-guangzhou-3"
337-
first_slave_zone = "ap-guangzhou-3"
338-
force_delete = false
339-
}`
340-
}
341-
342-
func testAccMysqlMasterInstance_prepaidupdate() string {
343-
return `
344-
resource "tencentcloud_mysql_instance" "prepaid" {
345-
charge_type = "PREPAID"
346-
mem_size = 1000
347-
volume_size = 50
348-
auto_renew_flag = 1
349-
instance_name = "testAccMysqlPrepaid"
350-
engine_version = "5.7"
351-
root_password = "test1234"
352-
intranet_port = 3360
353-
availability_zone = "ap-guangzhou-3"
354-
first_slave_zone = "ap-guangzhou-3"
355-
force_delete = false
356-
}`
357-
}
358-
359294
func testAccMysqlMasterInstance_fullslave() string {
360295
return `
361296
resource "tencentcloud_mysql_instance" "mysql_master" {

0 commit comments

Comments
 (0)