mirror of
https://github.com/bpg/terraform-provider-proxmox.git
synced 2025-06-30 02:31:10 +00:00
114 lines
4.6 KiB
Go
114 lines
4.6 KiB
Go
/*
|
|
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
|
*/
|
|
|
|
package tests
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/hashicorp/terraform-plugin-testing/helper/resource"
|
|
)
|
|
|
|
const accTestClusterOptionsName = "proxmox_virtual_environment_cluster_options.test_options"
|
|
|
|
func TestAccResourceClusterOptions(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
te := initTestEnvironment(t)
|
|
|
|
resource.Test(t, resource.TestCase{
|
|
ProtoV6ProviderFactories: te.accProviders,
|
|
Steps: []resource.TestStep{
|
|
// Create and Read testing
|
|
{
|
|
Config: testAccResourceClusterOptionsCreatedConfig(),
|
|
Check: testAccResourceClusterOptionsCreatedCheck(),
|
|
},
|
|
// ImportState testing
|
|
{
|
|
ResourceName: accTestClusterOptionsName,
|
|
ImportState: true,
|
|
ImportStateVerify: true,
|
|
},
|
|
// Update testing
|
|
{
|
|
Config: testAccResourceClusterOptionsUpdatedConfig(),
|
|
Check: testAccResourceClusterOptionsUpdatedCheck(),
|
|
},
|
|
},
|
|
})
|
|
}
|
|
|
|
func testAccResourceClusterOptionsCreatedConfig() string {
|
|
return `
|
|
resource "proxmox_virtual_environment_cluster_options" "test_options" {
|
|
bandwidth_limit_default = 666666
|
|
bandwidth_limit_migration = 555554
|
|
crs_ha = "static"
|
|
email_from = "example@example.com"
|
|
ha_shutdown_policy = "freeze"
|
|
http_proxy = "http://example.com"
|
|
keyboard = "pl"
|
|
language = "en"
|
|
max_workers = 5
|
|
migration_cidr = "10.0.0.0/8"
|
|
migration_type = "secure"
|
|
bandwidth_limit_restore = 777777
|
|
}
|
|
`
|
|
}
|
|
|
|
func testAccResourceClusterOptionsCreatedCheck() resource.TestCheckFunc {
|
|
return resource.ComposeTestCheckFunc(
|
|
resource.TestCheckResourceAttr(accTestClusterOptionsName, "bandwidth_limit_default", "666666"),
|
|
resource.TestCheckResourceAttr(accTestClusterOptionsName, "bandwidth_limit_migration", "555554"),
|
|
resource.TestCheckResourceAttr(accTestClusterOptionsName, "bandwidth_limit_restore", "777777"),
|
|
resource.TestCheckResourceAttr(accTestClusterOptionsName, "crs_ha", "static"),
|
|
resource.TestCheckResourceAttr(accTestClusterOptionsName, "email_from", "example@example.com"),
|
|
resource.TestCheckResourceAttr(accTestClusterOptionsName, "ha_shutdown_policy", "freeze"),
|
|
resource.TestCheckResourceAttr(accTestClusterOptionsName, "http_proxy", "http://example.com"),
|
|
resource.TestCheckResourceAttr(accTestClusterOptionsName, "id", "cluster"),
|
|
resource.TestCheckResourceAttr(accTestClusterOptionsName, "keyboard", "pl"),
|
|
resource.TestCheckResourceAttr(accTestClusterOptionsName, "language", "en"),
|
|
resource.TestCheckResourceAttr(accTestClusterOptionsName, "max_workers", "5"),
|
|
resource.TestCheckResourceAttr(accTestClusterOptionsName, "migration_cidr", "10.0.0.0/8"),
|
|
resource.TestCheckResourceAttr(accTestClusterOptionsName, "migration_type", "secure"),
|
|
resource.TestCheckNoResourceAttr(accTestClusterOptionsName, "bandwidth_limit_move"),
|
|
)
|
|
}
|
|
|
|
func testAccResourceClusterOptionsUpdatedConfig() string {
|
|
return `
|
|
resource "proxmox_virtual_environment_cluster_options" "test_options" {
|
|
bandwidth_limit_default = 333333
|
|
bandwidth_limit_migration = 111111
|
|
email_from = "ged@gont.earthsea"
|
|
language = "en"
|
|
max_workers = 6
|
|
migration_cidr = "10.0.0.1/8"
|
|
migration_type = "secure"
|
|
}
|
|
`
|
|
}
|
|
|
|
func testAccResourceClusterOptionsUpdatedCheck() resource.TestCheckFunc {
|
|
return resource.ComposeTestCheckFunc(
|
|
resource.TestCheckResourceAttr(accTestClusterOptionsName, "bandwidth_limit_default", "333333"),
|
|
resource.TestCheckResourceAttr(accTestClusterOptionsName, "bandwidth_limit_migration", "111111"),
|
|
resource.TestCheckResourceAttr(accTestClusterOptionsName, "email_from", "ged@gont.earthsea"),
|
|
resource.TestCheckResourceAttr(accTestClusterOptionsName, "id", "cluster"),
|
|
resource.TestCheckResourceAttr(accTestClusterOptionsName, "language", "en"),
|
|
resource.TestCheckResourceAttr(accTestClusterOptionsName, "max_workers", "6"),
|
|
resource.TestCheckResourceAttr(accTestClusterOptionsName, "migration_cidr", "10.0.0.1/8"),
|
|
resource.TestCheckResourceAttr(accTestClusterOptionsName, "migration_type", "secure"),
|
|
resource.TestCheckNoResourceAttr(accTestClusterOptionsName, "bandwidth_limit_move"),
|
|
resource.TestCheckNoResourceAttr(accTestClusterOptionsName, "crs_ha"),
|
|
resource.TestCheckNoResourceAttr(accTestClusterOptionsName, "ha_shutdown_policy"),
|
|
resource.TestCheckNoResourceAttr(accTestClusterOptionsName, "http_proxy"),
|
|
resource.TestCheckNoResourceAttr(accTestClusterOptionsName, "keyboard"),
|
|
)
|
|
}
|