@@ -80,6 +80,26 @@ func TestAccTencentCloudTeoRuleEngine_basic(t *testing.T) {
8080 resource .TestCheckResourceAttr ("tencentcloud_teo_rule_engine.basic" , "tags.#" , "2" ),
8181 ),
8282 },
83+ {
84+ Config : testAccTeoRuleEngineActionUp ,
85+ Check : resource .ComposeTestCheckFunc (
86+ testAccCheckRuleEngineExists ("tencentcloud_teo_rule_engine.basic" ),
87+ resource .TestCheckResourceAttrSet ("tencentcloud_teo_rule_engine.basic" , "zone_id" ),
88+ resource .TestCheckResourceAttr ("tencentcloud_teo_rule_engine.basic" , "rule_name" , "rule-up" ),
89+ resource .TestCheckResourceAttr ("tencentcloud_teo_rule_engine.basic" , "status" , "enable" ),
90+ resource .TestCheckResourceAttr ("tencentcloud_teo_rule_engine.basic" , "rules.#" , "1" ),
91+ resource .TestCheckResourceAttr ("tencentcloud_teo_rule_engine.basic" , "rules.0.or.#" , "1" ),
92+ resource .TestCheckResourceAttr ("tencentcloud_teo_rule_engine.basic" , "rules.0.sub_rules.#" , "1" ),
93+ resource .TestCheckResourceAttr ("tencentcloud_teo_rule_engine.basic" , "rules.0.sub_rules.0.tags.#" , "1" ),
94+ resource .TestCheckResourceAttr ("tencentcloud_teo_rule_engine.basic" , "rules.0.sub_rules.0.rules.0.or.#" , "1" ),
95+ resource .TestCheckResourceAttr ("tencentcloud_teo_rule_engine.basic" , "rules.0.sub_rules.0.rules.0.or.0.and.#" , "1" ),
96+ resource .TestCheckResourceAttr ("tencentcloud_teo_rule_engine.basic" , "rules.0.sub_rules.0.rules.0.or.0.and.0.operator" , "equal" ),
97+ resource .TestCheckResourceAttr ("tencentcloud_teo_rule_engine.basic" , "rules.0.sub_rules.0.rules.0.or.0.and.0.target" , "filename" ),
98+ resource .TestCheckResourceAttr ("tencentcloud_teo_rule_engine.basic" , "rules.0.sub_rules.0.rules.0.or.0.and.0.ignore_case" , "false" ),
99+ resource .TestCheckResourceAttr ("tencentcloud_teo_rule_engine.basic" , "rules.0.sub_rules.0.rules.0.or.0.and.0.values.#" , "1" ),
100+ resource .TestCheckResourceAttr ("tencentcloud_teo_rule_engine.basic" , "tags.#" , "2" ),
101+ ),
102+ },
83103 },
84104 })
85105}
@@ -139,12 +159,18 @@ func testAccCheckRuleEngineExists(r string) resource.TestCheckFunc {
139159 }
140160}
141161
142- const testAccTeoRuleEngine = testAccTeoZone + `
162+ const testAccZoneVar = `
163+ variable "zone_id" {
164+ default = "zone-2qtuhspy7cr6"
165+ }
166+ `
167+
168+ const testAccTeoRuleEngine = testAccZoneVar + `
143169
144170resource "tencentcloud_teo_rule_engine" "basic" {
145171 rule_name = "rule-1"
146172 status = "enable"
147- zone_id = tencentcloud_teo_zone.basic.id
173+ zone_id = var.zone_id
148174
149175 rules {
150176 actions {
@@ -197,12 +223,12 @@ resource "tencentcloud_teo_rule_engine" "basic" {
197223 }
198224`
199225
200- const testAccTeoRuleEngineUp = testAccTeoZone + `
226+ const testAccTeoRuleEngineUp = testAccZoneVar + `
201227
202228resource "tencentcloud_teo_rule_engine" "basic" {
203229 rule_name = "rule-up"
204230 status = "enable"
205- zone_id = tencentcloud_teo_zone.basic.id
231+ zone_id = var.zone_id
206232
207233 tags = ["keep-test-np1", "keep-test-np2"]
208234
@@ -256,3 +282,48 @@ resource "tencentcloud_teo_rule_engine" "basic" {
256282 }
257283 }
258284`
285+
286+ const testAccTeoRuleEngineActionUp = testAccZoneVar + `
287+
288+ resource "tencentcloud_teo_rule_engine" "basic" {
289+ rule_name = "rule-up"
290+ status = "enable"
291+ zone_id = var.zone_id
292+
293+ tags = ["keep-test-np1", "keep-test-np2"]
294+
295+ rules {
296+ or {
297+ and {
298+ operator = "equal"
299+ target = "extension"
300+ values = [
301+ "11",
302+ ]
303+ }
304+ }
305+ sub_rules {
306+ tags = ["test-tag",]
307+ rules {
308+ or {
309+ and {
310+ operator = "equal"
311+ target = "filename"
312+ ignore_case = false
313+ values = ["test.txt"]
314+ }
315+ }
316+ actions {
317+ normal_action {
318+ action = "HostHeader"
319+ parameters {
320+ name = "ServerName"
321+ values = ["terraform-test.com"]
322+ }
323+ }
324+ }
325+ }
326+ }
327+ }
328+ }
329+ `
0 commit comments