@@ -3,6 +3,8 @@ package tencentcloud
33import (
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+
6299func TestAccTencentCloudSqlserverPublishSubscribeResource (t * testing.T ) {
63100 resource .Test (t , resource.TestCase {
64101 PreCheck : func () { testAccPreCheck (t ) },
0 commit comments