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_plugin_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

64 lines
1.7 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 TestAccDatasourceACMEPlugin(t *testing.T) {
t.Parallel()
te := test.InitEnvironment(t)
pluginName := fmt.Sprintf("test-ds-plugin-%s", gofakeit.Word())
te.AddTemplateVars(map[string]interface{}{
"PluginName": pluginName,
})
resource.Test(t, resource.TestCase{
ProtoV6ProviderFactories: te.AccProviders,
Steps: []resource.TestStep{
{
Config: te.RenderConfig(`
resource "proxmox_virtual_environment_acme_dns_plugin" "test_plugin" {
plugin = "{{.PluginName}}"
api = "cf"
data = {
"CF_API_EMAIL" = "le.ge9ro@passmail.net"
"CF_API_KEY" = "test-api-key"
}
}
data "proxmox_virtual_environment_acme_plugin" "test" {
depends_on = [proxmox_virtual_environment_acme_dns_plugin.test_plugin]
plugin = "{{.PluginName}}"
}
`),
Check: resource.ComposeTestCheckFunc(
test.ResourceAttributes("data.proxmox_virtual_environment_acme_plugin.test", map[string]string{
"plugin": pluginName,
}),
test.ResourceAttributesSet("data.proxmox_virtual_environment_acme_plugin.test", []string{
"api",
"digest",
"validation_delay",
}),
resource.TestCheckResourceAttrSet("data.proxmox_virtual_environment_acme_plugin.test", "data.%"),
),
},
},
})
}