Skip to content
Merged
10 changes: 10 additions & 0 deletions tencentcloud/basic_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -772,3 +772,13 @@ locals {
`

// End of MongoDB

// TEO

const (
defaultZoneName = "tf-teo-t.xyz"
defaultZoneId = "zone-2a1u0y616jz6"
defaultPolicyId = "11587"
)

// End of TEO
19 changes: 15 additions & 4 deletions tencentcloud/data_source_tc_teo_bot_managed_rules_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import (
"github.com/hashicorp/terraform-plugin-sdk/helper/resource"
)

// go test -i; go test -test.run TestAccTencentCloudTeoBotManagedRulesDataSource -v
func TestAccTencentCloudTeoBotManagedRulesDataSource(t *testing.T) {
t.Parallel()

Expand All @@ -23,11 +24,21 @@ func TestAccTencentCloudTeoBotManagedRulesDataSource(t *testing.T) {
})
}

const testAccDataSourceTeoBotManagedRules = `
const testAccDataSourceTeoBotManagedRulesVar = `
variable "zone_id" {
default = "` + defaultZoneId + `"
}

variable "entity" {
default = "` + defaultZoneName + `"
}
`

const testAccDataSourceTeoBotManagedRules = testAccDataSourceTeoBotManagedRulesVar + `

data "tencentcloud_teo_bot_managed_rules" "bot_managed_rules" {
zone_id = ""
entity = ""
}
zone_id = var.zone_id
entity = var.entity
}

`
19 changes: 15 additions & 4 deletions tencentcloud/data_source_tc_teo_bot_portrait_rules_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import (
"github.com/hashicorp/terraform-plugin-sdk/helper/resource"
)

// go test -i; go test -test.run TestAccTencentCloudTeoBotPortraitRulesDataSource -v
func TestAccTencentCloudTeoBotPortraitRulesDataSource(t *testing.T) {
t.Parallel()

Expand All @@ -23,11 +24,21 @@ func TestAccTencentCloudTeoBotPortraitRulesDataSource(t *testing.T) {
})
}

const testAccDataSourceTeoBotPortraitRules = `
const testAccDataSourceTeoBotPortraitRulesVar = `
variable "zone_id" {
default = "` + defaultZoneId + `"
}

variable "entity" {
default = "` + defaultZoneName + `"
}
`

const testAccDataSourceTeoBotPortraitRules = testAccDataSourceTeoBotPortraitRulesVar + `

data "tencentcloud_teo_bot_portrait_rules" "bot_portrait_rules" {
zone_id = ""
entity = ""
}
zone_id = var.zone_id
entity = var.entity
}

`
3 changes: 2 additions & 1 deletion tencentcloud/data_source_tc_teo_rule_engine_settings_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import (
"github.com/hashicorp/terraform-plugin-sdk/helper/resource"
)

// go test -i; go test -test.run TestAccTencentCloudTeoRuleEngineSettingsDataSource -v
func TestAccTencentCloudTeoRuleEngineSettingsDataSource(t *testing.T) {
t.Parallel()

Expand All @@ -26,6 +27,6 @@ func TestAccTencentCloudTeoRuleEngineSettingsDataSource(t *testing.T) {
const testAccDataSourceTeoRuleEngineSettings = `

data "tencentcloud_teo_rule_engine_settings" "rule_engine_settings" {
}
}

`
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import (
"github.com/hashicorp/terraform-plugin-sdk/helper/resource"
)

// go test -i; go test -test.run TestAccTencentCloudTeoSecurityPolicyRegionsDataSource -v
func TestAccTencentCloudTeoSecurityPolicyRegionsDataSource(t *testing.T) {
t.Parallel()

Expand All @@ -26,6 +27,6 @@ func TestAccTencentCloudTeoSecurityPolicyRegionsDataSource(t *testing.T) {
const testAccDataSourceTeoSecurityPolicyRegions = `

data "tencentcloud_teo_security_policy_regions" "security_policy_regions" {
}
}

`
17 changes: 15 additions & 2 deletions tencentcloud/data_source_tc_teo_waf_rule_groups_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import (
"github.com/hashicorp/terraform-plugin-sdk/helper/resource"
)

// go test -i; go test -test.run TestAccTencentCloudTeoWafRuleGroupsDataSource -v
func TestAccTencentCloudTeoWafRuleGroupsDataSource(t *testing.T) {
t.Parallel()

Expand All @@ -23,9 +24,21 @@ func TestAccTencentCloudTeoWafRuleGroupsDataSource(t *testing.T) {
})
}

const testAccDataSourceTeoWafRuleGroups = `
const testAccDataSourceTeoWafRuleGroupsVar = `
variable "zone_id" {
default = "` + defaultZoneId + `"
}

variable "entity" {
default = "` + defaultZoneName + `"
}
`

const testAccDataSourceTeoWafRuleGroups = testAccDataSourceTeoWafRuleGroupsVar + `

data "tencentcloud_teo_waf_rule_groups" "waf_rule_groups" {
}
zone_id = var.zone_id
entity = var.entity
}

`
3 changes: 2 additions & 1 deletion tencentcloud/data_source_tc_teo_zone_available_plans_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import (
"github.com/hashicorp/terraform-plugin-sdk/helper/resource"
)

// go test -i; go test -test.run TestAccTencentCloudTeoZoneAvailablePlansDataSource -v
func TestAccTencentCloudTeoZoneAvailablePlansDataSource(t *testing.T) {
t.Parallel()

Expand All @@ -26,6 +27,6 @@ func TestAccTencentCloudTeoZoneAvailablePlansDataSource(t *testing.T) {
const testAccDataSourceTeoZoneAvailablePlans = `

data "tencentcloud_teo_zone_available_plans" "zone_available_plans" {
}
}

`
11 changes: 9 additions & 2 deletions tencentcloud/data_source_tc_teo_zone_ddos_policy_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import (
"github.com/hashicorp/terraform-plugin-sdk/helper/resource"
)

// go test -i; go test -test.run TestAccTencentCloudTeoZoneDDoSPolicyDataSource -v
func TestAccTencentCloudTeoZoneDDoSPolicyDataSource(t *testing.T) {
t.Parallel()

Expand All @@ -23,10 +24,16 @@ func TestAccTencentCloudTeoZoneDDoSPolicyDataSource(t *testing.T) {
})
}

const testAccDataSourceTeoZoneDDoSPolicy = `
const testAccDataSourceTeoZoneDDoSPolicyVar = `
variable "zone_id" {
default = "` + defaultZoneId + `"
}
`

const testAccDataSourceTeoZoneDDoSPolicy = testAccDataSourceTeoZoneDDoSPolicyVar + `

data "tencentcloud_teo_zone_ddos_policy" "zone_ddos_policy" {
zone_id = ""
zone_id = var.zone_id
}

`
105 changes: 90 additions & 15 deletions tencentcloud/resource_tc_teo_application_proxy_rule_test.go
Original file line number Diff line number Diff line change
@@ -1,49 +1,124 @@
package tencentcloud

import (
"context"
"fmt"
"strings"
"testing"

"github.com/hashicorp/terraform-plugin-sdk/terraform"

"github.com/hashicorp/terraform-plugin-sdk/helper/resource"
)

func TestAccTencentCloudNeedFixTeoApplicationProxyRule_basic(t *testing.T) {
// go test -i; go test -test.run TestAccTencentCloudTeoApplicationProxyRule_basic -v
func TestAccTencentCloudTeoApplicationProxyRule_basic(t *testing.T) {
t.Parallel()

resource.Test(t, resource.TestCase{
PreCheck: func() { testAccPreCheck(t) },
Providers: testAccProviders,
PreCheck: func() { testAccPreCheckCommon(t, ACCOUNT_TYPE_PRIVATE) },
Providers: testAccProviders,
CheckDestroy: testAccCheckApplicationProxyRuleDestroy,
Steps: []resource.TestStep{
{
Config: testAccTeoApplicationProxyRule,
Check: resource.ComposeTestCheckFunc(
resource.TestCheckResourceAttrSet("tencentcloud_teo_application_proxy_rule.application_proxy_rule", "id"),
testAccCheckApplicationProxyRuleExists("tencentcloud_teo_application_proxy_rule.basic"),
//resource.TestCheckResourceAttr("tencentcloud_teo_application_proxy_rule.basic", "zone_name", "tf-teo.com"),
//resource.TestCheckResourceAttr("tencentcloud_teo_application_proxy_rule.basic", "plan_type", "ent_with_bot"),
),
},
{
ResourceName: "tencentcloud_teo_application_proxy_rule.application_proxy_rule",
ResourceName: "tencentcloud_teo_application_proxy_rule.basic",
ImportState: true,
ImportStateVerify: true,
},
},
})
}

const testAccTeoApplicationProxyRule = `
func testAccCheckApplicationProxyRuleDestroy(s *terraform.State) error {
logId := getLogId(contextNil)
ctx := context.WithValue(context.TODO(), logIdKey, logId)
service := TeoService{client: testAccProvider.Meta().(*TencentCloudClient).apiV3Conn}
for _, rs := range s.RootModule().Resources {
if rs.Type != "tencentcloud_teo_application_proxy_rule" {
continue
}
idSplit := strings.Split(rs.Primary.ID, FILED_SP)
if len(idSplit) != 3 {
return fmt.Errorf("id is broken,%s", rs.Primary.ID)
}
zoneId := idSplit[0]
proxyId := idSplit[1]
ruleId := idSplit[2]

agents, err := service.DescribeTeoApplicationProxyRule(ctx, zoneId, proxyId, ruleId)
if agents != nil {
return fmt.Errorf("zone ApplicationProxyRule %s still exists", rs.Primary.ID)
}
if err != nil {
return err
}
}
return nil
}

func testAccCheckApplicationProxyRuleExists(r string) resource.TestCheckFunc {
return func(s *terraform.State) error {
logId := getLogId(contextNil)
ctx := context.WithValue(context.TODO(), logIdKey, logId)

rs, ok := s.RootModule().Resources[r]
if !ok {
return fmt.Errorf("resource %s is not found", r)
}

idSplit := strings.Split(rs.Primary.ID, FILED_SP)
if len(idSplit) != 3 {
return fmt.Errorf("id is broken,%s", rs.Primary.ID)
}
zoneId := idSplit[0]
proxyId := idSplit[1]
ruleId := idSplit[2]

service := TeoService{client: testAccProvider.Meta().(*TencentCloudClient).apiV3Conn}
agents, err := service.DescribeTeoApplicationProxyRule(ctx, zoneId, proxyId, ruleId)
if agents == nil {
return fmt.Errorf("zone ApplicationProxyRule %s is not found", rs.Primary.ID)
}
if err != nil {
return err
}

return nil
}
}

const testAccTeoApplicationProxyRuleVar = `
variable "default_zone_id" {
default = "` + defaultZoneId + `"
}
variable "proxy_id" {
default = "` + defaultPolicyId + `"
}
`

resource "tencentcloud_teo_application_proxy_rule" "application_proxy_rule" {
zone_id = tencentcloud_teo_zone.zone.id
proxy_id = tencentcloud_teo_application_proxy.application_proxy_rule.proxy_id
const testAccTeoApplicationProxyRule = testAccTeoApplicationProxyRuleVar + testAccTeoApplicationProxy + `

resource "tencentcloud_teo_application_proxy_rule" "basic" {
forward_client_ip = "TOA"
origin_type = "custom"
origin_value = [
"1.1.1.1:80",
"127.0.0.1:8081",
]
port = [
"80",
port = [
"8083",
]
proto = "TCP"
session_persist = false
proto = "TCP"
proxy_id = tencentcloud_teo_application_proxy.basic.proxy_id
session_persist = false
status = "online"
zone_id = var.default_zone_id
}

`
Loading