Skip to content

Commit 1ae7042

Browse files
author
hellertang
authored
fix testcases (#803)
1 parent fc78a05 commit 1ae7042

6 files changed

+237
-25
lines changed
Lines changed: 199 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,199 @@
1+
package tencentcloud
2+
3+
import (
4+
"context"
5+
"fmt"
6+
"testing"
7+
8+
"github.com/hashicorp/terraform-plugin-sdk/helper/resource"
9+
"github.com/hashicorp/terraform-plugin-sdk/terraform"
10+
)
11+
12+
func TestAccTencentCloudKafkaInstance(t *testing.T) {
13+
t.Parallel()
14+
resource.Test(t, resource.TestCase{
15+
PreCheck: func() { testAccPreCheck(t) },
16+
Providers: testAccProviders,
17+
CheckDestroy: testAccTencentCloudKafkaInstanceDestroy,
18+
Steps: []resource.TestStep{
19+
{
20+
Config: testAccKafkaInstance,
21+
Check: resource.ComposeTestCheckFunc(
22+
testAccCheckKafkaInstanceExists("tencentcloud_ckafka_instance.kafka_instance"),
23+
resource.TestCheckResourceAttr("tencentcloud_ckafka_instance.kafka_instance", "instance_name", "ckafka-instance-tf-test"),
24+
resource.TestCheckResourceAttr("tencentcloud_ckafka_instance.kafka_instance", "zone_id", "100006"),
25+
resource.TestCheckResourceAttr("tencentcloud_ckafka_instance.kafka_instance", "period", "1"),
26+
resource.TestCheckResourceAttr("tencentcloud_ckafka_instance.kafka_instance", "msg_retention_time", "1300"),
27+
resource.TestCheckResourceAttr("tencentcloud_ckafka_instance.kafka_instance", "renew_flag", "0"),
28+
resource.TestCheckResourceAttr("tencentcloud_ckafka_instance.kafka_instance", "kafka_version", "1.1.1"),
29+
resource.TestCheckResourceAttr("tencentcloud_ckafka_instance.kafka_instance", "disk_size", "500"),
30+
resource.TestCheckResourceAttr("tencentcloud_ckafka_instance.kafka_instance", "disk_type", "CLOUD_BASIC"),
31+
),
32+
},
33+
{
34+
Config: testAccKafkaInstanceUpdate,
35+
Check: resource.ComposeTestCheckFunc(
36+
testAccCheckKafkaInstanceExists("tencentcloud_ckafka_instance.kafka_instance"),
37+
resource.TestCheckResourceAttr("tencentcloud_ckafka_instance.kafka_instance", "instance_name", "ckafka-instance-tf-test"),
38+
resource.TestCheckResourceAttr("tencentcloud_ckafka_instance.kafka_instance", "zone_id", "100086"),
39+
resource.TestCheckResourceAttr("tencentcloud_ckafka_instance.kafka_instance", "period", "1"),
40+
resource.TestCheckResourceAttr("tencentcloud_ckafka_instance.kafka_instance", "msg_retention_time", "1200"),
41+
resource.TestCheckResourceAttr("tencentcloud_ckafka_instance.kafka_instance", "renew_flag", "0"),
42+
resource.TestCheckResourceAttr("tencentcloud_ckafka_instance.kafka_instance", "kafka_version", "1.1.1"),
43+
resource.TestCheckResourceAttr("tencentcloud_ckafka_instance.kafka_instance", "disk_size", "500"),
44+
resource.TestCheckResourceAttr("tencentcloud_ckafka_instance.kafka_instance", "disk_type", "CLOUD_BASIC"),
45+
),
46+
},
47+
{
48+
ResourceName: "tencentcloud_ckafka_instance.kafka_instance",
49+
ImportState: true,
50+
ImportStateVerify: true,
51+
},
52+
},
53+
})
54+
}
55+
56+
func testAccTencentCloudKafkaInstanceDestroy(s *terraform.State) error {
57+
logId := getLogId(contextNil)
58+
ctx := context.WithValue(context.TODO(), logIdKey, logId)
59+
ckafkcService := CkafkaService{
60+
client: testAccProvider.Meta().(*TencentCloudClient).apiV3Conn,
61+
}
62+
for _, r := range s.RootModule().Resources {
63+
if r.Type != "tencentcloud_ckafka_instance" {
64+
continue
65+
}
66+
_, has, error := ckafkcService.DescribeInstanceById(ctx, r.Primary.ID)
67+
if error != nil {
68+
return error
69+
}
70+
if !has {
71+
return nil
72+
}
73+
return fmt.Errorf("ckafka instance still exists: %s", r.Primary.ID)
74+
}
75+
return nil
76+
}
77+
78+
func testAccCheckKafkaInstanceExists(n string) resource.TestCheckFunc {
79+
return func(s *terraform.State) error {
80+
logId := getLogId(contextNil)
81+
ctx := context.WithValue(context.TODO(), logIdKey, logId)
82+
83+
rs, ok := s.RootModule().Resources[n]
84+
if !ok {
85+
return fmt.Errorf("ckafka instance %s is not found", n)
86+
}
87+
if rs.Primary.ID == "" {
88+
return fmt.Errorf("ckafka instance id is not set")
89+
}
90+
ckafkcService := CkafkaService{
91+
client: testAccProvider.Meta().(*TencentCloudClient).apiV3Conn,
92+
}
93+
94+
var exist bool
95+
outErr := resource.Retry(readRetryTimeout, func() *resource.RetryError {
96+
_, has, inErr := ckafkcService.DescribeInstanceById(ctx, rs.Primary.ID)
97+
if inErr != nil {
98+
return retryError(inErr)
99+
}
100+
exist = has
101+
return nil
102+
})
103+
if outErr != nil {
104+
return outErr
105+
}
106+
if !exist {
107+
return fmt.Errorf("ckafka instance doesn't exist: %s", rs.Primary.ID)
108+
}
109+
return nil
110+
}
111+
}
112+
113+
const testAccKafkaInstance = `
114+
resource "tencentcloud_route_table" "rtb_test" {
115+
name = "rtb-test"
116+
vpc_id = "${tencentcloud_vpc.vpc_test.id}"
117+
}
118+
119+
resource "tencentcloud_subnet" "subnet_test" {
120+
name = "subnet-test"
121+
cidr_block = "10.0.1.0/24"
122+
availability_zone = "ap-guangzhou-6"
123+
vpc_id = "${tencentcloud_vpc.vpc_test.id}"
124+
route_table_id = "${tencentcloud_route_table.rtb_test.id}"
125+
}
126+
127+
resource "tencentcloud_vpc" "vpc_test" {
128+
name = "vpc-test"
129+
cidr_block = "10.0.0.0/16"
130+
}
131+
132+
resource "tencentcloud_ckafka_instance" "kafka_instance" {
133+
instance_name = "ckafka-instance-tf-test"
134+
zone_id = 100006
135+
period = 1
136+
vpc_id = "${tencentcloud_vpc.vpc_test.id}"
137+
subnet_id = "${tencentcloud_subnet.subnet_test.id}"
138+
msg_retention_time = 1300
139+
renew_flag = 0
140+
kafka_version = "1.1.1"
141+
disk_size = 500
142+
disk_type = "CLOUD_BASIC"
143+
144+
145+
config {
146+
auto_create_topic_enable = true
147+
default_num_partitions = 3
148+
default_replication_factor = 3
149+
}
150+
151+
dynamic_retention_config {
152+
enable = 1
153+
}
154+
}
155+
`
156+
157+
const testAccKafkaInstanceUpdate = `
158+
resource "tencentcloud_route_table" "rtb_test" {
159+
name = "rtb-test"
160+
vpc_id = "${tencentcloud_vpc.vpc_test.id}"
161+
}
162+
163+
resource "tencentcloud_subnet" "subnet_test" {
164+
name = "subnet-test"
165+
cidr_block = "10.0.1.0/24"
166+
availability_zone = "ap-guangzhou-6"
167+
vpc_id = "${tencentcloud_vpc.vpc_test.id}"
168+
route_table_id = "${tencentcloud_route_table.rtb_test.id}"
169+
}
170+
171+
resource "tencentcloud_vpc" "vpc_test" {
172+
name = "vpc-test"
173+
cidr_block = "10.0.0.0/16"
174+
}
175+
176+
resource "tencentcloud_ckafka_instance" "kafka_instance" {
177+
instance_name = "ckafka-instance-tf-test"
178+
zone_id = 100006
179+
period = 1
180+
vpc_id = "${tencentcloud_vpc.vpc_test.id}"
181+
subnet_id = "${tencentcloud_subnet.subnet_test.id}"
182+
msg_retention_time = 1200
183+
renew_flag = 0
184+
kafka_version = "1.1.1"
185+
disk_size = 500
186+
disk_type = "CLOUD_BASIC"
187+
188+
189+
config {
190+
auto_create_topic_enable = true
191+
default_num_partitions = 3
192+
default_replication_factor = 3
193+
}
194+
195+
dynamic_retention_config {
196+
enable = 1
197+
}
198+
}
199+
`

tencentcloud/resource_tc_clb_instance_test.go

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,7 @@ func TestAccTencentCloudClbInstance_default_enable(t *testing.T) {
129129
Check: resource.ComposeTestCheckFunc(
130130
testAccCheckClbInstanceExists("tencentcloud_clb_instance.default_enable"),
131131
resource.TestCheckResourceAttr("tencentcloud_clb_instance.default_enable", "network_type", "OPEN"),
132-
resource.TestCheckResourceAttr("tencentcloud_clb_instance.default_enable", "clb_name", "my_open_clb"),
132+
resource.TestCheckResourceAttr("tencentcloud_clb_instance.default_enable", "clb_name", "my-open-clb"),
133133
resource.TestCheckResourceAttr("tencentcloud_clb_instance.default_enable", "project_id", "0"),
134134
resource.TestCheckResourceAttrSet("tencentcloud_clb_instance.default_enable", "vpc_id"),
135135
resource.TestCheckResourceAttr("tencentcloud_clb_instance.default_enable", "load_balancer_pass_to_target", "true"),
@@ -144,7 +144,7 @@ func TestAccTencentCloudClbInstance_default_enable(t *testing.T) {
144144
Check: resource.ComposeTestCheckFunc(
145145
testAccCheckClbInstanceExists("tencentcloud_clb_instance.default_enable"),
146146
resource.TestCheckResourceAttr("tencentcloud_clb_instance.default_enable", "network_type", "OPEN"),
147-
resource.TestCheckResourceAttr("tencentcloud_clb_instance.default_enable", "clb_name", "my_open_clb"),
147+
resource.TestCheckResourceAttr("tencentcloud_clb_instance.default_enable", "clb_name", "my-open-clb"),
148148
resource.TestCheckResourceAttr("tencentcloud_clb_instance.default_enable", "project_id", "0"),
149149
resource.TestCheckResourceAttrSet("tencentcloud_clb_instance.default_enable", "vpc_id"),
150150
resource.TestCheckResourceAttr("tencentcloud_clb_instance.default_enable", "load_balancer_pass_to_target", "true"),
@@ -171,9 +171,9 @@ func TestAccTencentCloudClbInstance_multiple_instance(t *testing.T) {
171171
Check: resource.ComposeTestCheckFunc(
172172
testAccCheckClbInstanceExists("tencentcloud_clb_instance.multiple_instance"),
173173
resource.TestCheckResourceAttr("tencentcloud_clb_instance.multiple_instance", "network_type", "OPEN"),
174-
resource.TestCheckResourceAttr("tencentcloud_clb_instance.multiple_instance", "clb_name", "my_open_clb"),
175-
resource.TestCheckResourceAttr("tencentcloud_clb_instance.multiple_instance", "master_zone_id", "10001"),
176-
resource.TestCheckResourceAttr("tencentcloud_clb_instance.multiple_instance", "slave_zone_id", "10002"),
174+
resource.TestCheckResourceAttr("tencentcloud_clb_instance.multiple_instance", "clb_name", "my-open-clb"),
175+
resource.TestCheckResourceAttr("tencentcloud_clb_instance.multiple_instance", "master_zone_id", "100003"),
176+
resource.TestCheckResourceAttr("tencentcloud_clb_instance.multiple_instance", "slave_zone_id", "100004"),
177177
resource.TestCheckResourceAttr("tencentcloud_clb_instance.multiple_instance", "tags.test", "mytest"),
178178
),
179179
},
@@ -182,9 +182,9 @@ func TestAccTencentCloudClbInstance_multiple_instance(t *testing.T) {
182182
Check: resource.ComposeTestCheckFunc(
183183
testAccCheckClbInstanceExists("tencentcloud_clb_instance.multiple_instance"),
184184
resource.TestCheckResourceAttr("tencentcloud_clb_instance.multiple_instance", "network_type", "OPEN"),
185-
resource.TestCheckResourceAttr("tencentcloud_clb_instance.multiple_instance", "clb_name", "my_open_clb"),
186-
resource.TestCheckResourceAttr("tencentcloud_clb_instance.multiple_instance", "master_zone_id", "10001"),
187-
resource.TestCheckResourceAttr("tencentcloud_clb_instance.multiple_instance", "slave_zone_id", "10002"),
185+
resource.TestCheckResourceAttr("tencentcloud_clb_instance.multiple_instance", "clb_name", "my-open-clb"),
186+
resource.TestCheckResourceAttr("tencentcloud_clb_instance.multiple_instance", "master_zone_id", "100003"),
187+
resource.TestCheckResourceAttr("tencentcloud_clb_instance.multiple_instance", "slave_zone_id", "100004"),
188188
resource.TestCheckResourceAttr("tencentcloud_clb_instance.multiple_instance", "tags.test", "open"),
189189
),
190190
},
@@ -451,11 +451,11 @@ const testAccClbInstance__multi_instance = `
451451
resource "tencentcloud_clb_instance" "multiple_instance" {
452452
network_type = "OPEN"
453453
clb_name = "my-open-clb"
454-
master_zone_id = "10001"
455-
slave_zone_id = "10002"
454+
master_zone_id = "100003"
455+
slave_zone_id = "100004"
456456
457457
tags = {
458-
test = "open"
458+
test = "mytest"
459459
}
460460
}
461461
`
@@ -464,8 +464,8 @@ const testAccClbInstance__multi_instance_update = `
464464
resource "tencentcloud_clb_instance" "multiple_instance" {
465465
network_type = "OPEN"
466466
clb_name = "my-open-clb"
467-
master_zone_id = "10001"
468-
slave_zone_id = "10002"
467+
master_zone_id = "100003"
468+
slave_zone_id = "100004"
469469
470470
tags = {
471471
test = "open"

tencentcloud/resource_tc_clb_listener_test.go

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -232,7 +232,6 @@ func TestAccTencentCloudClbListenerTCPWithCustomer(t *testing.T) {
232232
resource.TestCheckResourceAttr("tencentcloud_clb_listener.listener_tcp", "health_check_health_num", "2"),
233233
resource.TestCheckResourceAttr("tencentcloud_clb_listener.listener_tcp", "health_check_unhealth_num", "2"),
234234
resource.TestCheckResourceAttr("tencentcloud_clb_listener.listener_tcp", "health_check_type", "CUSTOM"),
235-
resource.TestCheckResourceAttr("tencentcloud_clb_listener.listener_tcp", "health_check_port", "0"),
236235
resource.TestCheckResourceAttr("tencentcloud_clb_listener.listener_tcp", "health_check_context_type", "HEX"),
237236
resource.TestCheckResourceAttr("tencentcloud_clb_listener.listener_tcp", "health_check_send_context", "0123456789ABCDEF"),
238237
resource.TestCheckResourceAttr("tencentcloud_clb_listener.listener_tcp", "health_check_recv_context", "ABCD"),
@@ -254,7 +253,6 @@ func TestAccTencentCloudClbListenerTCPWithCustomer(t *testing.T) {
254253
resource.TestCheckResourceAttr("tencentcloud_clb_listener.listener_tcp", "health_check_health_num", "3"),
255254
resource.TestCheckResourceAttr("tencentcloud_clb_listener.listener_tcp", "health_check_unhealth_num", "3"),
256255
resource.TestCheckResourceAttr("tencentcloud_clb_listener.listener_tcp", "health_check_type", "CUSTOM"),
257-
resource.TestCheckResourceAttr("tencentcloud_clb_listener.listener_tcp", "health_check_port", "0"),
258256
resource.TestCheckResourceAttr("tencentcloud_clb_listener.listener_tcp", "health_check_context_type", "TEXT"),
259257
resource.TestCheckResourceAttr("tencentcloud_clb_listener.listener_tcp", "health_check_send_context", "/get/test"),
260258
resource.TestCheckResourceAttr("tencentcloud_clb_listener.listener_tcp", "health_check_recv_context", "http_1xx"),

tencentcloud/resource_tc_clb_log_set_test.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -21,14 +21,14 @@ func TestAccTencentCloudClbLogset_basic(t *testing.T) {
2121
{
2222
Config: testAccClbLogset_basic,
2323
Check: resource.ComposeTestCheckFunc(
24-
testAccCheckClbLogsetExists("tencentcloud_clb_logset.test_logset"),
25-
resource.TestCheckResourceAttrSet("tencentcloud_clb_logset.test_logset", "create_time"),
26-
resource.TestCheckResourceAttr("tencentcloud_clb_logset.test_logset", "name", "clb_logset"),
27-
resource.TestCheckResourceAttr("tencentcloud_clb_logset.test_logset", "period", "7"),
24+
testAccCheckClbLogsetExists("tencentcloud_clb_log_set.test_logset"),
25+
resource.TestCheckResourceAttrSet("tencentcloud_clb_log_set.test_logset", "create_time"),
26+
resource.TestCheckResourceAttr("tencentcloud_clb_log_set.test_logset", "name", "clb_logset"),
27+
resource.TestCheckResourceAttr("tencentcloud_clb_log_set.test_logset", "period", "7"),
2828
),
2929
},
3030
{
31-
ResourceName: "tencentcloud_clb_logset.test_logset",
31+
ResourceName: "tencentcloud_clb_log_set.test_logset",
3232
ImportState: true,
3333
ImportStateVerify: true,
3434
},
@@ -85,7 +85,7 @@ func testAccCheckClbLogsetExists(n string) resource.TestCheckFunc {
8585
}
8686

8787
const testAccClbLogset_basic = `
88-
resource "tencentcloud_clb_logset" "test_logset" {
88+
resource "tencentcloud_clb_log_set" "test_logset" {
8989
period = 7
9090
}
9191
`

tencentcloud/resource_tc_clb_instance_topic_test.go renamed to tencentcloud/resource_tc_clb_log_topic_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ func testAccCheckClbInstanceTopicExists(n string) resource.TestCheckFunc {
5858
}
5959

6060
const testAccClbInstanceTopic = `
61-
resource "tencentcloud_clb_instances_topic" "topic" {
61+
resource "tencentcloud_clb_log_topic" "topic" {
6262
topic_name="clb-topic-test"
6363
partition_count=3
6464
}

tencentcloud/resource_tc_instance_test.go

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,7 @@ func TestAccTencentCloudInstanceWithNetwork(t *testing.T) {
133133
CheckDestroy: testAccCheckInstanceDestroy,
134134
Steps: []resource.TestStep{
135135
{
136-
Config: testAccTencentCloudInstanceWithNetwork("false", 1),
136+
Config: testAccTencentCloudInstanceWithNetworkFalse("false"),
137137
Check: resource.ComposeTestCheckFunc(
138138
testAccCheckTencentCloudDataSourceID(id),
139139
testAccCheckTencentCloudInstanceExists(id),
@@ -608,6 +608,23 @@ resource "tencentcloud_instance" "foo" {
608608
}
609609
`
610610

611+
func testAccTencentCloudInstanceWithNetworkFalse(hasPublicIp string) string {
612+
return fmt.Sprintf(
613+
defaultInstanceVariable+`
614+
resource "tencentcloud_instance" "foo" {
615+
instance_name = var.instance_name
616+
availability_zone = data.tencentcloud_availability_zones.default.zones.0.name
617+
image_id = data.tencentcloud_images.default.images.0.image_id
618+
instance_type = data.tencentcloud_instance_types.default.instance_types.0.instance_type
619+
internet_charge_type = "TRAFFIC_POSTPAID_BY_HOUR"
620+
allocate_public_ip = %s
621+
system_disk_type = "CLOUD_PREMIUM"
622+
}
623+
`,
624+
hasPublicIp,
625+
)
626+
}
627+
611628
func testAccTencentCloudInstanceWithNetwork(hasPublicIp string, maxBandWidthOut int64) string {
612629
return fmt.Sprintf(
613630
defaultInstanceVariable+`
@@ -673,7 +690,6 @@ resource "tencentcloud_instance" "foo" {
673690
availability_zone = data.tencentcloud_availability_zones.default.zones.0.name
674691
image_id = data.tencentcloud_images.default.images.0.image_id
675692
instance_type = data.tencentcloud_instance_types.default.instance_types.0.instance_type
676-
internet_max_bandwidth_out = 1
677693
password = "%s"
678694
system_disk_type = "CLOUD_PREMIUM"
679695
}
@@ -761,7 +777,6 @@ resource "tencentcloud_instance" "foo" {
761777
image_id = data.tencentcloud_images.default.images.0.image_id
762778
instance_type = data.tencentcloud_instance_types.default.instance_types.0.instance_type
763779
system_disk_type = "CLOUD_PREMIUM"
764-
internet_max_bandwidth_out = 1
765780
security_groups = %s
766781
}
767782
`,

0 commit comments

Comments
 (0)