Skip to content

Commit af3bbac

Browse files
authored
Fix/cam testcases (#936)
* fix - cam testcases * fix: cam user polic attachment testcase block
1 parent cfadb9b commit af3bbac

21 files changed

+348
-189
lines changed
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
resource "tencentcloud_cam_role" "role" {
2+
name = var.cam_role_basic
3+
document = "{\"version\":\"2.0\",\"statement\":[{\"action\":[\"name/sts:AssumeRole\"],\"effect\":\"allow\",\"principal\":{\"qcs\":[\"qcs::cam::uin/${local.uin}:uin/${local.uin}\"]}}]}"
4+
description = "test"
5+
console_login = true
6+
}
7+
8+
resource "tencentcloud_cam_policy" "policy" {
9+
name = var.cam_policy_basic
10+
document = "{\"version\":\"2.0\",\"statement\":[{\"action\":[\"name/sts:AssumeRole\"],\"effect\":\"allow\",\"resource\":[\"*\"]}]}"
11+
description = "test"
12+
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
locals {
2+
app_id = data.tencentcloud_user_info.info.app_id
3+
uin = data.tencentcloud_user_info.info.uin
4+
owner_uin = data.tencentcloud_user_info.info.owner_uin
5+
}
6+
7+
data "tencentcloud_user_info" "info" {}

examples/tencentcloud-persistent-resource/variables.tf

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,15 @@ variable "vpn_conn" {
99
variable "vpn_cgw" {
1010
default = "keep-vpn-cgw"
1111
}
12+
13+
variable "cam_role_basic" {
14+
default = "keep-cam-role"
15+
}
16+
17+
variable "cam_policy_basic" {
18+
default = "keep-cam-policy"
19+
}
20+
21+
variable "cam_group_basic" {
22+
default = "keep-cam-group"
23+
}

tencentcloud/basic_test.go

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
package tencentcloud
22

3-
import "os"
3+
import (
4+
"os"
5+
"regexp"
6+
)
47

58
/*
69
---------------------------------------------------
@@ -17,6 +20,8 @@ const (
1720
defaultResource = "Default"
1821
)
1922

23+
var persistResource = regexp.MustCompile("^(keep|Default)")
24+
2025
// vpn
2126
const defaultVpnDataSource = `
2227
data "tencentcloud_vpn_gateways" "foo" {
@@ -255,3 +260,21 @@ locals {
255260
cfs_id = local.cfs.file_system_id
256261
access_group_id = local.cfs.access_group_id
257262
}`
263+
264+
const defaultCamVariables = `
265+
variable "cam_role_basic" {
266+
default = "keep-cam-role"
267+
}
268+
269+
variable "cam_policy_basic" {
270+
default = "keep-cam-policy"
271+
}
272+
273+
variable "cam_group_basic" {
274+
default = "keep-cam-group"
275+
}
276+
277+
variable "cam_user_basic" {
278+
default = "keep-cam-user"
279+
}
280+
`

tencentcloud/data_source_tc_cam_group_memberships_test.go

Lines changed: 7 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -26,28 +26,18 @@ func TestAccTencentCloudCamGroupMembershipsDataSource_basic(t *testing.T) {
2626
})
2727
}
2828

29-
const testAccCamGroupMembershipsDataSource_basic = `
30-
resource "tencentcloud_cam_group" "group_basic" {
31-
name = "cam-group-membership-test"
32-
remark = "test"
29+
const testAccCamGroupMembershipsDataSource_basic = defaultCamVariables + `
30+
data "tencentcloud_cam_groups" "groups" {
31+
name = var.cam_group_basic
3332
}
3433
35-
resource "tencentcloud_cam_user" "user_basic" {
36-
name = "cam-user-testjj"
37-
remark = "test"
38-
console_login = true
39-
use_api = true
40-
need_reset_password = true
41-
password = "Gail@1234"
42-
phone_num = "12345678910"
43-
country_code = "86"
44-
email = "1234@qq.com"
45-
force_delete = true
34+
data "tencentcloud_cam_users" "users" {
35+
name = var.cam_user_basic
4636
}
4737
4838
resource "tencentcloud_cam_group_membership" "membership" {
49-
group_id = tencentcloud_cam_group.group_basic.id
50-
user_ids = [tencentcloud_cam_user.user_basic.id]
39+
group_id = data.tencentcloud_cam_groups.groups.group_list.0.group_id
40+
user_names = [data.tencentcloud_cam_users.users.user_list.0.user_id]
5141
}
5242
5343
data "tencentcloud_cam_group_memberships" "memberships" {

tencentcloud/data_source_tc_cam_group_policy_attachments_test.go

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -28,23 +28,21 @@ func TestAccTencentCloudCamGroupPolicyAttachmentsDataSource_basic(t *testing.T)
2828
})
2929
}
3030

31-
const testAccCamGroupPolicyAttachmentsDataSource_basic = `
32-
resource "tencentcloud_cam_group" "group" {
33-
name = "cam-group-policy-test"
34-
remark = "test"
31+
const testAccCamGroupPolicyAttachmentsDataSource_basic = defaultCamVariables + `
32+
data "tencentcloud_cam_groups" "groups" {
33+
name = var.cam_group_basic
3534
}
3635
37-
resource "tencentcloud_cam_policy" "policy" {
38-
name = "cam-policy-test8"
39-
document = "{\"version\":\"2.0\",\"statement\":[{\"action\":[\"name/sts:AssumeRole\"],\"effect\":\"allow\",\"resource\":[\"*\"]}]}"
40-
description = "test"
36+
data "tencentcloud_cam_policies" "policy" {
37+
name = var.cam_policy_basic
4138
}
4239
40+
4341
resource "tencentcloud_cam_group_policy_attachment" "group_policy_attachment" {
44-
group_id = tencentcloud_cam_group.group.id
45-
policy_id = tencentcloud_cam_policy.policy.id
42+
group_id = data.tencentcloud_cam_groups.groups.group_list.0.group_id
43+
policy_id = data.tencentcloud_cam_policies.policy.policy_list.0.policy_id
4644
}
47-
45+
4846
data "tencentcloud_cam_group_policy_attachments" "group_policy_attachments" {
4947
group_id = tencentcloud_cam_group_policy_attachment.group_policy_attachment.group_id
5048
}

tencentcloud/data_source_tc_cam_groups_test.go

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,9 @@ func TestAccTencentCloudCamGroupsDataSource_basic(t *testing.T) {
1616
{
1717
Config: testAccCamGroupsDataSource_basic,
1818
Check: resource.ComposeAggregateTestCheckFunc(
19-
testAccCheckCamGroupExists("tencentcloud_cam_group.group"),
20-
resource.TestCheckResourceAttr("data.tencentcloud_cam_groups.groups", "group_list.#", "1"),
21-
resource.TestCheckResourceAttr("data.tencentcloud_cam_groups.groups", "group_list.0.name", "cam-group-test3"),
22-
resource.TestCheckResourceAttr("data.tencentcloud_cam_groups.groups", "group_list.0.remark", "test"),
19+
resource.TestCheckResourceAttrSet("data.tencentcloud_cam_groups.groups", "group_list.#"),
20+
resource.TestCheckResourceAttrSet("data.tencentcloud_cam_groups.groups", "group_list.0.name"),
21+
resource.TestCheckResourceAttrSet("data.tencentcloud_cam_groups.groups", "group_list.0.remark"),
2322
resource.TestCheckResourceAttrSet("data.tencentcloud_cam_groups.groups", "group_list.0.create_time"),
2423
resource.TestCheckResourceAttrSet("data.tencentcloud_cam_groups.groups", "group_list.0.group_id"),
2524
),
@@ -28,13 +27,8 @@ func TestAccTencentCloudCamGroupsDataSource_basic(t *testing.T) {
2827
})
2928
}
3029

31-
const testAccCamGroupsDataSource_basic = `
32-
resource "tencentcloud_cam_group" "group" {
33-
name = "cam-group-test3"
34-
remark = "test"
35-
}
36-
30+
const testAccCamGroupsDataSource_basic = defaultCamVariables + `
3731
data "tencentcloud_cam_groups" "groups" {
38-
group_id = tencentcloud_cam_group.group.id
32+
name = var.cam_group_basic
3933
}
4034
`

tencentcloud/data_source_tc_cam_policies_test.go

Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,9 @@ func TestAccTencentCloudCamPoliciesDataSource_basic(t *testing.T) {
1616
{
1717
Config: testAccCamPoliciesDataSource_basic,
1818
Check: resource.ComposeAggregateTestCheckFunc(
19-
testAccCheckCamPolicyExists("tencentcloud_cam_policy.policy"),
20-
resource.TestCheckResourceAttr("data.tencentcloud_cam_policies.policies", "policy_list.#", "1"),
21-
resource.TestCheckResourceAttr("data.tencentcloud_cam_policies.policies", "policy_list.0.name", "cam-policy-test55"),
22-
resource.TestCheckResourceAttr("data.tencentcloud_cam_policies.policies", "policy_list.0.description", "test"),
19+
resource.TestCheckResourceAttrSet("data.tencentcloud_cam_policies.policies", "policy_list.#"),
20+
resource.TestCheckResourceAttrSet("data.tencentcloud_cam_policies.policies", "policy_list.0.name"),
21+
resource.TestCheckResourceAttrSet("data.tencentcloud_cam_policies.policies", "policy_list.0.description"),
2322
resource.TestCheckResourceAttrSet("data.tencentcloud_cam_policies.policies", "policy_list.0.attachments"),
2423
resource.TestCheckResourceAttrSet("data.tencentcloud_cam_policies.policies", "policy_list.0.create_time"),
2524
resource.TestCheckResourceAttrSet("data.tencentcloud_cam_policies.policies", "policy_list.0.create_mode"),
@@ -30,14 +29,8 @@ func TestAccTencentCloudCamPoliciesDataSource_basic(t *testing.T) {
3029
})
3130
}
3231

33-
const testAccCamPoliciesDataSource_basic = `
34-
resource "tencentcloud_cam_policy" "policy" {
35-
name = "cam-policy-test55"
36-
document = "{\"version\":\"2.0\",\"statement\":[{\"action\":[\"name/sts:AssumeRole\"],\"effect\":\"allow\",\"resource\":[\"*\"]}]}"
37-
description = "test"
38-
}
39-
32+
const testAccCamPoliciesDataSource_basic = defaultCamVariables + `
4033
data "tencentcloud_cam_policies" "policies" {
41-
policy_id = tencentcloud_cam_policy.policy.id
34+
name = var.cam_policy_basic
4235
}
4336
`
Lines changed: 10 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package tencentcloud
22

33
import (
4-
"fmt"
54
"testing"
65

76
"github.com/hashicorp/terraform-plugin-sdk/helper/resource"
@@ -15,7 +14,7 @@ func TestAccTencentCloudCamRolePolicyAttachmentsDataSource_basic(t *testing.T) {
1514
CheckDestroy: testAccCheckCamRolePolicyAttachmentDestroy,
1615
Steps: []resource.TestStep{
1716
{
18-
Config: testAccCamRolePolicyAttachmentsDataSource_basic(ownerUin),
17+
Config: testAccCamRolePolicyAttachmentsDataSource_basic,
1918
Check: resource.ComposeAggregateTestCheckFunc(
2019
testAccCheckCamRolePolicyAttachmentExists("tencentcloud_cam_role_policy_attachment.role_policy_attachment"),
2120
resource.TestCheckResourceAttr("data.tencentcloud_cam_role_policy_attachments.role_policy_attachments", "role_policy_attachment_list.#", "1"),
@@ -29,27 +28,20 @@ func TestAccTencentCloudCamRolePolicyAttachmentsDataSource_basic(t *testing.T) {
2928
})
3029
}
3130

32-
func testAccCamRolePolicyAttachmentsDataSource_basic(uin string) string {
33-
return fmt.Sprintf(`
34-
resource "tencentcloud_cam_role" "role" {
35-
name = "cam-role-test"
36-
document = "{\"version\":\"2.0\",\"statement\":[{\"action\":[\"name/sts:AssumeRole\"],\"effect\":\"allow\",\"principal\":{\"qcs\":[\"qcs::cam::uin/%s:uin/%s\"]}}]}"
37-
description = "test"
38-
console_login = true
31+
const testAccCamRolePolicyAttachmentsDataSource_basic = defaultCamVariables + `
32+
data "tencentcloud_cam_policies" "policy" {
33+
name = var.cam_policy_basic
3934
}
4035
41-
resource "tencentcloud_cam_policy" "policy" {
42-
name = "cam-policy-test6"
43-
document = "{\"version\":\"2.0\",\"statement\":[{\"action\":[\"name/sts:AssumeRole\"],\"effect\":\"allow\",\"resource\":[\"*\"]}]}"
44-
description = "test"
36+
data "tencentcloud_cam_roles" "roles" {
37+
name = var.cam_role_basic
4538
}
4639
4740
resource "tencentcloud_cam_role_policy_attachment" "role_policy_attachment" {
48-
role_id = tencentcloud_cam_role.role.id
49-
policy_id = tencentcloud_cam_policy.policy.id
41+
role_id = data.tencentcloud_cam_roles.roles.role_list.0.role_id
42+
policy_id = data.tencentcloud_cam_policies.policy.policy_list.0.policy_id
5043
}
51-
44+
5245
data "tencentcloud_cam_role_policy_attachments" "role_policy_attachments" {
5346
role_id = tencentcloud_cam_role_policy_attachment.role_policy_attachment.role_id
54-
}`, uin, uin)
55-
}
47+
}`
Lines changed: 7 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package tencentcloud
22

33
import (
4-
"fmt"
54
"testing"
65

76
"github.com/hashicorp/terraform-plugin-sdk/helper/resource"
@@ -15,14 +14,13 @@ func TestAccTencentCloudCamRolesDataSource_basic(t *testing.T) {
1514
CheckDestroy: testAccCheckCamRoleDestroy,
1615
Steps: []resource.TestStep{
1716
{
18-
Config: testAccCamRolesDataSource_basic(ownerUin),
17+
Config: testAccCamRolesDatasourceBasic,
1918
Check: resource.ComposeAggregateTestCheckFunc(
20-
testAccCheckCamRoleExists("tencentcloud_cam_role.role"),
2119
resource.TestCheckResourceAttr("data.tencentcloud_cam_roles.roles", "role_list.#", "1"),
2220
resource.TestCheckResourceAttrSet("data.tencentcloud_cam_roles.roles", "role_list.0.role_id"),
23-
resource.TestCheckResourceAttr("data.tencentcloud_cam_roles.roles", "role_list.0.name", "cam-role-test11"),
24-
resource.TestCheckResourceAttr("data.tencentcloud_cam_roles.roles", "role_list.0.description", "test"),
25-
resource.TestCheckResourceAttr("data.tencentcloud_cam_roles.roles", "role_list.0.console_login", "true"),
21+
resource.TestCheckResourceAttrSet("data.tencentcloud_cam_roles.roles", "role_list.0.name"),
22+
resource.TestCheckResourceAttrSet("data.tencentcloud_cam_roles.roles", "role_list.0.description"),
23+
resource.TestCheckResourceAttrSet("data.tencentcloud_cam_roles.roles", "role_list.0.console_login"),
2624
resource.TestCheckResourceAttrSet("data.tencentcloud_cam_roles.roles", "role_list.0.create_time"),
2725
resource.TestCheckResourceAttrSet("data.tencentcloud_cam_roles.roles", "role_list.0.update_time"),
2826
resource.TestCheckResourceAttrSet("data.tencentcloud_cam_roles.roles", "role_list.0.document"),
@@ -32,16 +30,8 @@ func TestAccTencentCloudCamRolesDataSource_basic(t *testing.T) {
3230
})
3331
}
3432

35-
func testAccCamRolesDataSource_basic(uin string) string {
36-
return fmt.Sprintf(`
37-
resource "tencentcloud_cam_role" "role" {
38-
name = "cam-role-test11"
39-
document = "{\"version\":\"2.0\",\"statement\":[{\"action\":[\"name/sts:AssumeRole\"],\"effect\":\"allow\",\"principal\":{\"qcs\":[\"qcs::cam::uin/%s:uin/%s\"]}}]}"
40-
description = "test"
41-
console_login = true
42-
}
43-
33+
const testAccCamRolesDatasourceBasic = defaultCamVariables + `
4434
data "tencentcloud_cam_roles" "roles" {
45-
role_id = tencentcloud_cam_role.role.id
46-
}`, uin, uin)
35+
name = var.cam_role_basic
4736
}
37+
`

0 commit comments

Comments
 (0)