Skip to content

Commit 2cb0718

Browse files
authored
fix: tcr - add namespace sweeper for testcase (#1151)
1 parent adffc42 commit 2cb0718

File tree

1 file changed

+55
-1
lines changed

1 file changed

+55
-1
lines changed

tencentcloud/resource_tc_tcr_namespace_test.go

Lines changed: 55 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -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+
1368
func 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

Comments
 (0)