Skip to content

Commit 7142923

Browse files
authored
fix: tke,sqlserver - shallow testcases (#1008)
* fix: tke,sqlserver - shallow testcases * fix: tke - addon testcase * fix: sqlserver - disable basic/pubsub update * fix: sqlserver - set basic test spec
1 parent e33c2aa commit 7142923

14 files changed

+160
-395
lines changed

tencentcloud/basic_test.go

Lines changed: 51 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -117,9 +117,7 @@ variable "subnet_id" {
117117

118118
// Tke Exclusive Network Environment
119119
const (
120-
tkeExclusiveVpcId = "vpc-391sv4w3"
121120
tkeExclusiveVpcName = "keep_tke_exclusive_vpc"
122-
tkeExclusiveSubnetId = "subnet-ljyn7h30"
123121
defaultTkeClusterId = "cls-ely08ic4"
124122
defaultTkeClusterName = "keep-tke-cluster"
125123
)
@@ -212,6 +210,16 @@ variable "default_az" {
212210
}
213211
`
214212

213+
const defaultImages = `
214+
variable "default_img_id" {
215+
default = "` + defaultTkeOSImageId + `"
216+
}
217+
218+
variable "default_img" {
219+
default = "` + defaultTkeOSImageName + `"
220+
}
221+
`
222+
215223
// default VPC/Subnet datasource
216224
const defaultVpcSubnets = defaultAzVariable + `
217225
@@ -508,3 +516,44 @@ locals {
508516
`
509517

510518
// End of TcaPlus DB
519+
520+
// TKE Service
521+
const TkeInstanceType = `
522+
data "tencentcloud_instance_types" "ins_type" {
523+
availability_zone = "` + defaultCvmAZone + `"
524+
cpu_core_count = 1
525+
memory_size = 2
526+
}
527+
528+
locals {
529+
type1 = [for i in data.tencentcloud_instance_types.ins_type.instance_types: i if lookup(i, "instance_charge_type") == "POSTPAID_BY_HOUR"][0].instance_type
530+
type2 = [for i in data.tencentcloud_instance_types.ins_type.instance_types: i if lookup(i, "instance_charge_type") == "POSTPAID_BY_HOUR"][1].instance_type
531+
}
532+
`
533+
534+
const TkeExclusiveNetwork = `
535+
data "tencentcloud_vpc_instances" "vpc" {
536+
name = "` + tkeExclusiveVpcName + `"
537+
}
538+
539+
data "tencentcloud_vpc_subnets" "subnet" {
540+
vpc_id = data.tencentcloud_vpc_instances.vpc.instance_list.0.vpc_id
541+
}
542+
543+
locals {
544+
vpc_id = data.tencentcloud_vpc_subnets.subnet.instance_list.0.vpc_id
545+
subnet_id = data.tencentcloud_vpc_subnets.subnet.instance_list.0.subnet_id
546+
}
547+
`
548+
549+
const TkeDataSource = `
550+
data "tencentcloud_kubernetes_clusters" "tke" {
551+
cluster_name = "` + defaultTkeClusterName + `"
552+
}
553+
554+
locals {
555+
cluster_id = data.tencentcloud_kubernetes_clusters.tke.list.0.cluster_id
556+
}
557+
`
558+
559+
// End of TKE Service

tencentcloud/data_source_tc_sqlserver_account_db_attachments_test.go

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@ func TestAccDataSourceTencentCloudSqlserverAccountDBAttachments(t *testing.T) {
1818
{
1919
Config: testAccTencentCloudDataSqlserverAccountDBAttachmentsBasic,
2020
Check: resource.ComposeTestCheckFunc(
21-
resource.TestCheckResourceAttr(testDataSqlserverAccountDBAttachmentsName, "list.#", "1"),
22-
resource.TestCheckResourceAttr(testDataSqlserverAccountDBAttachmentsName, "list.0.account_name", "tf_sqlserver_account"),
21+
resource.TestCheckResourceAttrSet(testDataSqlserverAccountDBAttachmentsName, "list.#"),
22+
resource.TestCheckResourceAttrSet(testDataSqlserverAccountDBAttachmentsName, "list.0.account_name"),
2323
resource.TestCheckResourceAttrSet(testDataSqlserverAccountDBAttachmentsName, "list.0.db_name"),
2424
resource.TestCheckResourceAttrSet(testDataSqlserverAccountDBAttachmentsName, "list.0.privilege"),
2525
),
@@ -29,22 +29,21 @@ func TestAccDataSourceTencentCloudSqlserverAccountDBAttachments(t *testing.T) {
2929
}
3030

3131
const testAccTencentCloudDataSqlserverAccountDBAttachmentsBasic = CommonPresetSQLServerAccount + `
32-
3332
resource "tencentcloud_sqlserver_db" "test" {
34-
instance_id = tencentcloud_sqlserver_instance.test.id
33+
instance_id = local.sqlserver_id
3534
name = "test_db_attachment"
3635
charset = "Chinese_PRC_BIN"
3736
remark = "testACC-remark"
3837
}
3938
4039
resource "tencentcloud_sqlserver_account_db_attachment" "test" {
41-
instance_id = tencentcloud_sqlserver_instance.test.id
40+
instance_id = local.sqlserver_id
4241
account_name = local.sqlserver_account
43-
db_name = tencentcloud_sqlserver_db.test.name
44-
privilege = "ReadWrite"
42+
db_name = tencentcloud_sqlserver_db.test.name
43+
privilege = "ReadWrite"
4544
}
4645
data "tencentcloud_sqlserver_account_db_attachments" "test"{
47-
instance_id = tencentcloud_sqlserver_instance.test.id
46+
instance_id = local.sqlserver_id
4847
account_name = tencentcloud_sqlserver_account_db_attachment.test.account_name
4948
}
5049
`

tencentcloud/data_source_tc_sqlserver_basic_instances_test.go

Lines changed: 3 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -18,65 +18,16 @@ func TestAccDataSourceTencentCloudSqlserverBasicInstances(t *testing.T) {
1818
{
1919
Config: testAccTencentCloudDataSqlserverBasicInstancesBasic,
2020
Check: resource.ComposeTestCheckFunc(
21-
testAccCheckSqlserverBasicInstanceExists("tencentcloud_sqlserver_basic_instance.test"),
22-
resource.TestCheckResourceAttr(testDataSqlserverBasicInstancesName, "instance_list.#", "1"),
23-
resource.TestCheckResourceAttrSet(testDataSqlserverBasicInstancesName, "instance_list.0.id"),
24-
resource.TestCheckResourceAttrSet(testDataSqlserverBasicInstancesName, "instance_list.0.create_time"),
25-
resource.TestCheckResourceAttrSet(testDataSqlserverBasicInstancesName, "instance_list.0.name"),
26-
resource.TestCheckResourceAttr(testDataSqlserverBasicInstancesName, "instance_list.0.charge_type", "POSTPAID_BY_HOUR"),
27-
resource.TestCheckResourceAttrSet(testDataSqlserverBasicInstancesName, "instance_list.0.engine_version"),
28-
resource.TestCheckResourceAttr(testDataSqlserverBasicInstancesName, "instance_list.0.project_id", "0"),
29-
resource.TestCheckResourceAttr(testDataSqlserverBasicInstancesName, "instance_list.0.memory", "4"),
30-
resource.TestCheckResourceAttr(testDataSqlserverBasicInstancesName, "instance_list.0.storage", "20"),
31-
resource.TestCheckResourceAttr(testDataSqlserverBasicInstancesName, "instance_list.0.cpu", "2"),
32-
resource.TestCheckResourceAttrSet(testDataSqlserverBasicInstancesName, "instance_list.0.vpc_id"),
33-
resource.TestCheckResourceAttrSet(testDataSqlserverBasicInstancesName, "instance_list.0.subnet_id"),
34-
resource.TestCheckResourceAttrSet(testDataSqlserverBasicInstancesName, "instance_list.0.availability_zone"),
35-
resource.TestCheckResourceAttrSet(testDataSqlserverBasicInstancesName, "instance_list.0.vip"),
36-
resource.TestCheckResourceAttrSet(testDataSqlserverBasicInstancesName, "instance_list.0.vport"),
37-
resource.TestCheckResourceAttrSet(testDataSqlserverBasicInstancesName, "instance_list.0.status"),
38-
resource.TestCheckResourceAttrSet(testDataSqlserverBasicInstancesName, "instance_list.0.used_storage"),
39-
resource.TestCheckResourceAttr(testDataSqlserverBasicInstancesName, "instance_list.0.tags.test", "test"),
21+
resource.TestCheckResourceAttrSet(testDataSqlserverBasicInstancesName, "name"),
22+
resource.TestCheckResourceAttrSet(testDataSqlserverBasicInstancesName, "instance_list.#"),
4023
),
4124
},
4225
},
4326
})
4427
}
4528

4629
const testAccTencentCloudDataSqlserverBasicInstancesBasic = testAccSqlserverAZ + `
47-
48-
resource "tencentcloud_vpc" "foo" {
49-
name = "tf-sqlserver-vpc"
50-
cidr_block = "10.0.0.0/16"
51-
}
52-
53-
resource "tencentcloud_subnet" "foo" {
54-
availability_zone = local.az1
55-
name = "tf-sqlserver-subnet"
56-
vpc_id = tencentcloud_vpc.foo.id
57-
cidr_block = "10.0.0.0/16"
58-
is_multicast = false
59-
}
60-
61-
resource "tencentcloud_sqlserver_basic_instance" "test" {
62-
name = "tf_sqlserver_basic_instance"
63-
availability_zone = local.az1
64-
charge_type = "POSTPAID_BY_HOUR"
65-
vpc_id = tencentcloud_vpc.foo.id
66-
subnet_id = tencentcloud_subnet.foo.id
67-
machine_type = "CLOUD_PREMIUM"
68-
project_id = 0
69-
memory = 4
70-
storage = 20
71-
cpu = 2
72-
security_groups = ["` + defaultSecurityGroup + `"]
73-
74-
tags = {
75-
"test" = "test"
76-
}
77-
}
78-
7930
data "tencentcloud_sqlserver_basic_instances" "id_test"{
80-
id = tencentcloud_sqlserver_basic_instance.test.id
31+
name = "keep"
8132
}
8233
`

tencentcloud/data_source_tc_sqlserver_publish_subscribes_test.go

Lines changed: 3 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -16,76 +16,16 @@ func TestAccTencentCloudSqlserverPublishSubscribeDataSource(t *testing.T) {
1616
{
1717
Config: testAccTencentCloudSqlServerPublishSubscribeDataSourceConfig,
1818
Check: resource.ComposeTestCheckFunc(
19-
testAccCheckSqlserverPublishSubscribeExists("tencentcloud_sqlserver_publish_subscribe.example"),
20-
resource.TestCheckResourceAttrSet("data.tencentcloud_sqlserver_publish_subscribes.publish_subscribes", "publish_subscribe_list.0.publish_instance_id"),
21-
resource.TestCheckResourceAttrSet("data.tencentcloud_sqlserver_publish_subscribes.publish_subscribes", "publish_subscribe_list.0.subscribe_instance_id"),
22-
resource.TestCheckResourceAttr("data.tencentcloud_sqlserver_publish_subscribes.publish_subscribes", "publish_subscribe_list.0.publish_subscribe_name", "example"),
23-
resource.TestCheckResourceAttrSet("data.tencentcloud_sqlserver_publish_subscribes.publish_subscribes", "publish_subscribe_list.0.publish_instance_ip"),
24-
resource.TestCheckResourceAttrSet("data.tencentcloud_sqlserver_publish_subscribes.publish_subscribes", "publish_subscribe_list.0.subscribe_instance_ip"),
25-
resource.TestCheckResourceAttrSet("data.tencentcloud_sqlserver_publish_subscribes.publish_subscribes", "publish_subscribe_list.0.publish_instance_name"),
26-
resource.TestCheckResourceAttrSet("data.tencentcloud_sqlserver_publish_subscribes.publish_subscribes", "publish_subscribe_list.0.subscribe_instance_name"),
27-
resource.TestCheckResourceAttrSet("data.tencentcloud_sqlserver_publish_subscribes.publish_subscribes", "publish_subscribe_list.0.publish_subscribe_id"),
28-
resource.TestCheckResourceAttr("data.tencentcloud_sqlserver_publish_subscribes.publish_subscribes", "publish_subscribe_list.0.database_tuples.#", "1"),
29-
resource.TestCheckResourceAttrSet("data.tencentcloud_sqlserver_publish_subscribes.publish_foos", "publish_subscribe_list.0.publish_instance_id"),
30-
resource.TestCheckResourceAttrSet("data.tencentcloud_sqlserver_publish_subscribes.subscribe_foos", "publish_subscribe_list.0.subscribe_instance_id"),
19+
resource.TestCheckResourceAttrSet("data.tencentcloud_sqlserver_publish_subscribes.publish_subscribes", "publish_subscribe_list.#"),
3120
),
3221
},
3322
},
3423
})
3524
}
3625

37-
const testAccTencentCloudSqlServerPublishSubscribeDataSourceConfig = defaultVpcSubnets + defaultSecurityGroupData + CommonPresetSQLServer + `
38-
39-
resource "tencentcloud_sqlserver_instance" "publish_instance" {
40-
name = "tf_sqlserver_publish_instance"
41-
availability_zone = var.default_az
42-
charge_type = "POSTPAID_BY_HOUR"
43-
vpc_id = local.vpc_id
44-
subnet_id = local.subnet_id
45-
project_id = 0
46-
memory = 2
47-
storage = 10
48-
maintenance_week_set = [1,2,3]
49-
maintenance_start_time= "09:00"
50-
maintenance_time_span = 3
51-
security_groups = [local.sg_id]
52-
}
53-
54-
resource "tencentcloud_sqlserver_instance" "subscribe_instance" {
55-
name = "tf_sqlserver_subscribe_instance"
56-
availability_zone = var.default_az
57-
charge_type = "POSTPAID_BY_HOUR"
58-
vpc_id = local.vpc_id
59-
subnet_id = local.subnet_id
60-
memory = 2
61-
storage = 10
62-
maintenance_week_set = [1,2,3]
63-
maintenance_start_time = "09:00"
64-
maintenance_time_span = 3
65-
security_groups = [local.sg_id]
66-
}
67-
68-
resource "tencentcloud_sqlserver_publish_subscribe" "example" {
69-
publish_instance_id = local.sqlserver_id
70-
subscribe_instance_id = tencentcloud_sqlserver_instance.subscribe_instance.id
71-
publish_subscribe_name = "example"
72-
delete_subscribe_db = false
73-
database_tuples {
74-
publish_database = local.sqlserver_db
75-
}
76-
}
26+
const testAccTencentCloudSqlServerPublishSubscribeDataSourceConfig = CommonPresetSQLServer + `
7727
7828
data "tencentcloud_sqlserver_publish_subscribes" "publish_subscribes" {
79-
instance_id = tencentcloud_sqlserver_publish_subscribe.example.publish_instance_id
80-
pub_or_sub_instance_id = tencentcloud_sqlserver_publish_subscribe.example.subscribe_instance_id
81-
publish_subscribe_name = tencentcloud_sqlserver_publish_subscribe.example.publish_subscribe_name
82-
}
83-
84-
data "tencentcloud_sqlserver_publish_subscribes" "publish_foos" {
85-
instance_id = tencentcloud_sqlserver_publish_subscribe.example.publish_instance_id
86-
}
87-
88-
data "tencentcloud_sqlserver_publish_subscribes" "subscribe_foos" {
89-
instance_id = tencentcloud_sqlserver_publish_subscribe.example.subscribe_instance_id
29+
instance_id = local.sqlserver_id
9030
}
9131
`
Lines changed: 40 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,46 @@
11
package tencentcloud
22

33
import (
4+
"context"
5+
"fmt"
46
"testing"
57

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

11+
const defaultAddonName = "cos"
12+
13+
func init() {
14+
// go test -v ./tencentcloud -sweep=ap-guangzhou -sweep-run=tencentcloud_kubernetes_addon_attachment
15+
resource.AddTestSweepers("tencentcloud_kubernetes_addon_attachment", &resource.Sweeper{
16+
Name: "tencentcloud_kubernetes_addon_attachment",
17+
F: func(r string) error {
18+
logId := getLogId(contextNil)
19+
ctx := context.WithValue(context.TODO(), logIdKey, logId)
20+
cli, _ := sharedClientForRegion(r)
21+
client := cli.(*TencentCloudClient).apiV3Conn
22+
service := TkeService{client}
23+
24+
cls, err := service.DescribeClusters(ctx, "", "keep")
25+
if err != nil {
26+
return err
27+
}
28+
29+
if len(cls) == 0 {
30+
return fmt.Errorf("no persistent cluster")
31+
}
32+
33+
clusterId := cls[0].ClusterId
34+
35+
if err = service.DeleteExtensionAddon(ctx, clusterId, defaultAddonName); err != nil {
36+
return err
37+
}
38+
39+
return nil
40+
},
41+
})
42+
}
43+
944
func TestAccTencentCloudTkeAddonAttachmentResource(t *testing.T) {
1045
t.Parallel()
1146
resource.Test(t, resource.TestCase{
@@ -25,74 +60,13 @@ func TestAccTencentCloudTkeAddonAttachmentResource(t *testing.T) {
2560
}
2661

2762
func testAccTkeAddonAttachment() string {
28-
return `
29-
//variable "availability_zone" {
30-
// default = "ap-guangzhou-3"
31-
//}
32-
//
33-
//variable "cluster_cidr" {
34-
// default = "172.16.0.0/16"
35-
//}
36-
//
37-
//variable "default_instance_type" {
38-
// default = "S1.SMALL1"
39-
//}
40-
//
41-
//data "tencentcloud_images" "default" {
42-
// image_type = ["PUBLIC_IMAGE"]
43-
// os_name = "centos"
44-
//}
45-
//
46-
//
47-
//data "tencentcloud_vpc_subnets" "vpc" {
48-
// is_default = true
49-
// availability_zone = var.availability_zone
50-
//}
51-
//
52-
//resource "tencentcloud_kubernetes_cluster" "managed_cluster" {
53-
// vpc_id = data.tencentcloud_vpc_subnets.vpc.instance_list.0.vpc_id
54-
// cluster_cidr = "10.31.0.0/16"
55-
// cluster_max_pod_num = 32
56-
// cluster_name = "keep"
57-
// cluster_desc = "test cluster desc"
58-
// cluster_version = "1.20.6"
59-
// cluster_max_service_num = 32
60-
// cluster_os = "tlinux2.2(tkernel3)x86_64"
61-
//
62-
// worker_config {
63-
// count = 1
64-
// availability_zone = var.availability_zone
65-
// instance_type = var.default_instance_type
66-
// system_disk_type = "CLOUD_SSD"
67-
// system_disk_size = 60
68-
// internet_charge_type = "TRAFFIC_POSTPAID_BY_HOUR"
69-
// internet_max_bandwidth_out = 100
70-
// public_ip_assigned = true
71-
// subnet_id = data.tencentcloud_vpc_subnets.vpc.instance_list.0.subnet_id
72-
//
73-
// data_disk {
74-
// disk_type = "CLOUD_PREMIUM"
75-
// disk_size = 50
76-
// }
77-
//
78-
// enhanced_security_service = false
79-
// enhanced_monitor_service = false
80-
// user_data = "dGVzdA=="
81-
// password = "ZZXXccvv1212"
82-
// }
83-
//
84-
// cluster_deploy_type = "MANAGED_CLUSTER"
85-
//}
86-
87-
data "tencentcloud_kubernetes_clusters" "cls" {
88-
cluster_name = "keep"
89-
}
90-
63+
return fmt.Sprintf(`
64+
%s
9165
9266
resource "tencentcloud_kubernetes_addon_attachment" "cos" {
93-
cluster_id = data.tencentcloud_kubernetes_clusters.cls.list.0.cluster_id // tencentcloud_kubernetes_cluster.managed_cluster.id
94-
name = "cos"
67+
cluster_id = local.cluster_id
68+
name = "%s"
9569
version = "1.0.0"
9670
}
97-
`
71+
`, TkeDataSource, defaultAddonName)
9872
}

0 commit comments

Comments
 (0)