Skip to content

Commit 6791b8e

Browse files
author
mikatong
committed
generate cvm resource testcase
1 parent 2be30ed commit 6791b8e

6 files changed

+243
-256
lines changed

tencentcloud/services/cvm/resource_tc_cvm_chc_config_test.go

Lines changed: 86 additions & 126 deletions
Original file line numberDiff line numberDiff line change
@@ -3,169 +3,129 @@ package cvm_test
33
import (
44
"testing"
55

6-
tcacctest "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/acctest"
7-
86
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
7+
acctest "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/acctest"
98
)
109

11-
func TestAccTencentCloudCvmChcConfigResource_basic(t *testing.T) {
10+
func TestAccTencentCloudCvmChcConfigResource_Basic(t *testing.T) {
1211
t.Parallel()
1312
resource.Test(t, resource.TestCase{
1413
PreCheck: func() {
15-
tcacctest.AccPreCheck(t)
14+
acctest.AccPreCheck(t)
1615
},
17-
Providers: tcacctest.AccProviders,
16+
Providers: acctest.AccProviders,
1817
Steps: []resource.TestStep{
1918
{
20-
Config: testAccCvmChcConfig,
21-
Check: resource.ComposeTestCheckFunc(
22-
resource.TestCheckResourceAttrSet("tencentcloud_cvm_chc_config.chc_config", "id"),
23-
resource.TestCheckResourceAttrSet("tencentcloud_cvm_chc_config.chc_config", "chc_id"),
24-
resource.TestCheckResourceAttr("tencentcloud_cvm_chc_config.chc_config", "instance_name", "test"),
25-
resource.TestCheckResourceAttrSet("tencentcloud_cvm_chc_config.chc_config", "device_type"),
26-
resource.TestCheckResourceAttr("tencentcloud_cvm_chc_config.chc_config", "bmc_user", "admin"),
27-
resource.TestCheckResourceAttrSet("tencentcloud_cvm_chc_config.chc_config", "password"),
28-
resource.TestCheckResourceAttr("tencentcloud_cvm_chc_config.chc_config", "bmc_virtual_private_cloud.#", "1"),
29-
resource.TestCheckResourceAttrSet("tencentcloud_cvm_chc_config.chc_config", "bmc_virtual_private_cloud.0.vpc_id"),
30-
resource.TestCheckResourceAttrSet("tencentcloud_cvm_chc_config.chc_config", "bmc_virtual_private_cloud.0.subnet_id"),
31-
resource.TestCheckResourceAttrSet("tencentcloud_cvm_chc_config.chc_config", "bmc_virtual_private_cloud.0.as_vpc_gateway"),
32-
resource.TestCheckResourceAttr("tencentcloud_cvm_chc_config.chc_config", "bmc_security_group_ids.#", "1"),
33-
resource.TestCheckResourceAttr("tencentcloud_cvm_chc_config.chc_config", "deploy_virtual_private_cloud.#", "1"),
34-
resource.TestCheckResourceAttrSet("tencentcloud_cvm_chc_config.chc_config", "deploy_virtual_private_cloud.0.vpc_id"),
35-
resource.TestCheckResourceAttrSet("tencentcloud_cvm_chc_config.chc_config", "deploy_virtual_private_cloud.0.subnet_id"),
36-
resource.TestCheckResourceAttrSet("tencentcloud_cvm_chc_config.chc_config", "deploy_virtual_private_cloud.0.as_vpc_gateway"),
37-
resource.TestCheckResourceAttr("tencentcloud_cvm_chc_config.chc_config", "deploy_security_group_ids.#", "1"),
38-
),
19+
Config: testAccCvmChcConfigResource_BasicCreate,
20+
Check: resource.ComposeTestCheckFunc(resource.TestCheckResourceAttrSet("tencentcloud_cvm_chc_config.chc_config", "chc_id"), resource.TestCheckResourceAttr("tencentcloud_cvm_chc_config.chc_config", "bmc_virtual_private_cloud.#", "1"), resource.TestCheckResourceAttrSet("tencentcloud_cvm_chc_config.chc_config", "bmc_virtual_private_cloud.0.as_vpc_gateway"), resource.TestCheckResourceAttrSet("tencentcloud_cvm_chc_config.chc_config", "password"), resource.TestCheckResourceAttrSet("tencentcloud_cvm_chc_config.chc_config", "bmc_virtual_private_cloud.0.subnet_id"), resource.TestCheckResourceAttr("tencentcloud_cvm_chc_config.chc_config", "deploy_virtual_private_cloud.#", "1"), resource.TestCheckResourceAttrSet("tencentcloud_cvm_chc_config.chc_config", "deploy_virtual_private_cloud.0.vpc_id"), resource.TestCheckResourceAttrSet("tencentcloud_cvm_chc_config.chc_config", "deploy_virtual_private_cloud.0.subnet_id"), resource.TestCheckResourceAttrSet("tencentcloud_cvm_chc_config.chc_config", "deploy_virtual_private_cloud.0.as_vpc_gateway"), resource.TestCheckResourceAttr("tencentcloud_cvm_chc_config.chc_config", "instance_name", "test"), resource.TestCheckResourceAttrSet("tencentcloud_cvm_chc_config.chc_config", "device_type"), resource.TestCheckResourceAttr("tencentcloud_cvm_chc_config.chc_config", "deploy_security_group_ids.#", "1"), resource.TestCheckResourceAttrSet("tencentcloud_cvm_chc_config.chc_config", "id"), resource.TestCheckResourceAttr("tencentcloud_cvm_chc_config.chc_config", "bmc_user", "admin"), resource.TestCheckResourceAttrSet("tencentcloud_cvm_chc_config.chc_config", "bmc_virtual_private_cloud.0.vpc_id"), resource.TestCheckResourceAttr("tencentcloud_cvm_chc_config.chc_config", "bmc_security_group_ids.#", "1")),
3921
},
4022
{
41-
Config: testAccCvmChcConfig_update,
42-
Check: resource.ComposeTestCheckFunc(
43-
resource.TestCheckResourceAttrSet("tencentcloud_cvm_chc_config.chc_config", "id"),
44-
resource.TestCheckResourceAttr("tencentcloud_cvm_chc_config.chc_config", "instance_name", "test1"),
45-
resource.TestCheckResourceAttr("tencentcloud_cvm_chc_config.chc_config", "bmc_user", "admin1"),
46-
resource.TestCheckResourceAttrSet("tencentcloud_cvm_chc_config.chc_config", "password"),
47-
),
23+
Config: testAccCvmChcConfigResource_BasicChange1,
24+
Check: resource.ComposeTestCheckFunc(resource.TestCheckResourceAttrSet("tencentcloud_cvm_chc_config.chc_config", "password"), resource.TestCheckResourceAttrSet("tencentcloud_cvm_chc_config.chc_config", "id"), resource.TestCheckResourceAttr("tencentcloud_cvm_chc_config.chc_config", "instance_name", "test1"), resource.TestCheckResourceAttr("tencentcloud_cvm_chc_config.chc_config", "bmc_user", "admin1")),
4825
},
4926
{
5027
ResourceName: "tencentcloud_cvm_chc_config.chc_config",
5128
ImportState: true,
52-
ImportStateVerify: false,
29+
ImportStateVerify: true,
5330
ImportStateVerifyIgnore: []string{"bmc_user", "password"},
5431
},
5532
},
5633
})
5734
}
5835

59-
const testAccCvmChcConfigBasis = `
60-
variable "availability_zone" {
61-
default = "ap-guangzhou-7"
62-
}
36+
const testAccCvmChcConfigResource_BasicCreate = `
6337
64-
variable "vpc_cidr" {
65-
default = "172.16.0.0/16"
66-
}
67-
68-
variable "subnet_cidr1" {
69-
default = "172.16.0.0/20"
70-
}
71-
72-
variable "subnet_cidr2" {
73-
default = "172.16.16.0/20"
74-
}
75-
76-
variable "tke_cidr_a" {
77-
default = [
78-
"10.31.0.0/23",
79-
"10.31.2.0/24",
80-
"10.31.3.0/24",
81-
"10.31.16.0/24",
82-
"10.31.32.0/24"
83-
]
38+
data "tencentcloud_security_groups" "security_groups1" {
39+
name = "keep-tke"
8440
}
85-
86-
variable "default_img_id" {
87-
default = "img-2lr9q49h"
41+
data "tencentcloud_security_groups" "security_groups2" {
42+
name = "keep-reject-all"
8843
}
89-
9044
resource "tencentcloud_vpc" "vpc" {
91-
name = "tf-cvm-vpc"
92-
cidr_block = var.vpc_cidr
45+
name = "tf-cvm-vpc"
46+
cidr_block = "172.16.0.0/16"
9347
}
94-
9548
resource "tencentcloud_subnet" "subnet1" {
96-
name = "tf_cvm_vpc_subnet1"
97-
vpc_id = tencentcloud_vpc.vpc.id
98-
availability_zone = var.availability_zone
99-
cidr_block = var.subnet_cidr1
100-
is_multicast = false
49+
is_multicast = false
50+
name = "tf_cvm_vpc_subnet1"
51+
vpc_id = tencentcloud_vpc.vpc.id
52+
availability_zone = "ap-guangzhou-7"
53+
cidr_block = "172.16.0.0/20"
10154
}
102-
10355
resource "tencentcloud_subnet" "subnet2" {
104-
name = "tf_cvm_vpc_subnet2"
105-
vpc_id = tencentcloud_vpc.vpc.id
106-
availability_zone = var.availability_zone
107-
cidr_block = var.subnet_cidr2
108-
is_multicast = false
56+
name = "tf_cvm_vpc_subnet2"
57+
vpc_id = tencentcloud_vpc.vpc.id
58+
availability_zone = "ap-guangzhou-7"
59+
cidr_block = "172.16.16.0/20"
60+
is_multicast = false
61+
}
62+
resource "tencentcloud_cvm_chc_config" "chc_config" {
63+
64+
deploy_virtual_private_cloud {
65+
vpc_id = tencentcloud_vpc.vpc.id
66+
subnet_id = tencentcloud_subnet.subnet1.id
67+
as_vpc_gateway = false
68+
}
69+
deploy_security_group_ids = [data.tencentcloud_security_groups.security_groups1.security_groups.0.security_group_id]
70+
chc_id = "chc-mn3l1qf5"
71+
instance_name = "test"
72+
bmc_user = "admin"
73+
password = "123"
74+
75+
bmc_virtual_private_cloud {
76+
subnet_id = tencentcloud_subnet.subnet1.id
77+
as_vpc_gateway = false
78+
vpc_id = tencentcloud_vpc.vpc.id
79+
}
80+
bmc_security_group_ids = [data.tencentcloud_security_groups.security_groups1.security_groups.0.security_group_id]
10981
}
11082
83+
`
84+
const testAccCvmChcConfigResource_BasicChange1 = `
85+
11186
data "tencentcloud_security_groups" "security_groups1" {
112-
name = "keep-tke"
87+
name = "keep-tke"
11388
}
114-
11589
data "tencentcloud_security_groups" "security_groups2" {
116-
name = "keep-reject-all"
90+
name = "keep-reject-all"
11791
}
118-
119-
locals {
120-
vpc_id = tencentcloud_vpc.vpc.id
121-
subnet_id1 = tencentcloud_subnet.subnet1.id
122-
subnet_id2 = tencentcloud_subnet.subnet2.id
123-
124-
sg_id1 = data.tencentcloud_security_groups.security_groups1.security_groups.0.security_group_id
125-
sg_id2 = data.tencentcloud_security_groups.security_groups2.security_groups.0.security_group_id
92+
resource "tencentcloud_vpc" "vpc" {
93+
name = "tf-cvm-vpc"
94+
cidr_block = "172.16.0.0/16"
12695
}
127-
`
128-
129-
const testAccCvmChcConfig = testAccCvmChcConfigBasis + `
130-
resource "tencentcloud_cvm_chc_config" "chc_config" {
131-
chc_id = "chc-mn3l1qf5"
132-
instance_name = "test"
133-
bmc_user = "admin"
134-
password = "123"
135-
bmc_virtual_private_cloud {
136-
vpc_id = local.vpc_id
137-
subnet_id = local.subnet_id1
138-
as_vpc_gateway = false
139-
}
140-
bmc_security_group_ids = [local.sg_id1]
141-
142-
deploy_virtual_private_cloud {
143-
vpc_id = local.vpc_id
144-
subnet_id = local.subnet_id1
145-
as_vpc_gateway = false
146-
}
147-
deploy_security_group_ids = [local.sg_id1]
96+
resource "tencentcloud_subnet" "subnet1" {
97+
is_multicast = false
98+
name = "tf_cvm_vpc_subnet1"
99+
vpc_id = tencentcloud_vpc.vpc.id
100+
availability_zone = "ap-guangzhou-7"
101+
cidr_block = "172.16.0.0/20"
102+
}
103+
resource "tencentcloud_subnet" "subnet2" {
104+
name = "tf_cvm_vpc_subnet2"
105+
vpc_id = tencentcloud_vpc.vpc.id
106+
availability_zone = "ap-guangzhou-7"
107+
cidr_block = "172.16.16.0/20"
108+
is_multicast = false
148109
}
149-
`
150-
151-
const testAccCvmChcConfig_update = testAccCvmChcConfigBasis + `
152110
resource "tencentcloud_cvm_chc_config" "chc_config" {
153-
chc_id = "chc-mn3l1qf5"
154-
instance_name = "test1"
155-
bmc_user = "admin1"
156-
password = "123456"
157-
bmc_virtual_private_cloud {
158-
vpc_id = local.vpc_id
159-
subnet_id = local.subnet_id1
160-
as_vpc_gateway = false
161-
}
162-
bmc_security_group_ids = [local.sg_id1]
163-
164-
deploy_virtual_private_cloud {
165-
vpc_id = local.vpc_id
166-
subnet_id = local.subnet_id1
167-
as_vpc_gateway = false
168-
}
169-
deploy_security_group_ids = [local.sg_id1]
111+
112+
deploy_virtual_private_cloud {
113+
vpc_id = tencentcloud_vpc.vpc.id
114+
subnet_id = tencentcloud_subnet.subnet1.id
115+
as_vpc_gateway = false
116+
}
117+
deploy_security_group_ids = [data.tencentcloud_security_groups.security_groups1.security_groups.0.security_group_id]
118+
chc_id = "chc-mn3l1qf5"
119+
instance_name = "test1"
120+
bmc_user = "admin1"
121+
password = "123"
122+
123+
bmc_virtual_private_cloud {
124+
subnet_id = tencentcloud_subnet.subnet1.id
125+
as_vpc_gateway = false
126+
vpc_id = tencentcloud_vpc.vpc.id
127+
}
128+
bmc_security_group_ids = [data.tencentcloud_security_groups.security_groups1.security_groups.0.security_group_id]
170129
}
130+
171131
`

tencentcloud/services/cvm/resource_tc_cvm_export_images_test.go

Lines changed: 20 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -3,54 +3,42 @@ package cvm_test
33
import (
44
"testing"
55

6-
tcacctest "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/acctest"
7-
86
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
7+
acctest "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/acctest"
98
)
109

11-
func TestAccTencentCloudCvmExportImagesResource_basic(t *testing.T) {
10+
func TestAccTencentCloudCvmExportImagesResource_Basic(t *testing.T) {
1211
t.Parallel()
1312
resource.Test(t, resource.TestCase{
14-
PreCheck: func() { tcacctest.AccPreCheckCommon(t, tcacctest.ACCOUNT_TYPE_PREPAY) },
15-
Providers: tcacctest.AccProviders,
13+
PreCheck: func() {
14+
acctest.AccPreCheck(t)
15+
},
16+
Providers: acctest.AccProviders,
1617
Steps: []resource.TestStep{
1718
{
18-
Config: testAccCvmExportImages,
19-
Check: resource.ComposeTestCheckFunc(
20-
resource.TestCheckResourceAttrSet("tencentcloud_cvm_export_images.export_images", "id"),
21-
resource.TestCheckResourceAttrSet("tencentcloud_cvm_export_images.export_images", "bucket_name"),
22-
resource.TestCheckResourceAttr("tencentcloud_cvm_export_images.export_images", "image_id", "img-l7uxaine"),
23-
resource.TestCheckResourceAttr("tencentcloud_cvm_export_images.export_images", "file_name_prefix", "test-"),
24-
resource.TestCheckResourceAttr("tencentcloud_cvm_export_images.export_images", "export_format", "RAW"),
25-
resource.TestCheckResourceAttr("tencentcloud_cvm_export_images.export_images", "only_export_root_disk", "false"),
26-
resource.TestCheckResourceAttr("tencentcloud_cvm_export_images.export_images", "dry_run", "false"),
27-
),
19+
Config: testAccCvmExportImagesResource_BasicCreate,
20+
Check: resource.ComposeTestCheckFunc(resource.TestCheckResourceAttr("tencentcloud_cvm_export_images.export_images", "only_export_root_disk", "false"), resource.TestCheckResourceAttr("tencentcloud_cvm_export_images.export_images", "dry_run", "false"), resource.TestCheckResourceAttrSet("tencentcloud_cvm_export_images.export_images", "id"), resource.TestCheckResourceAttrSet("tencentcloud_cvm_export_images.export_images", "bucket_name"), resource.TestCheckResourceAttr("tencentcloud_cvm_export_images.export_images", "image_id", "img-l7uxaine"), resource.TestCheckResourceAttr("tencentcloud_cvm_export_images.export_images", "file_name_prefix", "test-"), resource.TestCheckResourceAttr("tencentcloud_cvm_export_images.export_images", "export_format", "RAW")),
2821
},
2922
},
3023
})
3124
}
3225

33-
const testAccCvmExportImagesBasis = `
34-
data "tencentcloud_user_info" "info" {}
26+
const testAccCvmExportImagesResource_BasicCreate = `
3527
36-
locals {
37-
app_id = data.tencentcloud_user_info.info.app_id
28+
data "tencentcloud_user_info" "info" {
3829
}
39-
4030
resource "tencentcloud_cos_bucket" "private_sbucket" {
41-
bucket = "tf-private-bucket-${local.app_id}"
42-
acl = "private"
43-
force_clean = true
31+
bucket = "tf-private-bucket-${data.tencentcloud_user_info.info.app_id}"
32+
acl = "private"
33+
force_clean = true
4434
}
45-
`
46-
47-
const testAccCvmExportImages = testAccCvmExportImagesBasis + `
4835
resource "tencentcloud_cvm_export_images" "export_images" {
49-
bucket_name = tencentcloud_cos_bucket.private_sbucket.bucket
50-
image_id = "img-l7uxaine"
51-
file_name_prefix = "test-"
52-
export_format = "RAW"
53-
only_export_root_disk = false
54-
dry_run = false
36+
bucket_name = tencentcloud_cos_bucket.private_sbucket.bucket
37+
image_id = "img-l7uxaine"
38+
file_name_prefix = "test-"
39+
export_format = "RAW"
40+
only_export_root_disk = false
41+
dry_run = false
5542
}
43+
5644
`

tencentcloud/services/cvm/resource_tc_cvm_hpc_cluster_test.go

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,56 @@ package cvm_test
33
import (
44
"testing"
55

6+
acctest "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/acctest"
67
tcacctest "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/acctest"
78

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

12+
func TestAccTencentCloudCvmHpcClusterResource_Basic(t *testing.T) {
13+
t.Parallel()
14+
resource.Test(t, resource.TestCase{
15+
PreCheck: func() {
16+
acctest.AccPreCheck(t)
17+
},
18+
Providers: acctest.AccProviders,
19+
Steps: []resource.TestStep{
20+
{
21+
Config: testAccCvmHpcClusterResource_BasicCreate,
22+
Check: resource.ComposeTestCheckFunc(resource.TestCheckResourceAttrSet("tencentcloud_cvm_hpc_cluster.hpc_cluster", "id"), resource.TestCheckResourceAttr("tencentcloud_cvm_hpc_cluster.hpc_cluster", "name", "terraform-test"), resource.TestCheckResourceAttr("tencentcloud_cvm_hpc_cluster.hpc_cluster", "remark", "create for test")),
23+
},
24+
{
25+
Config: testAccCvmHpcClusterResource_BasicChange1,
26+
Check: resource.ComposeTestCheckFunc(resource.TestCheckResourceAttr("tencentcloud_cvm_hpc_cluster.hpc_cluster", "remark", "create for e2e test"), resource.TestCheckResourceAttrSet("tencentcloud_cvm_hpc_cluster.hpc_cluster", "id"), resource.TestCheckResourceAttr("tencentcloud_cvm_hpc_cluster.hpc_cluster", "name", "terraform-test1")),
27+
},
28+
{
29+
ResourceName: "tencentcloud_cvm_hpc_cluster.hpc_cluster",
30+
ImportState: true,
31+
ImportStateVerify: true,
32+
},
33+
},
34+
})
35+
}
36+
37+
const testAccCvmHpcClusterResource_BasicCreate = `
38+
39+
resource "tencentcloud_cvm_hpc_cluster" "hpc_cluster" {
40+
zone = "ap-guangzhou-7"
41+
name = "terraform-test"
42+
remark = "create for test"
43+
}
44+
45+
`
46+
const testAccCvmHpcClusterResource_BasicChange1 = `
47+
48+
resource "tencentcloud_cvm_hpc_cluster" "hpc_cluster" {
49+
zone = "ap-guangzhou-7"
50+
name = "terraform-test1"
51+
remark = "create for e2e test"
52+
}
53+
54+
`
55+
1156
func TestAccTencentCloudCvmHpcClusterResource_basic(t *testing.T) {
1257
t.Parallel()
1358
resource.Test(t, resource.TestCase{

0 commit comments

Comments
 (0)