@@ -6,10 +6,65 @@ import (
66 "strings"
77 "testing"
88
9+ tcr "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tcr/v20190924"
10+ "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/internal/helper"
11+
912 "github.com/hashicorp/terraform-plugin-sdk/helper/resource"
1013 "github.com/hashicorp/terraform-plugin-sdk/terraform"
1114)
1215
16+ func init () {
17+ // go test -v ./tencentcloud -sweep=ap-guangzhou -sweep-run=tencentcloud_tcr_namespace
18+ resource .AddTestSweepers ("tencentcloud_tcr_namespace" , & resource.Sweeper {
19+ Name : "tencentcloud_tcr_namespace" ,
20+ F : func (r string ) error {
21+ logId := getLogId (contextNil )
22+ ctx := context .WithValue (context .TODO (), logIdKey , logId )
23+ cli , _ := sharedClientForRegion (r )
24+ client := cli .(* TencentCloudClient ).apiV3Conn
25+
26+ service := TCRService {client }
27+
28+ var filters []* tcr.Filter
29+ filters = append (filters , & tcr.Filter {
30+ Name : helper .String ("RegistryName" ),
31+ Values : []* string {helper .String (defaultTCRInstanceName )},
32+ })
33+
34+ instances , err := service .DescribeTCRInstances (ctx , "" , filters )
35+
36+ if err != nil {
37+ return err
38+ }
39+
40+ if len (instances ) == 0 {
41+ return fmt .Errorf ("instance %s not exist" , defaultTCRInstanceName )
42+ }
43+
44+ instanceId := * instances [0 ].RegistryId
45+
46+ namespaces , err := service .DescribeTCRNameSpaces (ctx , instanceId , "test" )
47+
48+ if err != nil {
49+ return err
50+ }
51+
52+ for i := range namespaces {
53+ n := namespaces [i ]
54+ if isResourcePersist (* n .Name , nil ) {
55+ continue
56+ }
57+ err = service .DeleteTCRNameSpace (ctx , instanceId , * n .Name )
58+ if err != nil {
59+ continue
60+ }
61+ }
62+
63+ return nil
64+ },
65+ })
66+ }
67+
1368func TestAccTencentCloudTCRNamespace_basic_and_update (t * testing.T ) {
1469 t .Parallel ()
1570 resource .Test (t , resource.TestCase {
@@ -23,7 +78,6 @@ func TestAccTencentCloudTCRNamespace_basic_and_update(t *testing.T) {
2378 resource .TestCheckResourceAttr ("tencentcloud_tcr_namespace.mytcr_namespace" , "name" , "test" ),
2479 resource .TestCheckResourceAttr ("tencentcloud_tcr_namespace.mytcr_namespace" , "is_public" , "true" ),
2580 ),
26- Destroy : false ,
2781 },
2882 {
2983 ResourceName : "tencentcloud_tcr_namespace.mytcr_namespace" ,
0 commit comments