0
0
mirror of https://github.com/bpg/terraform-provider-proxmox.git synced 2025-08-22 19:38:35 +00:00
terraform-provider-proxmox/fwprovider/cluster/acme/datasource_acme_plugins_test.go
Pavel Boldyrev 3f5b795a84
fix(acme): fix ACME account management & add acceptance tests (#2072)
Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
2025-07-31 22:06:07 -04:00

97 lines
2.5 KiB
Go

//go:build acceptance || all
/*
* 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 acme_test
import (
"fmt"
"testing"
"github.com/brianvoe/gofakeit/v7"
"github.com/hashicorp/terraform-plugin-testing/helper/resource"
"github.com/bpg/terraform-provider-proxmox/fwprovider/test"
)
func TestAccDatasourceACMEPlugins(t *testing.T) {
t.Parallel()
te := test.InitEnvironment(t)
pluginName1 := fmt.Sprintf("test-ds-plugins1-%s", gofakeit.Word())
pluginName2 := fmt.Sprintf("test-ds-plugins2-%s", gofakeit.Word())
te.AddTemplateVars(map[string]interface{}{
"PluginName1": pluginName1,
"PluginName2": pluginName2,
})
// First create some plugins to test against
resource.Test(t, resource.TestCase{
ProtoV6ProviderFactories: te.AccProviders,
Steps: []resource.TestStep{
{
Config: te.RenderConfig(`
resource "proxmox_virtual_environment_acme_dns_plugin" "test_plugin1" {
plugin = "{{.PluginName1}}"
api = "cf"
data = {
"CF_API_EMAIL" = "test1@example.com"
"CF_API_KEY" = "test-api-key-1"
}
}
resource "proxmox_virtual_environment_acme_dns_plugin" "test_plugin2" {
plugin = "{{.PluginName2}}"
api = "cf"
data = {
"CF_API_EMAIL" = "test2@example.com"
"CF_API_KEY" = "test-api-key-2"
}
}
`),
},
},
})
resource.Test(t, resource.TestCase{
ProtoV6ProviderFactories: te.AccProviders,
Steps: []resource.TestStep{
{
Config: te.RenderConfig(`
resource "proxmox_virtual_environment_acme_dns_plugin" "test_plugin1" {
plugin = "{{.PluginName1}}"
api = "cf"
data = {
"CF_API_EMAIL" = "le.ge9ro@passmail.net"
"CF_API_KEY" = "test-api-key-1"
}
}
resource "proxmox_virtual_environment_acme_dns_plugin" "test_plugin2" {
plugin = "{{.PluginName2}}"
api = "cf"
data = {
"CF_API_EMAIL" = "le.ge9ro@passmail.net"
"CF_API_KEY" = "test-api-key-2"
}
}
data "proxmox_virtual_environment_acme_plugins" "test" {
depends_on = [
proxmox_virtual_environment_acme_dns_plugin.test_plugin1,
proxmox_virtual_environment_acme_dns_plugin.test_plugin2
]
}
`),
Check: resource.ComposeTestCheckFunc(
resource.TestCheckResourceAttrSet("data.proxmox_virtual_environment_acme_plugins.test", "plugins.#"),
),
},
},
})
}