Skip to content

Commit

Permalink
test(dbss): modify the test case (huaweicloud#6094)
Browse files Browse the repository at this point in the history
  • Loading branch information
ruwenqiang123 authored Dec 28, 2024
1 parent d8a3c07 commit 53df492
Show file tree
Hide file tree
Showing 8 changed files with 79 additions and 61 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -12,18 +12,18 @@ import (
func TestAccDataSourceAuditDataMaskingRules_basic(t *testing.T) {
var (
dataSourceName = "data.huaweicloud_dbss_audit_data_masking_rules.test"
name = acceptance.RandomAccResourceName()
dc = acceptance.InitDataSourceCheck(dataSourceName)
)

resource.ParallelTest(t, resource.TestCase{
PreCheck: func() {
acceptance.TestAccPreCheck(t)
acceptance.TestAccPrecheckDbssInstanceId(t)
},
ProviderFactories: acceptance.TestAccProviderFactories,
Steps: []resource.TestStep{
{
Config: testDataSourceAuditDataMaskingRules_basic(name),
Config: testDataSourceAuditDataMaskingRules_basic(),
Check: resource.ComposeTestCheckFunc(
dc.CheckResourceExists(),
resource.TestCheckResourceAttrSet(dataSourceName, "rules.#"),
Expand All @@ -40,12 +40,10 @@ func TestAccDataSourceAuditDataMaskingRules_basic(t *testing.T) {
})
}

func testDataSourceAuditDataMaskingRules_basic(name string) string {
func testDataSourceAuditDataMaskingRules_basic() string {
return fmt.Sprintf(`
%s
data "huaweicloud_dbss_audit_data_masking_rules" "test" {
instance_id = huaweicloud_dbss_instance.test.instance_id
instance_id = "%s"
}
`, testInstance_basic(name))
`, acceptance.HW_DBSS_INSATNCE_ID)
}
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ import (
func TestAccDataSourceAuditRiskRules_basic(t *testing.T) {
var (
dataSourceName = "data.huaweicloud_dbss_audit_risk_rules.test"
name = acceptance.RandomAccResourceName()
dc = acceptance.InitDataSourceCheck(dataSourceName)

byName = "data.huaweicloud_dbss_audit_risk_rules.filter_by_name"
Expand All @@ -25,11 +24,12 @@ func TestAccDataSourceAuditRiskRules_basic(t *testing.T) {
resource.ParallelTest(t, resource.TestCase{
PreCheck: func() {
acceptance.TestAccPreCheck(t)
acceptance.TestAccPrecheckDbssInstanceId(t)
},
ProviderFactories: acceptance.TestAccProviderFactories,
Steps: []resource.TestStep{
{
Config: testDataSourceAuditRiskRules_basic(name),
Config: testDataSourceAuditRiskRules_basic(),
Check: resource.ComposeTestCheckFunc(
dc.CheckResourceExists(),
resource.TestCheckResourceAttrSet(dataSourceName, "rules.#"),
Expand All @@ -52,20 +52,18 @@ func TestAccDataSourceAuditRiskRules_basic(t *testing.T) {
})
}

func testDataSourceAuditRiskRules_basic(name string) string {
func testDataSourceAuditRiskRules_basic() string {
return fmt.Sprintf(`
%s
data "huaweicloud_dbss_audit_risk_rules" "test" {
instance_id = huaweicloud_dbss_instance.test.instance_id
instance_id = "%[1]s"
}
locals {
name = data.huaweicloud_dbss_audit_risk_rules.test.rules[0].name
}
data "huaweicloud_dbss_audit_risk_rules" "filter_by_name" {
instance_id = huaweicloud_dbss_instance.test.instance_id
instance_id = "%[1]s"
name = local.name
}
Expand All @@ -80,7 +78,7 @@ locals {
}
data "huaweicloud_dbss_audit_risk_rules" "filter_by_risk_level" {
instance_id = huaweicloud_dbss_instance.test.instance_id
instance_id = "%[1]s"
risk_level = local.risk_level
}
Expand All @@ -89,5 +87,5 @@ output "risk_level_filter_useful" {
[for v in data.huaweicloud_dbss_audit_risk_rules.filter_by_risk_level.rules[*].risk_level : v == local.risk_level]
)
}
`, testInstance_basic(name))
`, acceptance.HW_DBSS_INSATNCE_ID)
}
Original file line number Diff line number Diff line change
Expand Up @@ -12,18 +12,18 @@ import (
func TestAccDataSourceAuditRuleScopes_basic(t *testing.T) {
var (
dataSourceName = "data.huaweicloud_dbss_audit_rule_scopes.test"
name = acceptance.RandomAccResourceName()
dc = acceptance.InitDataSourceCheck(dataSourceName)
)

resource.ParallelTest(t, resource.TestCase{
PreCheck: func() {
acceptance.TestAccPreCheck(t)
acceptance.TestAccPrecheckDbssInstanceId(t)
},
ProviderFactories: acceptance.TestAccProviderFactories,
Steps: []resource.TestStep{
{
Config: testDataSourceAuditRuleScopes_basic(name),
Config: testDataSourceAuditRuleScopes_basic(),
Check: resource.ComposeTestCheckFunc(
dc.CheckResourceExists(),
resource.TestCheckResourceAttrSet(dataSourceName, "scopes.#"),
Expand All @@ -37,12 +37,10 @@ func TestAccDataSourceAuditRuleScopes_basic(t *testing.T) {
})
}

func testDataSourceAuditRuleScopes_basic(name string) string {
func testDataSourceAuditRuleScopes_basic() string {
return fmt.Sprintf(`
%s
data "huaweicloud_dbss_audit_rule_scopes" "test" {
instance_id = huaweicloud_dbss_instance.test.instance_id
instance_id = "%s"
}
`, testInstance_basic(name))
`, acceptance.HW_DBSS_INSATNCE_ID)
}
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ import (
func TestAccDataSourceAuditSqlInjectionRules_basic(t *testing.T) {
var (
dataSourceName = "data.huaweicloud_dbss_audit_sql_injection_rules.test"
name = acceptance.RandomAccResourceName()
dc = acceptance.InitDataSourceCheck(dataSourceName)

byRiskLevels = "data.huaweicloud_dbss_audit_sql_injection_rules.filter_by_risk_levels"
Expand All @@ -22,11 +21,12 @@ func TestAccDataSourceAuditSqlInjectionRules_basic(t *testing.T) {
resource.ParallelTest(t, resource.TestCase{
PreCheck: func() {
acceptance.TestAccPreCheck(t)
acceptance.TestAccPrecheckDbssInstanceId(t)
},
ProviderFactories: acceptance.TestAccProviderFactories,
Steps: []resource.TestStep{
{
Config: testDataSourceAuditSqlInjectionRules_basic(name),
Config: testDataSourceAuditSqlInjectionRules_basic(),
Check: resource.ComposeTestCheckFunc(
dc.CheckResourceExists(),
resource.TestCheckResourceAttrSet(dataSourceName, "rules.#"),
Expand All @@ -47,20 +47,18 @@ func TestAccDataSourceAuditSqlInjectionRules_basic(t *testing.T) {
})
}

func testDataSourceAuditSqlInjectionRules_basic(name string) string {
func testDataSourceAuditSqlInjectionRules_basic() string {
return fmt.Sprintf(`
%s
data "huaweicloud_dbss_audit_sql_injection_rules" "test" {
instance_id = huaweicloud_dbss_instance.test.instance_id
instance_id = "%[1]s"
}
locals {
risk_levels = data.huaweicloud_dbss_audit_sql_injection_rules.test.rules[0].risk_level
}
data "huaweicloud_dbss_audit_sql_injection_rules" "filter_by_risk_levels" {
instance_id = huaweicloud_dbss_instance.test.instance_id
instance_id = "%[1]s"
risk_levels = local.risk_levels
}
Expand All @@ -70,5 +68,5 @@ output "risk_levels_filter_useful" {
v == local.risk_levels]
)
}
`, testInstance_basic(name))
`, acceptance.HW_DBSS_INSATNCE_ID)
}
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import (
"github.com/huaweicloud/terraform-provider-huaweicloud/huaweicloud/services/acceptance"
)

func TestAccDatasourceDbssFlavors_basic(t *testing.T) {
func TestAccDataSourceDbssFlavors_basic(t *testing.T) {
rName := "data.huaweicloud_dbss_flavors.test"
dc := acceptance.InitDataSourceCheck(rName)

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package dbss

import (
"fmt"
"testing"

"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
Expand All @@ -12,18 +11,18 @@ import (
func TestAccDataSourceInstances_basic(t *testing.T) {
var (
dataSource = "data.huaweicloud_dbss_instances.test"
rName = acceptance.RandomAccResourceName()
dc = acceptance.InitDataSourceCheck(dataSource)
)

resource.ParallelTest(t, resource.TestCase{
PreCheck: func() {
acceptance.TestAccPreCheck(t)
acceptance.TestAccPrecheckDbssInstanceId(t)
},
ProviderFactories: acceptance.TestAccProviderFactories,
Steps: []resource.TestStep{
{
Config: testDataSourceDataSourceInstances_basic(rName),
Config: testDataSourceDataSourceInstances_basic,
Check: resource.ComposeTestCheckFunc(
dc.CheckResourceExists(),
resource.TestCheckResourceAttrSet(dataSource, "instances.#"),
Expand Down Expand Up @@ -59,12 +58,4 @@ func TestAccDataSourceInstances_basic(t *testing.T) {
})
}

func testDataSourceDataSourceInstances_basic(name string) string {
return fmt.Sprintf(`
%s
data "huaweicloud_dbss_instances" "test" {
depends_on = [huaweicloud_dbss_instance.test]
}
`, testInstance_basic(name))
}
const testDataSourceDataSourceInstances_basic = `data "huaweicloud_dbss_instances" "test" {}`
Original file line number Diff line number Diff line change
Expand Up @@ -10,16 +10,18 @@ import (
)

func TestAccRiskRuleAction_basic(t *testing.T) {
name := acceptance.RandomAccResourceName()
// Avoid CheckDestroy because this resource is a one-time resource and there is nothing in the destroy method.
// lintignore:AT001
resource.ParallelTest(t, resource.TestCase{
PreCheck: func() { acceptance.TestAccPreCheck(t) },
PreCheck: func() {
acceptance.TestAccPreCheck(t)
acceptance.TestAccPrecheckDbssInstanceId(t)
},
ProviderFactories: acceptance.TestAccProviderFactories,
Steps: []resource.TestStep{
{
// The ont-time resource do not need to be checked and no processing is performed in the Read method.
Config: testAccRiskRuleAction_basic(name),
Config: testAccRiskRuleAction_basic(),
Check: resource.ComposeTestCheckFunc(
resource.TestCheckOutput("result_is_success", "true"),
),
Expand All @@ -28,22 +30,20 @@ func TestAccRiskRuleAction_basic(t *testing.T) {
})
}

func testAccRiskRuleAction_basic(name string) string {
func testAccRiskRuleAction_basic() string {
return fmt.Sprintf(`
%s
data "huaweicloud_dbss_audit_risk_rules" "test" {
instance_id = huaweicloud_dbss_instance.test.instance_id
instance_id = "%[1]s"
}
resource "huaweicloud_dbss_audit_risk_rule_action" "test" {
instance_id = huaweicloud_dbss_instance.test.instance_id
instance_id = "%[1]s"
risk_ids = data.huaweicloud_dbss_audit_risk_rules.test.rules[0].id
action = "OFF"
}
output "result_is_success" {
value = (huaweicloud_dbss_audit_risk_rule_action.test.result == "SUCCESS")
}
`, testInstance_basic(name))
`, acceptance.HW_DBSS_INSATNCE_ID)
}
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,6 @@ func TestAccInstance_basic(t *testing.T) {
resource.TestCheckResourceAttr(rName, "tags.key", "value"),
resource.TestCheckResourceAttrPair(rName, "security_group_id",
"data.huaweicloud_networking_secgroup.test", "id"),
resource.TestCheckResourceAttr(rName, "action", "reboot"),
),
},
{
Expand All @@ -87,6 +86,13 @@ func TestAccInstance_basic(t *testing.T) {
resource.TestCheckResourceAttr(rName, "action", "start"),
),
},
{
Config: testInstance_update_3(updataName),
Check: resource.ComposeTestCheckFunc(
rc.CheckResourceExists(),
resource.TestCheckResourceAttr(rName, "action", "reboot"),
),
},
{
ResourceName: rName,
ImportState: true,
Expand Down Expand Up @@ -115,9 +121,7 @@ data "huaweicloud_networking_secgroup" "test" {
name = "default"
}
data "huaweicloud_availability_zones" "test" {
region = "%[1]s"
}
data "huaweicloud_availability_zones" "test" {}
data "huaweicloud_dbss_flavors" "test" {}
Expand All @@ -130,20 +134,20 @@ locals {
{
"specDesc" : {
"zh-cn" : {
"主机名称" : "%[2]s",
"主机名称" : "%[1]s",
"虚拟私有云" : local.vpc_name,
"子网" : local.subnet_name
},
"en-us" : {
"Instance Name" : "%[2]s",
"Instance Name" : "%[1]s",
"VPC" : local.vpc_name,
"Subnet" : local.subnet_name
}
}
}
)
}
`, acceptance.HW_REGION_NAME, name)
`, name)
}

func testInstance_basic(name string) string {
Expand All @@ -163,7 +167,6 @@ resource "huaweicloud_dbss_instance" "test" {
charging_mode = "prePaid"
period_unit = "month"
period = 1
action = "reboot"
tags = {
foo = "bar"
Expand Down Expand Up @@ -237,6 +240,38 @@ resource "huaweicloud_dbss_instance" "test" {
`, testInstance_base(name), name)
}

func testInstance_update_3(name string) string {
return fmt.Sprintf(`
%[1]s
resource "huaweicloud_networking_secgroup" "test" {
name = "%[2]s"
description = "security group acceptance test"
}
resource "huaweicloud_dbss_instance" "test" {
name = "%[2]s"
description = "test desc"
flavor = data.huaweicloud_dbss_flavors.test.flavors[0].id
resource_spec_code = "dbss.bypassaudit.low"
product_spec_desc = local.product_spec_desc
availability_zone = data.huaweicloud_availability_zones.test.names[0]
vpc_id = data.huaweicloud_vpc.test.id
subnet_id = data.huaweicloud_vpc_subnet.test.id
security_group_id = huaweicloud_networking_secgroup.test.id
charging_mode = "prePaid"
period_unit = "month"
period = 1
action = "reboot"
tags = {
foo = "test"
acc = "value"
}
}
`, testInstance_base(name), name)
}

func TestAccInstance_updateWithEpsId(t *testing.T) {
var (
obj interface{}
Expand Down

0 comments on commit 53df492

Please sign in to comment.