Files
terraform-provider-unifi/internal/provider/acctest/resource_setting_teleport_test.go
Mateusz Filipowicz 7856ec4764 feat: add Teleport support with unifi_setting_teleport resource (#39)
* feat: add Telepor support with `unifi_setting_teleport` resource

* add cidr validators

* fix teleport tests by specifying version constraints

* fix teleport version needed

* require version 7.1

* lint
2025-03-03 21:08:50 +01:00

66 lines
2.2 KiB
Go

package acctest
import (
"fmt"
pt "github.com/filipowm/terraform-provider-unifi/internal/provider/testing"
"github.com/hashicorp/terraform-plugin-testing/helper/resource"
"github.com/hashicorp/terraform-plugin-testing/plancheck"
"sync"
"testing"
)
var settingTeleportLock = &sync.Mutex{}
func TestAccSettingTeleport(t *testing.T) {
AcceptanceTest(t, AcceptanceTestCase{
VersionConstraint: ">= 7.1",
Lock: settingTeleportLock,
Steps: []resource.TestStep{
{
Config: testAccSettingTeleportConfig(true, ""),
Check: resource.ComposeTestCheckFunc(
resource.TestCheckResourceAttrSet("unifi_setting_teleport.test", "id"),
resource.TestCheckResourceAttr("unifi_setting_teleport.test", "site", "default"),
resource.TestCheckResourceAttr("unifi_setting_teleport.test", "enabled", "true"),
resource.TestCheckResourceAttr("unifi_setting_teleport.test", "subnet", ""),
),
ConfigPlanChecks: pt.CheckResourceActions("unifi_setting_teleport.test", plancheck.ResourceActionCreate),
},
pt.ImportStepWithSite("unifi_setting_teleport.test"),
{
Config: testAccSettingTeleportConfig(true, "192.168.100.0/24"),
Check: resource.ComposeTestCheckFunc(
resource.TestCheckResourceAttr("unifi_setting_teleport.test", "enabled", "true"),
resource.TestCheckResourceAttr("unifi_setting_teleport.test", "subnet", "192.168.100.0/24"),
),
ConfigPlanChecks: pt.CheckResourceActions("unifi_setting_teleport.test", plancheck.ResourceActionUpdate),
},
{
Config: testAccSettingTeleportConfigWithoutSubnet(false),
Check: resource.ComposeTestCheckFunc(
resource.TestCheckResourceAttr("unifi_setting_teleport.test", "enabled", "false"),
resource.TestCheckResourceAttr("unifi_setting_teleport.test", "subnet", ""),
),
ConfigPlanChecks: pt.CheckResourceActions("unifi_setting_teleport.test", plancheck.ResourceActionUpdate),
},
},
})
}
func testAccSettingTeleportConfig(enabled bool, subnetCidr string) string {
return fmt.Sprintf(`
resource "unifi_setting_teleport" "test" {
enabled = %t
subnet = %q
}
`, enabled, subnetCidr)
}
func testAccSettingTeleportConfigWithoutSubnet(enabled bool) string {
return fmt.Sprintf(`
resource "unifi_setting_teleport" "test" {
enabled = %t
}
`, enabled)
}