From db292c575cf4628045d3ea81a161c424af134977 Mon Sep 17 00:00:00 2001 From: Kagashino Date: Mon, 11 Apr 2022 19:06:12 +0800 Subject: [PATCH] fix - update es, eks(ci), myqsl, redis, sqlserver sweepers --- ..._source_tc_elasticsearch_instances_test.go | 49 ++++++------------- ...resource_tc_eks_container_instance_test.go | 45 ++++++++++++++++- .../resource_tc_mysql_instance_test.go | 10 ++-- .../resource_tc_redis_instance_test.go | 3 +- .../resource_tc_sqlserver_instance_test.go | 3 +- tencentcloud/service_tencentcloud_eks.go | 2 + 6 files changed, 67 insertions(+), 45 deletions(-) diff --git a/tencentcloud/data_source_tc_elasticsearch_instances_test.go b/tencentcloud/data_source_tc_elasticsearch_instances_test.go index eeda3990e5..89d616aeb4 100755 --- a/tencentcloud/data_source_tc_elasticsearch_instances_test.go +++ b/tencentcloud/data_source_tc_elasticsearch_instances_test.go @@ -17,21 +17,20 @@ func TestAccTencentCloudElasticsearchInstancesDataSource(t *testing.T) { { Config: testAccElasticsearchInstancesDataSource, Check: resource.ComposeTestCheckFunc( - testAccCheckElasticsearchInstanceExists("tencentcloud_elasticsearch_instance.foo"), resource.TestCheckResourceAttr("data.tencentcloud_elasticsearch_instances.foo", "instance_list.#", "1"), resource.TestCheckResourceAttrSet("data.tencentcloud_elasticsearch_instances.foo", "instance_list.0.instance_id"), - resource.TestCheckResourceAttr("data.tencentcloud_elasticsearch_instances.foo", "instance_list.0.instance_name", "tf-ci-test"), - resource.TestCheckResourceAttr("data.tencentcloud_elasticsearch_instances.foo", "instance_list.0.availability_zone", defaultAZone), - resource.TestCheckResourceAttr("data.tencentcloud_elasticsearch_instances.foo", "instance_list.0.vpc_id", defaultVpcId), - resource.TestCheckResourceAttr("data.tencentcloud_elasticsearch_instances.foo", "instance_list.0.subnet_id", defaultSubnetId), - resource.TestCheckResourceAttr("data.tencentcloud_elasticsearch_instances.foo", "instance_list.0.version", "7.5.1"), - resource.TestCheckResourceAttr("data.tencentcloud_elasticsearch_instances.foo", "instance_list.0.license_type", "oss"), - resource.TestCheckResourceAttr("data.tencentcloud_elasticsearch_instances.foo", "instance_list.0.charge_type", "POSTPAID_BY_HOUR"), - resource.TestCheckResourceAttr("data.tencentcloud_elasticsearch_instances.foo", "instance_list.0.tags.test", "terraform"), - resource.TestCheckResourceAttr("data.tencentcloud_elasticsearch_instances.foo", "instance_list.0.node_info_list.#", "1"), - resource.TestCheckResourceAttr("data.tencentcloud_elasticsearch_instances.foo", "instance_list.0.node_info_list.0.node_num", "2"), - resource.TestCheckResourceAttr("data.tencentcloud_elasticsearch_instances.foo", "instance_list.0.node_info_list.0.node_type", "ES.S1.MEDIUM4"), - resource.TestCheckResourceAttr("data.tencentcloud_elasticsearch_instances.foo", "instance_list.0.node_info_list.0.encrypt", "false"), + resource.TestCheckResourceAttrSet("data.tencentcloud_elasticsearch_instances.foo", "instance_list.0.instance_name"), + resource.TestCheckResourceAttrSet("data.tencentcloud_elasticsearch_instances.foo", "instance_list.0.availability_zone"), + resource.TestCheckResourceAttrSet("data.tencentcloud_elasticsearch_instances.foo", "instance_list.0.vpc_id"), + resource.TestCheckResourceAttrSet("data.tencentcloud_elasticsearch_instances.foo", "instance_list.0.subnet_id"), + resource.TestCheckResourceAttrSet("data.tencentcloud_elasticsearch_instances.foo", "instance_list.0.version"), + resource.TestCheckResourceAttrSet("data.tencentcloud_elasticsearch_instances.foo", "instance_list.0.license_type"), + resource.TestCheckResourceAttrSet("data.tencentcloud_elasticsearch_instances.foo", "instance_list.0.charge_type"), + resource.TestCheckResourceAttrSet("data.tencentcloud_elasticsearch_instances.foo", "instance_list.0.tags.test"), + resource.TestCheckResourceAttrSet("data.tencentcloud_elasticsearch_instances.foo", "instance_list.0.node_info_list.#"), + resource.TestCheckResourceAttrSet("data.tencentcloud_elasticsearch_instances.foo", "instance_list.0.node_info_list.0.node_num"), + resource.TestCheckResourceAttrSet("data.tencentcloud_elasticsearch_instances.foo", "instance_list.0.node_info_list.0.node_type"), + resource.TestCheckResourceAttrSet("data.tencentcloud_elasticsearch_instances.foo", "instance_list.0.node_info_list.0.encrypt"), resource.TestCheckResourceAttrSet("data.tencentcloud_elasticsearch_instances.foo", "instance_list.0.create_time"), ), }, @@ -40,26 +39,8 @@ func TestAccTencentCloudElasticsearchInstancesDataSource(t *testing.T) { } const testAccElasticsearchInstancesDataSource = defaultVpcVariable + ` -resource "tencentcloud_elasticsearch_instance" "foo" { - instance_name = "tf-ci-test" - availability_zone = var.availability_zone - version = "7.5.1" - vpc_id = var.vpc_id - subnet_id = var.subnet_id - password = "Test1234" - license_type = "oss" - node_info_list { - node_num = 2 - node_type = "ES.S1.MEDIUM4" - } - - tags = { - test = "terraform" - } - } - - data "tencentcloud_elasticsearch_instances" "foo" { - instance_id = tencentcloud_elasticsearch_instance.foo.id - } +data "tencentcloud_elasticsearch_instances" "foo" { + instance_name = "keep" +} ` diff --git a/tencentcloud/resource_tc_eks_container_instance_test.go b/tencentcloud/resource_tc_eks_container_instance_test.go index 9514335f37..08db20f7b9 100644 --- a/tencentcloud/resource_tc_eks_container_instance_test.go +++ b/tencentcloud/resource_tc_eks_container_instance_test.go @@ -5,10 +5,51 @@ import ( "fmt" "testing" + tke "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tke/v20180525" + "github.com/hashicorp/terraform-plugin-sdk/helper/resource" "github.com/hashicorp/terraform-plugin-sdk/terraform" ) +func init() { + // go test -v ./tencentcloud -sweep=ap-guangzhou -sweep-run=tencentcloud_eks_ci + resource.AddTestSweepers("tencentcloud_eks_ci", &resource.Sweeper{ + Name: "tencentcloud_eks_ci", + F: func(r string) error { + logId := getLogId(contextNil) + ctx := context.WithValue(context.TODO(), logIdKey, logId) + cli, _ := sharedClientForRegion(r) + client := cli.(*TencentCloudClient).apiV3Conn + service := EksService{client} + + cis, err := service.DescribeEksContainerInstancesByFilter(ctx, nil, 100, 0) + + if err != nil { + return err + } + + var ids []*string + for i := range cis { + ci := cis[i] + name := *ci.EksCiName + if isResourcePersist(name, nil) { + continue + } + ids = append(ids, ci.EksCiId) + } + request := tke.NewDeleteEKSContainerInstancesRequest() + request.EksCiIds = ids + err = service.DeleteEksContainerInstance(ctx, request) + + if err != nil { + return err + } + + return nil + }, + }) +} + func TestAccTencentCloudEKSContainerInstance_basic(t *testing.T) { t.Parallel() @@ -90,7 +131,9 @@ func testAccCheckEksCiDestroy(s *terraform.State) error { } const testAccEksCi = defaultVpcVariable + ` -data "tencentcloud_security_groups" "group" {} +data "tencentcloud_security_groups" "group" { + name = "default" +} resource "tencentcloud_eks_container_instance" "foo" { name = "foo" diff --git a/tencentcloud/resource_tc_mysql_instance_test.go b/tencentcloud/resource_tc_mysql_instance_test.go index e568cab1c3..a3bad2a62c 100644 --- a/tencentcloud/resource_tc_mysql_instance_test.go +++ b/tencentcloud/resource_tc_mysql_instance_test.go @@ -36,12 +36,6 @@ func testSweepMySQLInstance(region string) error { service := MysqlService{client: client} request := cdb.NewDescribeDBInstancesRequest() - request.InstanceNames = []*string{ - helper.String(defaultInsName), - helper.String(TestAccTencentCloudMysqlInstanceName), - helper.String(TestAccTencentCloudMysqlInstanceNameVersion1), - helper.String(TestAccTencentCloudMysqlInstanceNamePrepaid), - } request.Limit = helper.IntUint64(2000) response, err := client.UseMysqlClient().DescribeDBInstances(request) @@ -55,6 +49,10 @@ func testSweepMySQLInstance(region string) error { for _, v := range response.Response.Items { id := *v.InstanceId + name := *v.InstanceName + if isResourcePersist(name, nil) { + continue + } err := resource.Retry(writeRetryTimeout, func() *resource.RetryError { _, err := service.IsolateDBInstance(ctx, id) if err != nil { diff --git a/tencentcloud/resource_tc_redis_instance_test.go b/tencentcloud/resource_tc_redis_instance_test.go index 8e825f9e8e..e159caf8e9 100644 --- a/tencentcloud/resource_tc_redis_instance_test.go +++ b/tencentcloud/resource_tc_redis_instance_test.go @@ -4,7 +4,6 @@ import ( "context" "fmt" "log" - "strings" "testing" "time" @@ -34,7 +33,7 @@ func init() { for _, v := range instances { name := v.Name id := v.RedisId - if !strings.HasPrefix(name, "terrform_test") { + if isResourcePersist(name, nil) { continue } // Collect infos before deleting action diff --git a/tencentcloud/resource_tc_sqlserver_instance_test.go b/tencentcloud/resource_tc_sqlserver_instance_test.go index 75cbcb8327..5858f7c30c 100644 --- a/tencentcloud/resource_tc_sqlserver_instance_test.go +++ b/tencentcloud/resource_tc_sqlserver_instance_test.go @@ -3,7 +3,6 @@ package tencentcloud import ( "context" "fmt" - "strings" "sync" "testing" @@ -51,7 +50,7 @@ func batchDeleteSQLServerInstances(ctx context.Context, service SqlserverService defer wg.Done() id := *instances[i].InstanceId name := *instances[i].Name - if strings.HasPrefix(name, "preset_sqlserver") { + if isResourcePersist(name, nil) { return } diff --git a/tencentcloud/service_tencentcloud_eks.go b/tencentcloud/service_tencentcloud_eks.go index a42a4d9a1c..3c0762269e 100644 --- a/tencentcloud/service_tencentcloud_eks.go +++ b/tencentcloud/service_tencentcloud_eks.go @@ -238,6 +238,8 @@ func (me *EksService) DescribeEksContainerInstancesByFilter(ctx context.Context, return } + instances = response.Response.EksCis + log.Printf("[DEBUG]%s api[%s] success, request body [%s], response body [%s]\n", logId, request.GetAction(), request.ToJsonString(), response.ToJsonString())