Skip to content

Commit 19b85b5

Browse files
authored
fix: sqlserver - add pubsub sweeper (#1204)
1 parent dfdd48b commit 19b85b5

File tree

1 file changed

+37
-0
lines changed

1 file changed

+37
-0
lines changed

tencentcloud/resource_tc_sqlserver_publish_subscribe_test.go

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ package tencentcloud
33
import (
44
"context"
55
"fmt"
6+
sqlserver "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/sqlserver/v20180328"
7+
"github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/internal/helper"
68
"log"
79
"strings"
810
"testing"
@@ -22,14 +24,21 @@ func init() {
2224
cli, _ := sharedClientForRegion(r)
2325
client := cli.(*TencentCloudClient).apiV3Conn
2426
service := SqlserverService{client}
27+
instance, err := service.DescribeSqlserverInstances(ctx, "", defaultPubSQLServerName, -1, "", "", 1)
28+
if err != nil {
29+
return err
30+
}
2531
subInstances, err := service.DescribeSqlserverInstances(ctx, "", defaultSubSQLServerName, -1, "", "", 1)
2632

2733
if err != nil {
2834
return err
2935
}
3036

37+
pubInstanceId := *instance[0].InstanceId
3138
subInstanceId := *subInstances[0].InstanceId
3239

40+
testAccUnsubscribePubDB(ctx, &service, pubInstanceId)
41+
3342
database, err := service.DescribeDBsOfInstance(ctx, subInstanceId)
3443
if err != nil {
3544
return err
@@ -59,6 +68,34 @@ func init() {
5968
})
6069
}
6170

71+
func testAccUnsubscribePubDB(ctx context.Context, service *SqlserverService, instanceId string) {
72+
73+
pubsubs, err := service.DescribeSqlserverPublishSubscribes(ctx, map[string]interface{}{
74+
"instanceId": instanceId,
75+
})
76+
77+
if len(pubsubs) == 0 {
78+
log.Printf("NO pubsub result")
79+
return
80+
}
81+
82+
pubSubId := *pubsubs[0].Id
83+
84+
pubSub := &sqlserver.PublishSubscribe{
85+
Id: &pubSubId,
86+
}
87+
tuples := []*sqlserver.DatabaseTuple{
88+
{
89+
helper.String(defaultSQLServerPubSubDB),
90+
helper.String(defaultSQLServerPubSubDB),
91+
},
92+
}
93+
err = service.DeletePublishSubscribe(ctx, pubSub, tuples)
94+
if err != nil {
95+
fmt.Printf("[ERROR] %s", err.Error())
96+
}
97+
}
98+
6299
func TestAccTencentCloudSqlserverPublishSubscribeResource(t *testing.T) {
63100
resource.Test(t, resource.TestCase{
64101
PreCheck: func() { testAccPreCheck(t) },

0 commit comments

Comments
 (0)