From 6791b8e4289a0688cef440c76b50826c7293b159 Mon Sep 17 00:00:00 2001 From: mikatong Date: Tue, 4 Jun 2024 16:33:48 +0800 Subject: [PATCH] generate cvm resource testcase --- .../cvm/resource_tc_cvm_chc_config_test.go | 212 +++++++----------- .../cvm/resource_tc_cvm_export_images_test.go | 52 ++--- .../cvm/resource_tc_cvm_hpc_cluster_test.go | 45 ++++ ...urce_tc_cvm_image_share_permission_test.go | 27 ++- ...e_tc_cvm_security_group_attachment_test.go | 101 +++++---- .../cvm/resource_tc_placement_group_test.go | 62 +++-- 6 files changed, 243 insertions(+), 256 deletions(-) diff --git a/tencentcloud/services/cvm/resource_tc_cvm_chc_config_test.go b/tencentcloud/services/cvm/resource_tc_cvm_chc_config_test.go index a1c6c40cac..fc0bab4d3b 100644 --- a/tencentcloud/services/cvm/resource_tc_cvm_chc_config_test.go +++ b/tencentcloud/services/cvm/resource_tc_cvm_chc_config_test.go @@ -3,169 +3,129 @@ package cvm_test import ( "testing" - tcacctest "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/acctest" - "github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource" + acctest "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/acctest" ) -func TestAccTencentCloudCvmChcConfigResource_basic(t *testing.T) { +func TestAccTencentCloudCvmChcConfigResource_Basic(t *testing.T) { t.Parallel() resource.Test(t, resource.TestCase{ PreCheck: func() { - tcacctest.AccPreCheck(t) + acctest.AccPreCheck(t) }, - Providers: tcacctest.AccProviders, + Providers: acctest.AccProviders, Steps: []resource.TestStep{ { - Config: testAccCvmChcConfig, - Check: resource.ComposeTestCheckFunc( - resource.TestCheckResourceAttrSet("tencentcloud_cvm_chc_config.chc_config", "id"), - resource.TestCheckResourceAttrSet("tencentcloud_cvm_chc_config.chc_config", "chc_id"), - 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", "bmc_user", "admin"), - resource.TestCheckResourceAttrSet("tencentcloud_cvm_chc_config.chc_config", "password"), - 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.vpc_id"), - resource.TestCheckResourceAttrSet("tencentcloud_cvm_chc_config.chc_config", "bmc_virtual_private_cloud.0.subnet_id"), - resource.TestCheckResourceAttrSet("tencentcloud_cvm_chc_config.chc_config", "bmc_virtual_private_cloud.0.as_vpc_gateway"), - resource.TestCheckResourceAttr("tencentcloud_cvm_chc_config.chc_config", "bmc_security_group_ids.#", "1"), - 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", "deploy_security_group_ids.#", "1"), - ), + Config: testAccCvmChcConfigResource_BasicCreate, + 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")), }, { - Config: testAccCvmChcConfig_update, - Check: resource.ComposeTestCheckFunc( - 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"), - resource.TestCheckResourceAttrSet("tencentcloud_cvm_chc_config.chc_config", "password"), - ), + Config: testAccCvmChcConfigResource_BasicChange1, + 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")), }, { ResourceName: "tencentcloud_cvm_chc_config.chc_config", ImportState: true, - ImportStateVerify: false, + ImportStateVerify: true, ImportStateVerifyIgnore: []string{"bmc_user", "password"}, }, }, }) } -const testAccCvmChcConfigBasis = ` -variable "availability_zone" { - default = "ap-guangzhou-7" -} +const testAccCvmChcConfigResource_BasicCreate = ` -variable "vpc_cidr" { - default = "172.16.0.0/16" -} - -variable "subnet_cidr1" { - default = "172.16.0.0/20" -} - -variable "subnet_cidr2" { - default = "172.16.16.0/20" -} - -variable "tke_cidr_a" { - default = [ - "10.31.0.0/23", - "10.31.2.0/24", - "10.31.3.0/24", - "10.31.16.0/24", - "10.31.32.0/24" - ] +data "tencentcloud_security_groups" "security_groups1" { + name = "keep-tke" } - -variable "default_img_id" { - default = "img-2lr9q49h" +data "tencentcloud_security_groups" "security_groups2" { + name = "keep-reject-all" } - resource "tencentcloud_vpc" "vpc" { - name = "tf-cvm-vpc" - cidr_block = var.vpc_cidr + name = "tf-cvm-vpc" + cidr_block = "172.16.0.0/16" } - resource "tencentcloud_subnet" "subnet1" { - name = "tf_cvm_vpc_subnet1" - vpc_id = tencentcloud_vpc.vpc.id - availability_zone = var.availability_zone - cidr_block = var.subnet_cidr1 - is_multicast = false + is_multicast = false + name = "tf_cvm_vpc_subnet1" + vpc_id = tencentcloud_vpc.vpc.id + availability_zone = "ap-guangzhou-7" + cidr_block = "172.16.0.0/20" } - resource "tencentcloud_subnet" "subnet2" { - name = "tf_cvm_vpc_subnet2" - vpc_id = tencentcloud_vpc.vpc.id - availability_zone = var.availability_zone - cidr_block = var.subnet_cidr2 - is_multicast = false + name = "tf_cvm_vpc_subnet2" + vpc_id = tencentcloud_vpc.vpc.id + availability_zone = "ap-guangzhou-7" + cidr_block = "172.16.16.0/20" + is_multicast = false +} +resource "tencentcloud_cvm_chc_config" "chc_config" { + + deploy_virtual_private_cloud { + vpc_id = tencentcloud_vpc.vpc.id + subnet_id = tencentcloud_subnet.subnet1.id + as_vpc_gateway = false + } + deploy_security_group_ids = [data.tencentcloud_security_groups.security_groups1.security_groups.0.security_group_id] + chc_id = "chc-mn3l1qf5" + instance_name = "test" + bmc_user = "admin" + password = "123" + + bmc_virtual_private_cloud { + subnet_id = tencentcloud_subnet.subnet1.id + as_vpc_gateway = false + vpc_id = tencentcloud_vpc.vpc.id + } + bmc_security_group_ids = [data.tencentcloud_security_groups.security_groups1.security_groups.0.security_group_id] } +` +const testAccCvmChcConfigResource_BasicChange1 = ` + data "tencentcloud_security_groups" "security_groups1" { - name = "keep-tke" + name = "keep-tke" } - data "tencentcloud_security_groups" "security_groups2" { - name = "keep-reject-all" + name = "keep-reject-all" } - -locals { - vpc_id = tencentcloud_vpc.vpc.id - subnet_id1 = tencentcloud_subnet.subnet1.id - subnet_id2 = tencentcloud_subnet.subnet2.id - - sg_id1 = data.tencentcloud_security_groups.security_groups1.security_groups.0.security_group_id - sg_id2 = data.tencentcloud_security_groups.security_groups2.security_groups.0.security_group_id +resource "tencentcloud_vpc" "vpc" { + name = "tf-cvm-vpc" + cidr_block = "172.16.0.0/16" } -` - -const testAccCvmChcConfig = testAccCvmChcConfigBasis + ` -resource "tencentcloud_cvm_chc_config" "chc_config" { - chc_id = "chc-mn3l1qf5" - instance_name = "test" - bmc_user = "admin" - password = "123" - bmc_virtual_private_cloud { - vpc_id = local.vpc_id - subnet_id = local.subnet_id1 - as_vpc_gateway = false - } - bmc_security_group_ids = [local.sg_id1] - - deploy_virtual_private_cloud { - vpc_id = local.vpc_id - subnet_id = local.subnet_id1 - as_vpc_gateway = false - } - deploy_security_group_ids = [local.sg_id1] +resource "tencentcloud_subnet" "subnet1" { + is_multicast = false + name = "tf_cvm_vpc_subnet1" + vpc_id = tencentcloud_vpc.vpc.id + availability_zone = "ap-guangzhou-7" + cidr_block = "172.16.0.0/20" +} +resource "tencentcloud_subnet" "subnet2" { + name = "tf_cvm_vpc_subnet2" + vpc_id = tencentcloud_vpc.vpc.id + availability_zone = "ap-guangzhou-7" + cidr_block = "172.16.16.0/20" + is_multicast = false } -` - -const testAccCvmChcConfig_update = testAccCvmChcConfigBasis + ` resource "tencentcloud_cvm_chc_config" "chc_config" { - chc_id = "chc-mn3l1qf5" - instance_name = "test1" - bmc_user = "admin1" - password = "123456" - bmc_virtual_private_cloud { - vpc_id = local.vpc_id - subnet_id = local.subnet_id1 - as_vpc_gateway = false - } - bmc_security_group_ids = [local.sg_id1] - - deploy_virtual_private_cloud { - vpc_id = local.vpc_id - subnet_id = local.subnet_id1 - as_vpc_gateway = false - } - deploy_security_group_ids = [local.sg_id1] + + deploy_virtual_private_cloud { + vpc_id = tencentcloud_vpc.vpc.id + subnet_id = tencentcloud_subnet.subnet1.id + as_vpc_gateway = false + } + deploy_security_group_ids = [data.tencentcloud_security_groups.security_groups1.security_groups.0.security_group_id] + chc_id = "chc-mn3l1qf5" + instance_name = "test1" + bmc_user = "admin1" + password = "123" + + bmc_virtual_private_cloud { + subnet_id = tencentcloud_subnet.subnet1.id + as_vpc_gateway = false + vpc_id = tencentcloud_vpc.vpc.id + } + bmc_security_group_ids = [data.tencentcloud_security_groups.security_groups1.security_groups.0.security_group_id] } + ` diff --git a/tencentcloud/services/cvm/resource_tc_cvm_export_images_test.go b/tencentcloud/services/cvm/resource_tc_cvm_export_images_test.go index 99c6a152e9..475c1be896 100644 --- a/tencentcloud/services/cvm/resource_tc_cvm_export_images_test.go +++ b/tencentcloud/services/cvm/resource_tc_cvm_export_images_test.go @@ -3,54 +3,42 @@ package cvm_test import ( "testing" - tcacctest "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/acctest" - "github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource" + acctest "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/acctest" ) -func TestAccTencentCloudCvmExportImagesResource_basic(t *testing.T) { +func TestAccTencentCloudCvmExportImagesResource_Basic(t *testing.T) { t.Parallel() resource.Test(t, resource.TestCase{ - PreCheck: func() { tcacctest.AccPreCheckCommon(t, tcacctest.ACCOUNT_TYPE_PREPAY) }, - Providers: tcacctest.AccProviders, + PreCheck: func() { + acctest.AccPreCheck(t) + }, + Providers: acctest.AccProviders, Steps: []resource.TestStep{ { - Config: testAccCvmExportImages, - Check: resource.ComposeTestCheckFunc( - 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"), - resource.TestCheckResourceAttr("tencentcloud_cvm_export_images.export_images", "only_export_root_disk", "false"), - resource.TestCheckResourceAttr("tencentcloud_cvm_export_images.export_images", "dry_run", "false"), - ), + Config: testAccCvmExportImagesResource_BasicCreate, + 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")), }, }, }) } -const testAccCvmExportImagesBasis = ` -data "tencentcloud_user_info" "info" {} +const testAccCvmExportImagesResource_BasicCreate = ` -locals { - app_id = data.tencentcloud_user_info.info.app_id +data "tencentcloud_user_info" "info" { } - resource "tencentcloud_cos_bucket" "private_sbucket" { - bucket = "tf-private-bucket-${local.app_id}" - acl = "private" - force_clean = true + bucket = "tf-private-bucket-${data.tencentcloud_user_info.info.app_id}" + acl = "private" + force_clean = true } -` - -const testAccCvmExportImages = testAccCvmExportImagesBasis + ` resource "tencentcloud_cvm_export_images" "export_images" { - bucket_name = tencentcloud_cos_bucket.private_sbucket.bucket - image_id = "img-l7uxaine" - file_name_prefix = "test-" - export_format = "RAW" - only_export_root_disk = false - dry_run = false + bucket_name = tencentcloud_cos_bucket.private_sbucket.bucket + image_id = "img-l7uxaine" + file_name_prefix = "test-" + export_format = "RAW" + only_export_root_disk = false + dry_run = false } + ` diff --git a/tencentcloud/services/cvm/resource_tc_cvm_hpc_cluster_test.go b/tencentcloud/services/cvm/resource_tc_cvm_hpc_cluster_test.go index c63afba281..9110d7ac7f 100644 --- a/tencentcloud/services/cvm/resource_tc_cvm_hpc_cluster_test.go +++ b/tencentcloud/services/cvm/resource_tc_cvm_hpc_cluster_test.go @@ -3,11 +3,56 @@ package cvm_test import ( "testing" + acctest "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/acctest" tcacctest "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/acctest" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource" ) +func TestAccTencentCloudCvmHpcClusterResource_Basic(t *testing.T) { + t.Parallel() + resource.Test(t, resource.TestCase{ + PreCheck: func() { + acctest.AccPreCheck(t) + }, + Providers: acctest.AccProviders, + Steps: []resource.TestStep{ + { + Config: testAccCvmHpcClusterResource_BasicCreate, + 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")), + }, + { + Config: testAccCvmHpcClusterResource_BasicChange1, + 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")), + }, + { + ResourceName: "tencentcloud_cvm_hpc_cluster.hpc_cluster", + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} + +const testAccCvmHpcClusterResource_BasicCreate = ` + +resource "tencentcloud_cvm_hpc_cluster" "hpc_cluster" { + zone = "ap-guangzhou-7" + name = "terraform-test" + remark = "create for test" +} + +` +const testAccCvmHpcClusterResource_BasicChange1 = ` + +resource "tencentcloud_cvm_hpc_cluster" "hpc_cluster" { + zone = "ap-guangzhou-7" + name = "terraform-test1" + remark = "create for e2e test" +} + +` + func TestAccTencentCloudCvmHpcClusterResource_basic(t *testing.T) { t.Parallel() resource.Test(t, resource.TestCase{ diff --git a/tencentcloud/services/cvm/resource_tc_cvm_image_share_permission_test.go b/tencentcloud/services/cvm/resource_tc_cvm_image_share_permission_test.go index df86792bc3..e39c6ae1ad 100644 --- a/tencentcloud/services/cvm/resource_tc_cvm_image_share_permission_test.go +++ b/tencentcloud/services/cvm/resource_tc_cvm_image_share_permission_test.go @@ -3,24 +3,21 @@ package cvm_test import ( "testing" - tcacctest "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/acctest" - "github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource" + acctest "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/acctest" ) -func TestAccTencentCloudCvmModifyImageSharePermissionResource_basic(t *testing.T) { +func TestAccTencentCloudCvmImageSharePermissionResource_Basic(t *testing.T) { t.Parallel() resource.Test(t, resource.TestCase{ - PreCheck: func() { tcacctest.AccPreCheckCommon(t, tcacctest.ACCOUNT_TYPE_PREPAY) }, - Providers: tcacctest.AccProviders, + PreCheck: func() { + acctest.AccPreCheck(t) + }, + Providers: acctest.AccProviders, Steps: []resource.TestStep{ { - Config: testAccCvmModifyImageSharePermission, - Check: resource.ComposeTestCheckFunc( - resource.TestCheckResourceAttrSet("tencentcloud_cvm_image_share_permission.image_share_permission", "id"), - resource.TestCheckResourceAttrSet("tencentcloud_cvm_image_share_permission.image_share_permission", "image_id"), - resource.TestCheckResourceAttr("tencentcloud_cvm_image_share_permission.image_share_permission", "account_ids.#", "1"), - ), + Config: testAccCvmImageSharePermissionResource_BasicCreate, + Check: resource.ComposeTestCheckFunc(resource.TestCheckResourceAttrSet("tencentcloud_cvm_image_share_permission.image_share_permission", "id"), resource.TestCheckResourceAttrSet("tencentcloud_cvm_image_share_permission.image_share_permission", "image_id"), resource.TestCheckResourceAttr("tencentcloud_cvm_image_share_permission.image_share_permission", "account_ids.#", "1")), }, { ResourceName: "tencentcloud_cvm_image_share_permission.image_share_permission", @@ -31,9 +28,11 @@ func TestAccTencentCloudCvmModifyImageSharePermissionResource_basic(t *testing.T }) } -const testAccCvmModifyImageSharePermission = ` +const testAccCvmImageSharePermissionResource_BasicCreate = ` + resource "tencentcloud_cvm_image_share_permission" "image_share_permission" { - image_id = "img-l7uxaine" - account_ids = ["100022975249"] + image_id = "img-l7uxaine" + account_ids = [100022975249] } + ` diff --git a/tencentcloud/services/cvm/resource_tc_cvm_security_group_attachment_test.go b/tencentcloud/services/cvm/resource_tc_cvm_security_group_attachment_test.go index a24fbb6a30..68e0c4efa9 100644 --- a/tencentcloud/services/cvm/resource_tc_cvm_security_group_attachment_test.go +++ b/tencentcloud/services/cvm/resource_tc_cvm_security_group_attachment_test.go @@ -3,27 +3,21 @@ package cvm_test import ( "testing" - tcacctest "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/acctest" - "github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource" + acctest "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/acctest" ) -// go test -i; go test -test.run TestAccTencentCloudCvmSecurityGroupAttachmentResource_basic -v -func TestAccTencentCloudCvmSecurityGroupAttachmentResource_basic(t *testing.T) { +func TestAccTencentCloudCvmSecurityGroupAttachmentResource_Basic(t *testing.T) { t.Parallel() resource.Test(t, resource.TestCase{ PreCheck: func() { - tcacctest.AccPreCheck(t) + acctest.AccPreCheck(t) }, - Providers: tcacctest.AccProviders, + Providers: acctest.AccProviders, Steps: []resource.TestStep{ { - Config: testAccCvmSecurityGroupAttachment, - Check: resource.ComposeTestCheckFunc( - resource.TestCheckResourceAttrSet("tencentcloud_cvm_security_group_attachment.example", "id"), - resource.TestCheckResourceAttrSet("tencentcloud_cvm_security_group_attachment.example", "instance_id"), - resource.TestCheckResourceAttrSet("tencentcloud_cvm_security_group_attachment.example", "security_group_id"), - ), + Config: testAccCvmSecurityGroupAttachmentResource_BasicCreate, + Check: resource.ComposeTestCheckFunc(resource.TestCheckResourceAttrSet("tencentcloud_cvm_security_group_attachment.example", "id"), resource.TestCheckResourceAttrSet("tencentcloud_cvm_security_group_attachment.example", "instance_id"), resource.TestCheckResourceAttrSet("tencentcloud_cvm_security_group_attachment.example", "security_group_id")), }, { ResourceName: "tencentcloud_cvm_security_group_attachment.example", @@ -34,49 +28,58 @@ func TestAccTencentCloudCvmSecurityGroupAttachmentResource_basic(t *testing.T) { }) } -const testAccCvmSecurityGroupAttachment = ` -# create vpc +const testAccCvmSecurityGroupAttachmentResource_BasicCreate = ` + +data "tencentcloud_instance_types" "default" { + + filter { + name = "instance-family" + values = ["S1","S2","S3","S4","S5"] + } + filter { + name = "zone" + values = ["ap-guangzhou-7"] + } + cpu_core_count = 2 + memory_size = 2 + exclude_sold_out = true +} resource "tencentcloud_vpc" "vpc" { - name = "vpc" - cidr_block = "10.0.0.0/16" + name = "vpc" + cidr_block = "10.0.0.0/16" } - -# create vpc subnet resource "tencentcloud_subnet" "subnet" { - name = "subnet" - vpc_id = tencentcloud_vpc.vpc.id - availability_zone = "ap-guangzhou-6" - cidr_block = "10.0.20.0/28" - is_multicast = false + name = "subnet" + vpc_id = tencentcloud_vpc.vpc.id + availability_zone = "ap-guangzhou-6" + cidr_block = "10.0.20.0/28" + is_multicast = false } - -# create cvm resource "tencentcloud_instance" "example" { - instance_name = "tf_example" - availability_zone = "ap-guangzhou-6" - image_id = "img-9qrfy1xt" - instance_type = "SA3.MEDIUM4" - system_disk_type = "CLOUD_HSSD" - system_disk_size = 100 - hostname = "example" - project_id = 0 - vpc_id = tencentcloud_vpc.vpc.id - subnet_id = tencentcloud_subnet.subnet.id - - data_disks { - data_disk_type = "CLOUD_HSSD" - data_disk_size = 50 - encrypt = false - } - - tags = { - tagKey = "tagValue" - } + availability_zone = "ap-guangzhou-6" + hostname = "example" + project_id = 0 + vpc_id = tencentcloud_vpc.vpc.id + subnet_id = tencentcloud_subnet.subnet.id + + data_disks { + encrypt = true + data_disk_type = "CLOUD_HSSD" + data_disk_size = 50 + } + + tags = { + tagKey = "tagValue" + } + instance_name = "tf_example" + image_id = "img-9qrfy1xt" + instance_type = data.tencentcloud_instance_types.default.instance_types.0.instance_type + system_disk_type = "CLOUD_HSSD" + system_disk_size = 100 } - -# attachment security group resource "tencentcloud_cvm_security_group_attachment" "example" { - instance_id = tencentcloud_instance.example.id - security_group_id = "sg-5275dorp" + instance_id = tencentcloud_instance.example.id + security_group_id = "sg-5275dorp" } + ` diff --git a/tencentcloud/services/cvm/resource_tc_placement_group_test.go b/tencentcloud/services/cvm/resource_tc_placement_group_test.go index ed78633736..5e03825253 100644 --- a/tencentcloud/services/cvm/resource_tc_placement_group_test.go +++ b/tencentcloud/services/cvm/resource_tc_placement_group_test.go @@ -1,6 +1,7 @@ package cvm_test import ( + acctest "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/acctest" tcacctest "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/acctest" tccommon "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/common" svccvm "github.com/tencentcloudstack/terraform-provider-tencentcloud/tencentcloud/services/cvm" @@ -13,34 +14,22 @@ import ( "github.com/hashicorp/terraform-plugin-sdk/v2/terraform" ) -func TestAccTencentCloudPlacementGroup(t *testing.T) { +func TestAccTencentCloudPlacementGroupResource_Basic(t *testing.T) { t.Parallel() resource.Test(t, resource.TestCase{ - PreCheck: func() { tcacctest.AccPreCheck(t) }, - Providers: tcacctest.AccProviders, + PreCheck: func() { + acctest.AccPreCheck(t) + }, + Providers: acctest.AccProviders, CheckDestroy: testAccCheckPlacementGroupDestroy, Steps: []resource.TestStep{ { - Config: testAccPlacementGroup, - Check: resource.ComposeTestCheckFunc( - testAccCheckPlacementGroupExists("tencentcloud_placement_group.placement"), - resource.TestCheckResourceAttr("tencentcloud_placement_group.placement", "name", "tf-test-placement"), - resource.TestCheckResourceAttr("tencentcloud_placement_group.placement", "type", "HOST"), - resource.TestCheckResourceAttrSet("tencentcloud_placement_group.placement", "cvm_quota_total"), - resource.TestCheckResourceAttrSet("tencentcloud_placement_group.placement", "current_num"), - resource.TestCheckResourceAttrSet("tencentcloud_placement_group.placement", "create_time"), - ), + Config: testAccPlacementGroupResource_BasicCreate, + Check: resource.ComposeTestCheckFunc(testAccCheckPlacementGroupExists("tencentcloud_placement_group.placement"), resource.TestCheckResourceAttr("tencentcloud_placement_group.placement", "name", "tf-test-placement"), resource.TestCheckResourceAttr("tencentcloud_placement_group.placement", "type", "HOST"), resource.TestCheckResourceAttrSet("tencentcloud_placement_group.placement", "cvm_quota_total"), resource.TestCheckResourceAttrSet("tencentcloud_placement_group.placement", "current_num"), resource.TestCheckResourceAttrSet("tencentcloud_placement_group.placement", "create_time")), }, { - Config: testAccPlacementGroupUpdate, - Check: resource.ComposeTestCheckFunc( - testAccCheckPlacementGroupExists("tencentcloud_placement_group.placement"), - resource.TestCheckResourceAttr("tencentcloud_placement_group.placement", "name", "tf-test-placement1"), - resource.TestCheckResourceAttr("tencentcloud_placement_group.placement", "type", "HOST"), - resource.TestCheckResourceAttrSet("tencentcloud_placement_group.placement", "cvm_quota_total"), - resource.TestCheckResourceAttrSet("tencentcloud_placement_group.placement", "current_num"), - resource.TestCheckResourceAttrSet("tencentcloud_placement_group.placement", "create_time"), - ), + Config: testAccPlacementGroupResource_BasicChange1, + Check: resource.ComposeTestCheckFunc(testAccCheckPlacementGroupExists("tencentcloud_placement_group.placement"), resource.TestCheckResourceAttr("tencentcloud_placement_group.placement", "name", "tf-test-placement1"), resource.TestCheckResourceAttrSet("tencentcloud_placement_group.placement", "cvm_quota_total"), resource.TestCheckResourceAttrSet("tencentcloud_placement_group.placement", "current_num"), resource.TestCheckResourceAttrSet("tencentcloud_placement_group.placement", "create_time")), }, { ResourceName: "tencentcloud_placement_group.placement", @@ -51,6 +40,23 @@ func TestAccTencentCloudPlacementGroup(t *testing.T) { }) } +const testAccPlacementGroupResource_BasicCreate = ` + +resource "tencentcloud_placement_group" "placement" { + type = "HOST" + name = "tf-test-placement" +} + +` +const testAccPlacementGroupResource_BasicChange1 = ` + +resource "tencentcloud_placement_group" "placement" { + type = "HOST" + name = "tf-test-placement1" +} + +` + func testAccCheckPlacementGroupExists(n string) resource.TestCheckFunc { return func(s *terraform.State) error { logId := tccommon.GetLogId(tccommon.ContextNil) @@ -113,17 +119,3 @@ func testAccCheckPlacementGroupDestroy(s *terraform.State) error { } return nil } - -const testAccPlacementGroup = ` -resource "tencentcloud_placement_group" "placement" { - name = "tf-test-placement" - type = "HOST" -} -` - -const testAccPlacementGroupUpdate = ` -resource "tencentcloud_placement_group" "placement" { - name = "tf-test-placement1" - type = "HOST" -} -`