Skip to content

Commit 51faa80

Browse files
tongyimingmikatong
andauthored
Fix/vod sweeper (#1007)
* fix: add vod-sweeper * fix: vod unit test Co-authored-by: mikatong <mikatong@tencent.com>
1 parent c988951 commit 51faa80

6 files changed

+158
-10
lines changed

tencentcloud/data_source_tc_vod_procedure_templates_test.go

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ func TestAccDataSourceTencentCloudVodProcedureTemplates(t *testing.T) {
1818
Check: resource.ComposeTestCheckFunc(
1919
testAccCheckTencentCloudDataSourceID("data.tencentcloud_vod_procedure_templates.foo"),
2020
resource.TestCheckResourceAttr("data.tencentcloud_vod_procedure_templates.foo", "template_list.#", "1"),
21-
resource.TestCheckResourceAttr("data.tencentcloud_vod_procedure_templates.foo", "template_list.0.name", "tf-procedure"),
21+
resource.TestCheckResourceAttr("data.tencentcloud_vod_procedure_templates.foo", "template_list.0.name", "tf-procedure1"),
2222
resource.TestCheckResourceAttr("data.tencentcloud_vod_procedure_templates.foo", "template_list.0.comment", "test"),
2323
resource.TestCheckResourceAttr("data.tencentcloud_vod_procedure_templates.foo", "template_list.0.media_process_task.#", "1"),
2424
resource.TestCheckResourceAttr("data.tencentcloud_vod_procedure_templates.foo", "template_list.0.media_process_task.0.adaptive_dynamic_streaming_task_list.#", "1"),
@@ -37,7 +37,28 @@ func TestAccDataSourceTencentCloudVodProcedureTemplates(t *testing.T) {
3737
})
3838
}
3939

40-
const testAccVodProcedureTemplates = testAccVodProcedureTemplate + `
40+
const testAccDataSourceVodProcedureTemplate = testAccVodAdaptiveDynamicStreamingTemplate + testAccVodSnapshotByTimeOffsetTemplate + testAccVodImageSpriteTemplate + `
41+
resource "tencentcloud_vod_procedure_template" "foo" {
42+
name = "tf-procedure1"
43+
comment = "test"
44+
media_process_task {
45+
adaptive_dynamic_streaming_task_list {
46+
definition = tencentcloud_vod_adaptive_dynamic_streaming_template.foo.id
47+
}
48+
snapshot_by_time_offset_task_list {
49+
definition = tencentcloud_vod_snapshot_by_time_offset_template.foo.id
50+
ext_time_offset_list = [
51+
"3.5s"
52+
]
53+
}
54+
image_sprite_task_list {
55+
definition = tencentcloud_vod_image_sprite_template.foo.id
56+
}
57+
}
58+
}
59+
`
60+
61+
const testAccVodProcedureTemplates = testAccDataSourceVodProcedureTemplate + `
4162
data "tencentcloud_vod_procedure_templates" "foo" {
4263
type = "Custom"
4364
name = tencentcloud_vod_procedure_template.foo.id

tencentcloud/data_source_tc_vod_super_player_configs_test.go

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ func TestAccDataSourceTencentCloudVodSuperPlayerConfigs(t *testing.T) {
1818
Check: resource.ComposeTestCheckFunc(
1919
testAccCheckTencentCloudDataSourceID("data.tencentcloud_vod_super_player_configs.foo"),
2020
resource.TestCheckResourceAttr("data.tencentcloud_vod_super_player_configs.foo", "config_list.#", "1"),
21-
resource.TestCheckResourceAttr("data.tencentcloud_vod_super_player_configs.foo", "config_list.0.name", "tf-super-player"),
21+
resource.TestCheckResourceAttr("data.tencentcloud_vod_super_player_configs.foo", "config_list.0.name", "tf-super-player1"),
2222
resource.TestCheckResourceAttr("data.tencentcloud_vod_super_player_configs.foo", "config_list.0.drm_switch", "true"),
2323
resource.TestCheckResourceAttr("data.tencentcloud_vod_super_player_configs.foo", "config_list.0.drm_streaming_info.#", "1"),
2424
resource.TestCheckResourceAttr("data.tencentcloud_vod_super_player_configs.foo", "config_list.0.resolution_names.#", "2"),
@@ -39,7 +39,29 @@ func TestAccDataSourceTencentCloudVodSuperPlayerConfigs(t *testing.T) {
3939
})
4040
}
4141

42-
const testAccVodSuperPlayerConfigs = testAccVodSuperPlayerConfig + `
42+
const testAccDataSourceVodSuperPlayerConfig = testAccVodAdaptiveDynamicStreamingTemplate + testAccVodImageSpriteTemplate + `
43+
resource "tencentcloud_vod_super_player_config" "foo" {
44+
name = "tf-super-player1"
45+
drm_switch = true
46+
drm_streaming_info {
47+
simple_aes_definition = tencentcloud_vod_adaptive_dynamic_streaming_template.foo.id
48+
}
49+
image_sprite_definition = tencentcloud_vod_image_sprite_template.foo.id
50+
resolution_names {
51+
min_edge_length = 889
52+
name = "test1"
53+
}
54+
resolution_names {
55+
min_edge_length = 890
56+
name = "test2"
57+
}
58+
domain = "Default"
59+
scheme = "Default"
60+
comment = "test"
61+
}
62+
`
63+
64+
const testAccVodSuperPlayerConfigs = testAccDataSourceVodSuperPlayerConfig + `
4365
data "tencentcloud_vod_super_player_configs" "foo" {
4466
type = "Custom"
4567
name = tencentcloud_vod_super_player_config.foo.id

tencentcloud/resource_tc_vod_adaptive_dynamic_streaming_template_test.go

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,44 @@ package tencentcloud
33
import (
44
"context"
55
"fmt"
6+
"strconv"
67
"testing"
78

89
"github.com/hashicorp/terraform-plugin-sdk/helper/resource"
910
"github.com/hashicorp/terraform-plugin-sdk/terraform"
1011
)
1112

13+
func init() {
14+
// go test -v ./tencentcloud -sweep=ap-guangzhou -sweep-run=tencentcloud_vod_adaptive_dynamic_streaming_template
15+
resource.AddTestSweepers("tencentcloud_vod_adaptive_dynamic_streaming_template", &resource.Sweeper{
16+
Name: "tencentcloud_vod_adaptive_dynamic_streaming_template",
17+
F: func(r string) error {
18+
logId := getLogId(contextNil)
19+
ctx := context.WithValue(context.TODO(), logIdKey, logId)
20+
sharedClient, err := sharedClientForRegion(r)
21+
if err != nil {
22+
return fmt.Errorf("getting tencentcloud client error: %s", err.Error())
23+
}
24+
client := sharedClient.(*TencentCloudClient)
25+
vodService := VodService{
26+
client: client.apiV3Conn,
27+
}
28+
filter := make(map[string]interface{})
29+
templates, e := vodService.DescribeAdaptiveDynamicStreamingTemplatesByFilter(ctx, filter)
30+
if e != nil {
31+
return nil
32+
}
33+
for _, template := range templates {
34+
ee := vodService.DeleteAdaptiveDynamicStreamingTemplate(ctx, strconv.FormatUint(*template.Definition, 10), uint64(0))
35+
if ee != nil {
36+
continue
37+
}
38+
}
39+
return nil
40+
},
41+
})
42+
}
43+
1244
func TestAccTencentCloudVodAdaptiveDynamicStreamingTemplateResource(t *testing.T) {
1345
t.Parallel()
1446
resource.Test(t, resource.TestCase{

tencentcloud/resource_tc_vod_procedure_template_test.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ func TestAccTencentCloudVodProcedureTemplateResource(t *testing.T) {
2020
Config: testAccVodProcedureTemplate,
2121
Check: resource.ComposeTestCheckFunc(
2222
testAccCheckVodProcedureTemplateExists("tencentcloud_vod_procedure_template.foo"),
23-
resource.TestCheckResourceAttr("tencentcloud_vod_procedure_template.foo", "name", "tf-procedure"),
23+
resource.TestCheckResourceAttr("tencentcloud_vod_procedure_template.foo", "name", "tf-procedure0"),
2424
resource.TestCheckResourceAttr("tencentcloud_vod_procedure_template.foo", "comment", "test"),
2525
resource.TestCheckResourceAttr("tencentcloud_vod_procedure_template.foo", "media_process_task.#", "1"),
2626
resource.TestCheckResourceAttr("tencentcloud_vod_procedure_template.foo", "media_process_task.0.adaptive_dynamic_streaming_task_list.#", "1"),
@@ -121,7 +121,7 @@ func testAccCheckVodProcedureTemplateExists(n string) resource.TestCheckFunc {
121121

122122
const testAccVodProcedureTemplate = testAccVodAdaptiveDynamicStreamingTemplate + testAccVodSnapshotByTimeOffsetTemplate + testAccVodImageSpriteTemplate + `
123123
resource "tencentcloud_vod_procedure_template" "foo" {
124-
name = "tf-procedure"
124+
name = "tf-procedure0"
125125
comment = "test"
126126
media_process_task {
127127
adaptive_dynamic_streaming_task_list {
@@ -142,7 +142,7 @@ resource "tencentcloud_vod_procedure_template" "foo" {
142142

143143
const testAccVodProcedureTemplateUpdate = testAccVodAdaptiveDynamicStreamingTemplate + testAccVodSnapshotByTimeOffsetTemplate + testAccVodImageSpriteTemplate + `
144144
resource "tencentcloud_vod_procedure_template" "foo" {
145-
name = "tf-procedure"
145+
name = "tf-procedure0"
146146
comment = "test-update"
147147
media_process_task {
148148
adaptive_dynamic_streaming_task_list {

tencentcloud/resource_tc_vod_snapshot_by_time_offset_template_test.go

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,55 @@ package tencentcloud
33
import (
44
"context"
55
"fmt"
6+
"strconv"
67
"testing"
78

89
"github.com/hashicorp/terraform-plugin-sdk/helper/resource"
910
"github.com/hashicorp/terraform-plugin-sdk/terraform"
1011
)
1112

13+
func init() {
14+
// go test -v ./tencentcloud -sweep=ap-guangzhou -sweep-run=tencentcloud_vod_snapshot_template
15+
resource.AddTestSweepers("tencentcloud_vod_snapshot_template", &resource.Sweeper{
16+
Name: "tencentcloud_vod_snapshot_template",
17+
F: func(r string) error {
18+
logId := getLogId(contextNil)
19+
ctx := context.WithValue(context.TODO(), logIdKey, logId)
20+
sharedClient, err := sharedClientForRegion(r)
21+
if err != nil {
22+
return fmt.Errorf("getting tencentcloud client error: %s", err.Error())
23+
}
24+
client := sharedClient.(*TencentCloudClient)
25+
vodService := VodService{
26+
client: client.apiV3Conn,
27+
}
28+
filter := make(map[string]interface{})
29+
templates, e := vodService.DescribeSnapshotByTimeOffsetTemplatesByFilter(ctx, filter)
30+
if e != nil {
31+
return nil
32+
}
33+
for _, template := range templates {
34+
ee := vodService.DeleteSnapshotByTimeOffsetTemplate(ctx, strconv.FormatUint(*template.Definition, 10), uint64(0))
35+
if ee != nil {
36+
continue
37+
}
38+
}
39+
40+
spriteTemplates, spriteErr := vodService.DescribeImageSpriteTemplatesByFilter(ctx, filter)
41+
if spriteErr != nil {
42+
return nil
43+
}
44+
for _, spriteTemplate := range spriteTemplates {
45+
ee := vodService.DeleteImageSpriteTemplate(ctx, strconv.FormatUint(*spriteTemplate.Definition, 10), uint64(0))
46+
if ee != nil {
47+
continue
48+
}
49+
}
50+
return nil
51+
},
52+
})
53+
}
54+
1255
func TestAccTencentCloudVodSnapshotByTimeOffsetTemplateResource(t *testing.T) {
1356
t.Parallel()
1457
resource.Test(t, resource.TestCase{

tencentcloud/resource_tc_vod_super_player_config_test.go

Lines changed: 33 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,36 @@ import (
99
"github.com/hashicorp/terraform-plugin-sdk/terraform"
1010
)
1111

12+
func init() {
13+
// go test -v ./tencentcloud -sweep=ap-guangzhou -sweep-run=tencentcloud_vod_super_player_config
14+
resource.AddTestSweepers("tencentcloud_vod_super_player_config", &resource.Sweeper{
15+
Name: "tencentcloud_vod_super_player_config",
16+
F: func(r string) error {
17+
logId := getLogId(contextNil)
18+
ctx := context.WithValue(context.TODO(), logIdKey, logId)
19+
sharedClient, err := sharedClientForRegion(r)
20+
if err != nil {
21+
return fmt.Errorf("getting tencentcloud client error: %s", err.Error())
22+
}
23+
client := sharedClient.(*TencentCloudClient)
24+
vodService := VodService{
25+
client: client.apiV3Conn,
26+
}
27+
filter := make(map[string]interface{})
28+
configs, e := vodService.DescribeSuperPlayerConfigsByFilter(ctx, filter)
29+
if e != nil {
30+
return nil
31+
}
32+
for _, config := range configs {
33+
ee := vodService.DeleteSuperPlayerConfig(ctx, *config.Name, uint64(0))
34+
if ee != nil {
35+
continue
36+
}
37+
}
38+
return nil
39+
},
40+
})
41+
}
1242
func TestAccTencentCloudVodSuperPlayerConfigResource(t *testing.T) {
1343
t.Parallel()
1444
resource.Test(t, resource.TestCase{
@@ -20,7 +50,7 @@ func TestAccTencentCloudVodSuperPlayerConfigResource(t *testing.T) {
2050
Config: testAccVodSuperPlayerConfig,
2151
Check: resource.ComposeTestCheckFunc(
2252
testAccCheckVodSuperPlayerConfigExists("tencentcloud_vod_super_player_config.foo"),
23-
resource.TestCheckResourceAttr("tencentcloud_vod_super_player_config.foo", "name", "tf-super-player"),
53+
resource.TestCheckResourceAttr("tencentcloud_vod_super_player_config.foo", "name", "tf-super-player-0"),
2454
resource.TestCheckResourceAttr("tencentcloud_vod_super_player_config.foo", "drm_switch", "true"),
2555
resource.TestCheckResourceAttr("tencentcloud_vod_super_player_config.foo", "drm_streaming_info.#", "1"),
2656
resource.TestCheckResourceAttr("tencentcloud_vod_super_player_config.foo", "resolution_names.#", "2"),
@@ -113,7 +143,7 @@ func testAccCheckVodSuperPlayerConfigExists(n string) resource.TestCheckFunc {
113143

114144
const testAccVodSuperPlayerConfig = testAccVodAdaptiveDynamicStreamingTemplate + testAccVodImageSpriteTemplate + `
115145
resource "tencentcloud_vod_super_player_config" "foo" {
116-
name = "tf-super-player"
146+
name = "tf-super-player-0"
117147
drm_switch = true
118148
drm_streaming_info {
119149
simple_aes_definition = tencentcloud_vod_adaptive_dynamic_streaming_template.foo.id
@@ -135,7 +165,7 @@ resource "tencentcloud_vod_super_player_config" "foo" {
135165

136166
const testAccVodSuperPlayerConfigUpdate = testAccVodAdaptiveDynamicStreamingTemplate + testAccVodImageSpriteTemplate + `
137167
resource "tencentcloud_vod_super_player_config" "foo" {
138-
name = "tf-super-player"
168+
name = "tf-super-player-0"
139169
drm_switch = false
140170
adaptive_dynamic_streaming_definition = tencentcloud_vod_adaptive_dynamic_streaming_template.foo.id
141171
image_sprite_definition = tencentcloud_vod_image_sprite_template.foo.id

0 commit comments

Comments
 (0)