Skip to content

feat(cvm): [117301871]update cvm e2e test #2661

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
May 31, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,13 @@ func TestAccTencentCloudCvmChcDeniedActionsDataSource_basic(t *testing.T) {
Steps: []resource.TestStep{
{
Config: testAccCvmChcDeniedActionsDataSource,
Check: resource.ComposeTestCheckFunc(tcacctest.AccCheckTencentCloudDataSourceID("data.tencentcloud_cvm_chc_denied_actions.chc_denied_actions")),
Check: resource.ComposeTestCheckFunc(
tcacctest.AccCheckTencentCloudDataSourceID("data.tencentcloud_cvm_chc_denied_actions.chc_denied_actions"),
resource.TestCheckResourceAttr("data.tencentcloud_cvm_chc_denied_actions.chc_denied_actions", "chc_host_denied_action_set.#", "1"),
resource.TestCheckResourceAttrSet("data.tencentcloud_cvm_chc_denied_actions.chc_denied_actions", "chc_host_denied_action_set.0.chc_id"),
resource.TestCheckResourceAttrSet("data.tencentcloud_cvm_chc_denied_actions.chc_denied_actions", "chc_host_denied_action_set.0.state"),
resource.TestCheckResourceAttrSet("data.tencentcloud_cvm_chc_denied_actions.chc_denied_actions", "chc_host_denied_action_set.0.deny_actions.#"),
),
},
},
})
Expand All @@ -27,6 +33,6 @@ func TestAccTencentCloudCvmChcDeniedActionsDataSource_basic(t *testing.T) {
const testAccCvmChcDeniedActionsDataSource = `

data "tencentcloud_cvm_chc_denied_actions" "chc_denied_actions" {
chc_ids = ["chc-0brmw3wl"]
chc_ids = ["chc-mn3l1qf5"]
}
`
47 changes: 43 additions & 4 deletions tencentcloud/services/cvm/data_source_tc_cvm_chc_hosts_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,19 +18,58 @@ func TestAccTencentCloudCvmChcHostsDataSource_basic(t *testing.T) {
Steps: []resource.TestStep{
{
Config: testAccCvmChcHostsDataSource,
Check: resource.ComposeTestCheckFunc(tcacctest.AccCheckTencentCloudDataSourceID("data.tencentcloud_cvm_chc_hosts.chc_hosts")),
Check: resource.ComposeTestCheckFunc(
tcacctest.AccCheckTencentCloudDataSourceID("data.tencentcloud_cvm_chc_hosts.chc_hosts"),
resource.TestCheckResourceAttr("data.tencentcloud_cvm_chc_hosts.chc_hosts", "chc_host_set.#", "1"),
resource.TestCheckResourceAttrSet("data.tencentcloud_cvm_chc_hosts.chc_hosts", "chc_host_set.0.chc_id"),
resource.TestCheckResourceAttrSet("data.tencentcloud_cvm_chc_hosts.chc_hosts", "chc_host_set.0.instance_name"),
resource.TestCheckResourceAttrSet("data.tencentcloud_cvm_chc_hosts.chc_hosts", "chc_host_set.0.serial_number"),
resource.TestCheckResourceAttrSet("data.tencentcloud_cvm_chc_hosts.chc_hosts", "chc_host_set.0.instance_state"),
resource.TestCheckResourceAttrSet("data.tencentcloud_cvm_chc_hosts.chc_hosts", "chc_host_set.0.device_type"),
resource.TestCheckResourceAttr("data.tencentcloud_cvm_chc_hosts.chc_hosts", "chc_host_set.0.placement.#", "1"),
resource.TestCheckResourceAttrSet("data.tencentcloud_cvm_chc_hosts.chc_hosts", "chc_host_set.0.placement.0.zone"),
resource.TestCheckResourceAttrSet("data.tencentcloud_cvm_chc_hosts.chc_hosts", "chc_host_set.0.placement.0.project_id"),
resource.TestCheckResourceAttr("data.tencentcloud_cvm_chc_hosts.chc_hosts", "chc_host_set.0.placement.0.host_ids.#", "0"),
resource.TestCheckResourceAttr("data.tencentcloud_cvm_chc_hosts.chc_hosts", "chc_host_set.0.placement.0.host_ips.#", "0"),
//resource.TestCheckResourceAttrSet("data.tencentcloud_cvm_chc_hosts.chc_hosts", "chc_host_set.0.placement.0.host_id"),
resource.TestCheckResourceAttr("data.tencentcloud_cvm_chc_hosts.chc_hosts", "chc_host_set.0.bmc_virtual_private_cloud.#", "1"),
resource.TestCheckResourceAttrSet("data.tencentcloud_cvm_chc_hosts.chc_hosts", "chc_host_set.0.bmc_virtual_private_cloud.0.vpc_id"),
resource.TestCheckResourceAttrSet("data.tencentcloud_cvm_chc_hosts.chc_hosts", "chc_host_set.0.bmc_virtual_private_cloud.0.subnet_id"),
resource.TestCheckResourceAttrSet("data.tencentcloud_cvm_chc_hosts.chc_hosts", "chc_host_set.0.bmc_virtual_private_cloud.0.as_vpc_gateway"),
resource.TestCheckResourceAttr("data.tencentcloud_cvm_chc_hosts.chc_hosts", "chc_host_set.0.bmc_virtual_private_cloud.0.private_ip_addresses.#", "0"),
//resource.TestCheckResourceAttrSet("data.tencentcloud_cvm_chc_hosts.chc_hosts", "chbmc_security_group_idsc_host_set.0.bmc_virtual_private_cloud.0.ipv6_address_count"),
resource.TestCheckResourceAttrSet("data.tencentcloud_cvm_chc_hosts.chc_hosts", "chc_host_set.0.bmc_ip"),
resource.TestCheckResourceAttr("data.tencentcloud_cvm_chc_hosts.chc_hosts", "chc_host_set.0.bmc_security_group_ids.#", "1"),
resource.TestCheckResourceAttr("data.tencentcloud_cvm_chc_hosts.chc_hosts", "chc_host_set.0.deploy_virtual_private_cloud.#", "1"),
resource.TestCheckResourceAttrSet("data.tencentcloud_cvm_chc_hosts.chc_hosts", "chc_host_set.0.deploy_virtual_private_cloud.0.vpc_id"),
resource.TestCheckResourceAttrSet("data.tencentcloud_cvm_chc_hosts.chc_hosts", "chc_host_set.0.deploy_virtual_private_cloud.0.subnet_id"),
resource.TestCheckResourceAttrSet("data.tencentcloud_cvm_chc_hosts.chc_hosts", "chc_host_set.0.deploy_virtual_private_cloud.0.as_vpc_gateway"),
resource.TestCheckResourceAttr("data.tencentcloud_cvm_chc_hosts.chc_hosts", "chc_host_set.0.deploy_virtual_private_cloud.0.private_ip_addresses.#", "0"),
resource.TestCheckResourceAttrSet("data.tencentcloud_cvm_chc_hosts.chc_hosts", "chc_host_set.0.deploy_virtual_private_cloud.0.ipv6_address_count"),
resource.TestCheckResourceAttrSet("data.tencentcloud_cvm_chc_hosts.chc_hosts", "chc_host_set.0.deploy_ip"),
resource.TestCheckResourceAttr("data.tencentcloud_cvm_chc_hosts.chc_hosts", "chc_host_set.0.deploy_security_group_ids.#", "1"),
//resource.TestCheckResourceAttrSet("data.tencentcloud_cvm_chc_hosts.chc_hosts", "chc_host_set.0.cvm_instance_id"),
resource.TestCheckResourceAttrSet("data.tencentcloud_cvm_chc_hosts.chc_hosts", "chc_host_set.0.created_time"),
resource.TestCheckResourceAttrSet("data.tencentcloud_cvm_chc_hosts.chc_hosts", "chc_host_set.0.hardware_description"),
resource.TestCheckResourceAttrSet("data.tencentcloud_cvm_chc_hosts.chc_hosts", "chc_host_set.0.cpu"),
resource.TestCheckResourceAttrSet("data.tencentcloud_cvm_chc_hosts.chc_hosts", "chc_host_set.0.memory"),
resource.TestCheckResourceAttrSet("data.tencentcloud_cvm_chc_hosts.chc_hosts", "chc_host_set.0.disk"),
resource.TestCheckResourceAttrSet("data.tencentcloud_cvm_chc_hosts.chc_hosts", "chc_host_set.0.bmc_mac"),
resource.TestCheckResourceAttrSet("data.tencentcloud_cvm_chc_hosts.chc_hosts", "chc_host_set.0.deploy_mac"),
resource.TestCheckResourceAttrSet("data.tencentcloud_cvm_chc_hosts.chc_hosts", "chc_host_set.0.tenant_type"),
),
},
},
})
}

const testAccCvmChcHostsDataSource = `
const testAccCvmChcHostsDataSource = testAccCvmChcConfig + `

data "tencentcloud_cvm_chc_hosts" "chc_hosts" {
chc_ids = ["chc-0brmw3wl"]
chc_ids = [tencentcloud_cvm_chc_config.chc_config.chc_id]
filters {
name = "zone"
values = ["ap-guangzhou-7"]
values = [var.availability_zone]
}
}
`
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,14 @@ func TestAccTencentCloudCvmDisasterRecoverGroupQuotaDataSource_basic(t *testing.
Steps: []resource.TestStep{
{
Config: testAccCvmDisasterRecoverGroupQuotaDataSource,
Check: resource.ComposeTestCheckFunc(tcacctest.AccCheckTencentCloudDataSourceID("data.tencentcloud_cvm_disaster_recover_group_quota.disaster_recover_group_quota")),
Check: resource.ComposeTestCheckFunc(
tcacctest.AccCheckTencentCloudDataSourceID("data.tencentcloud_cvm_disaster_recover_group_quota.disaster_recover_group_quota"),
resource.TestCheckResourceAttr("data.tencentcloud_cvm_disaster_recover_group_quota.disaster_recover_group_quota", "group_quota", "1000"),
resource.TestCheckResourceAttrSet("data.tencentcloud_cvm_disaster_recover_group_quota.disaster_recover_group_quota", "current_num"),
resource.TestCheckResourceAttr("data.tencentcloud_cvm_disaster_recover_group_quota.disaster_recover_group_quota", "cvm_in_host_group_quota", "50"),
resource.TestCheckResourceAttr("data.tencentcloud_cvm_disaster_recover_group_quota.disaster_recover_group_quota", "cvm_in_sw_group_quota", "20"),
resource.TestCheckResourceAttr("data.tencentcloud_cvm_disaster_recover_group_quota.disaster_recover_group_quota", "cvm_in_rack_group_quota", "30"),
),
},
},
})
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,10 @@ func TestAccTencentCloudCvmImageQuotaDataSource_basic(t *testing.T) {
Steps: []resource.TestStep{
{
Config: testAccCvmImageQuotaDataSource,
Check: resource.ComposeTestCheckFunc(tcacctest.AccCheckTencentCloudDataSourceID("data.tencentcloud_cvm_image_quota.image_quota")),
Check: resource.ComposeTestCheckFunc(
tcacctest.AccCheckTencentCloudDataSourceID("data.tencentcloud_cvm_image_quota.image_quota"),
resource.TestCheckResourceAttr("data.tencentcloud_cvm_image_quota.image_quota", "image_num_quota", "500"),
),
},
},
})
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,15 +16,21 @@ func TestAccTencentCloudCvmImageSharePermissionDataSource_basic(t *testing.T) {
Steps: []resource.TestStep{
{
Config: testAccCvmImageSharePermissionDataSource,
Check: resource.ComposeTestCheckFunc(tcacctest.AccCheckTencentCloudDataSourceID("data.tencentcloud_cvm_image_share_permission.image_share_permission")),
Check: resource.ComposeTestCheckFunc(
tcacctest.AccCheckTencentCloudDataSourceID("data.tencentcloud_cvm_image_share_permission.image_share_permission"),
resource.TestCheckResourceAttr("data.tencentcloud_cvm_image_share_permission.image_share_permission", "image_id", "img-l7uxaine"),
resource.TestCheckResourceAttr("data.tencentcloud_cvm_image_share_permission.image_share_permission", "share_permission_set.#", "1"),
resource.TestCheckResourceAttrSet("data.tencentcloud_cvm_image_share_permission.image_share_permission", "share_permission_set.0.created_time"),
resource.TestCheckResourceAttr("data.tencentcloud_cvm_image_share_permission.image_share_permission", "share_permission_set.0.account_id", "100022975249"),
),
},
},
})
}

const testAccCvmImageSharePermissionDataSource = `
const testAccCvmImageSharePermissionDataSource = testAccCvmModifyImageSharePermission + `

data "tencentcloud_cvm_image_share_permission" "image_share_permission" {
image_id = "img-k4h0m5la"
image_id = tencentcloud_cvm_image_share_permission.image_share_permission.image_id
}
`
158 changes: 124 additions & 34 deletions tencentcloud/services/cvm/resource_tc_cvm_chc_config_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,62 +20,152 @@ func TestAccTencentCloudCvmChcConfigResource_basic(t *testing.T) {
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: testAccCvmChcConfig_update,
Check: resource.ComposeTestCheckFunc(
resource.TestCheckResourceAttrSet("tencentcloud_cvm_chc_config.chc_config", "id"),
resource.TestCheckResourceAttr("tencentcloud_cvm_chc_config.chc_config", "instance_name", "test_update"),
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"),
),
},
{
ResourceName: "tencentcloud_cvm_chc_config.chc_config",
ImportState: true,
ImportStateVerify: true,
ImportStateVerify: false,
ImportStateVerifyIgnore: []string{"bmc_user", "password"},
},
},
})
}

const testAccCvmChcConfig = `
const testAccCvmChcConfigBasis = `
variable "availability_zone" {
default = "ap-guangzhou-7"
}

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"
]
}

variable "default_img_id" {
default = "img-2lr9q49h"
}

resource "tencentcloud_vpc" "vpc" {
name = "tf-cvm-vpc"
cidr_block = var.vpc_cidr
}

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
}

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
}

data "tencentcloud_security_groups" "security_groups1" {
name = "keep-tke"
}

data "tencentcloud_security_groups" "security_groups2" {
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
}
`

const testAccCvmChcConfig = testAccCvmChcConfigBasis + `
resource "tencentcloud_cvm_chc_config" "chc_config" {
chc_id = "chc-0brmw3wl"
instance_name = "test"
bmc_user = "admin"
password = "123"
bmc_virtual_private_cloud {
vpc_id = "vpc-4owdpnwr"
subnet_id = "subnet-j56j1u5u"
}
bmc_security_group_ids = ["sg-ijato2x1"]

deploy_virtual_private_cloud {
vpc_id = "vpc-4owdpnwr"
subnet_id = "subnet-j56j1u5u"
}
deploy_security_group_ids = ["sg-ijato2x1"]
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]
}
`

const testAccCvmChcConfig_update = `
const testAccCvmChcConfig_update = testAccCvmChcConfigBasis + `
resource "tencentcloud_cvm_chc_config" "chc_config" {
chc_id = "chc-0brmw3wl"
instance_name = "test_update"
bmc_user = "admin"
password = "123123"
bmc_virtual_private_cloud {
vpc_id = "vpc-4owdpnwr"
subnet_id = "subnet-j56j1u5u"
}
bmc_security_group_ids = ["sg-ijato2x1"]

deploy_virtual_private_cloud {
vpc_id = "vpc-4owdpnwr"
subnet_id = "subnet-j56j1u5u"
}
deploy_security_group_ids = ["sg-ijato2x1"]
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]
}
`
37 changes: 31 additions & 6 deletions tencentcloud/services/cvm/resource_tc_cvm_export_images_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,16 +16,41 @@ func TestAccTencentCloudCvmExportImagesResource_basic(t *testing.T) {
Steps: []resource.TestStep{
{
Config: testAccCvmExportImages,
Check: resource.ComposeTestCheckFunc(resource.TestCheckResourceAttrSet("tencentcloud_cvm_export_images.export_images", "id")),
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"),
),
},
},
})
}

const testAccCvmExportImages = `
const testAccCvmExportImagesBasis = `
data "tencentcloud_user_info" "info" {}

locals {
app_id = data.tencentcloud_user_info.info.app_id
}

resource "tencentcloud_cos_bucket" "private_sbucket" {
bucket = "tf-private-bucket-${local.app_id}"
acl = "private"
force_clean = true
}
`

const testAccCvmExportImages = testAccCvmExportImagesBasis + `
resource "tencentcloud_cvm_export_images" "export_images" {
bucket_name = "keep-export-image-1308726196"
image_id = "img-e4l9lc5o"
file_name_prefix = "test-"
}
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
}
`
Loading
Loading