Skip to content

Commit cab8d0b

Browse files
authored
fix: update exporter integration test (#1234)
* fix: update exporter integration test * fix: add exporter integration test weeper * fix: update exporter integration test * fix: update exporter integration test * fix: update default job name Co-authored-by: arunma <arunma@tencent.com>
1 parent 437529f commit cab8d0b

File tree

2 files changed

+50
-8
lines changed

2 files changed

+50
-8
lines changed

tencentcloud/resource_tc_monitor_tmp_exporter_integration_test.go

Lines changed: 46 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,54 @@ package tencentcloud
33
import (
44
"context"
55
"fmt"
6+
"strconv"
7+
"strings"
68
"testing"
79

810
"github.com/hashicorp/terraform-plugin-sdk/helper/resource"
911
"github.com/hashicorp/terraform-plugin-sdk/terraform"
1012
)
1113

14+
const defaultKind = ""
15+
16+
func init() {
17+
// go test -v ./tencentcloud -sweep=ap-guangzhou -sweep-run=tencentcloud_monitor_tmp_exporter_integration
18+
resource.AddTestSweepers("tencentcloud_monitor_tmp_exporter_integration", &resource.Sweeper{
19+
Name: "tencentcloud_monitor_tmp_exporter_integration",
20+
F: testSweepExporterIntegration,
21+
})
22+
}
23+
func testSweepExporterIntegration(region string) error {
24+
logId := getLogId(contextNil)
25+
ctx := context.WithValue(context.TODO(), logIdKey, logId)
26+
cli, _ := sharedClientForRegion(region)
27+
client := cli.(*TencentCloudClient).apiV3Conn
28+
service := MonitorService{client}
29+
30+
instanceId := defaultPrometheusId
31+
clusterId := tkeClusterIdAgent
32+
ids := strings.Join([]string{"", instanceId, strconv.Itoa(1), clusterId, defaultKind}, FILED_SP)
33+
34+
for {
35+
instances, err := service.DescribeMonitorTmpExporterIntegration(ctx, ids)
36+
if err != nil {
37+
return err
38+
}
39+
40+
if instances == nil {
41+
return nil
42+
}
43+
44+
id := strings.Join([]string{*instances.Name, instanceId, strconv.Itoa(1), clusterId, defaultKind}, FILED_SP)
45+
err = service.DeleteMonitorTmpExporterIntegrationById(ctx, id)
46+
if err != nil {
47+
return err
48+
}
49+
}
50+
51+
return nil
52+
}
53+
1254
func TestAccTencentCloudMonitorExporterIntegration_basic(t *testing.T) {
1355
t.Parallel()
1456
resource.Test(t, resource.TestCase{
@@ -22,7 +64,7 @@ func TestAccTencentCloudMonitorExporterIntegration_basic(t *testing.T) {
2264
testAccCheckExporterIntegrationExists("tencentcloud_monitor_tmp_exporter_integration.basic"),
2365
resource.TestCheckResourceAttr("tencentcloud_monitor_tmp_exporter_integration.basic", "kind", "cvm-http-sd-exporter"),
2466
resource.TestCheckResourceAttr("tencentcloud_monitor_tmp_exporter_integration.basic", "kube_type", "1"),
25-
resource.TestCheckResourceAttr("tencentcloud_monitor_tmp_exporter_integration.basic", "cluster_id", "cls-ely08ic4"),
67+
resource.TestCheckResourceAttr("tencentcloud_monitor_tmp_exporter_integration.basic", "cluster_id", "cls-87o4klby"),
2668
),
2769
},
2870
{
@@ -94,9 +136,6 @@ const testExporterIntegrationVar = `
94136
variable "prometheus_id" {
95137
default = "` + defaultPrometheusId + `"
96138
}
97-
variable "default_cluster" {
98-
default = "` + defaultTkeClusterId + `"
99-
}
100139
variable "cluster_id" {
101140
default = "` + tkeClusterIdAgent + `"
102141
}
@@ -105,16 +144,16 @@ const testExporterIntegration_basic = testExporterIntegrationVar + `
105144
resource "tencentcloud_monitor_tmp_exporter_integration" "basic" {
106145
instance_id = var.prometheus_id
107146
kind = "cvm-http-sd-exporter"
108-
content = "{\"kind\":\"cvm-http-sd-exporter\",\"spec\":{\"job\":\"job_name: example-job-name\\nmetrics_path: /metrics\\ncvm_sd_configs:\\n- region: ap-guangzhou\\n ports:\\n - 9100\\n filters: \\n - name: tag:示例标签键\\n values: \\n - 示例标签值\\nrelabel_configs: \\n- source_labels: [__meta_cvm_instance_state]\\n regex: RUNNING\\n action: keep\\n- regex: __meta_cvm_tag_(.*)\\n replacement: $1\\n action: labelmap\\n- source_labels: [__meta_cvm_region]\\n target_label: region\\n action: replace\"}}"
147+
content = "{\"kind\":\"cvm-http-sd-exporter\",\"spec\":{\"job\":\"job_name: example-job-name-test\\nmetrics_path: /metrics\\ncvm_sd_configs:\\n- region: ap-guangzhou\\n ports:\\n - 9100\\n filters: \\n - name: tag:示例标签键\\n values: \\n - 示例标签值\\nrelabel_configs: \\n- source_labels: [__meta_cvm_instance_state]\\n regex: RUNNING\\n action: keep\\n- regex: __meta_cvm_tag_(.*)\\n replacement: $1\\n action: labelmap\\n- source_labels: [__meta_cvm_region]\\n target_label: region\\n action: replace\"}}"
109148
kube_type = 1
110-
cluster_id = var.default_cluster
149+
cluster_id = var.cluster_id
111150
}`
112151

113152
const testExporterIntegration_update = testExporterIntegrationVar + `
114153
resource "tencentcloud_monitor_tmp_exporter_integration" "basic" {
115154
instance_id = var.prometheus_id
116155
kind = "cvm-http-sd-exporter"
117-
content = "{\"kind\":\"cvm-http-sd-exporter\",\"spec\":{\"job\":\"job_name: example-job-name\\nmetrics_path: /metrics\\ncvm_sd_configs:\\n- region: ap-guangzhou\\n ports:\\n - 9100\\n filters: \\n - name: tag:示例标签键\\n values: \\n - 示例标签值\\nrelabel_configs: \\n- source_labels: [__meta_cvm_instance_state]\\n regex: RUNNING\\n action: keep\\n- regex: __meta_cvm_tag_(.*)\\n replacement: $1\\n action: labelmap\\n- source_labels: [__meta_cvm_region]\\n target_label: region\\n action: replace\"}}"
156+
content = "{\"kind\":\"cvm-http-sd-exporter\",\"spec\":{\"job\":\"job_name: example-job-name-test\\nmetrics_path: /metrics\\ncvm_sd_configs:\\n- region: ap-guangzhou\\n ports:\\n - 9100\\n filters: \\n - name: tag:示例标签键\\n values: \\n - 示例标签值\\nrelabel_configs: \\n- source_labels: [__meta_cvm_instance_state]\\n regex: RUNNING\\n action: keep\\n- regex: __meta_cvm_tag_(.*)\\n replacement: $1\\n action: labelmap\\n- source_labels: [__meta_cvm_region]\\n target_label: region\\n action: replace\"}}"
118157
kube_type = 1
119158
cluster_id = var.cluster_id
120159
}`

tencentcloud/service_tencentcloud_monitor.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -518,7 +518,9 @@ func (me *MonitorService) DescribeMonitorTmpExporterIntegration(ctx context.Cont
518518
}()
519519

520520
ids := strings.Split(tmpExporterIntegrationId, FILED_SP)
521-
request.Name = &ids[0]
521+
if ids[0] != "" {
522+
request.Name = &ids[0]
523+
}
522524
request.InstanceId = &ids[1]
523525
kubeType, _ := strconv.Atoi(ids[2])
524526
request.KubeType = helper.IntInt64(kubeType)
@@ -547,6 +549,7 @@ func (me *MonitorService) DeleteMonitorTmpExporterIntegrationById(ctx context.Co
547549

548550
request := monitor.NewDeleteExporterIntegrationRequest()
549551
ids := strings.Split(tmpExporterIntegrationId, FILED_SP)
552+
550553
request.Name = &ids[0]
551554
request.InstanceId = &ids[1]
552555
kubeType, _ := strconv.Atoi(ids[2])

0 commit comments

Comments
 (0)