Files
terraform-provider-unifi/internal/provider/acctest/resource_portal_file_test.go
Mateusz Filipowicz a133383b43 feat: support customizing guest portal logo and background with unifi_portal_file and unifi_setting_guest_access resources (#74)
* feat: support customizing guest portal logo and background with `unifi_portal_file` and `unifi_setting_guest_access` resources

* ci: run acceptance tests on go.mod changes

* f
2025-03-22 17:31:30 +01:00

62 lines
2.2 KiB
Go

package acctest
import (
"context"
"fmt"
pt "github.com/filipowm/terraform-provider-unifi/internal/provider/testing"
"github.com/hashicorp/terraform-plugin-testing/plancheck"
"path/filepath"
"testing"
"github.com/hashicorp/terraform-plugin-testing/helper/resource"
"github.com/hashicorp/terraform-plugin-testing/terraform"
)
func TestAccPortalFile_basic(t *testing.T) {
AcceptanceTest(t, AcceptanceTestCase{
CheckDestroy: testAccCheckPortalFileDestroy,
Steps: []resource.TestStep{
{
Config: testAccPortalFileConfig("files/testfile.png"),
Check: resource.ComposeTestCheckFunc(
resource.TestCheckResourceAttr("unifi_portal_file.test", "site", "default"),
resource.TestCheckResourceAttrSet("unifi_portal_file.test", "filename"),
resource.TestCheckResourceAttrSet("unifi_portal_file.test", "content_type"),
resource.TestCheckResourceAttrSet("unifi_portal_file.test", "file_size"),
resource.TestCheckResourceAttrSet("unifi_portal_file.test", "md5"),
resource.TestCheckResourceAttrSet("unifi_portal_file.test", "url"),
),
ConfigPlanChecks: pt.CheckResourceActions("unifi_portal_file.test", plancheck.ResourceActionCreate),
},
{
Config: testAccPortalFileConfig("files/testfile2.jpg"),
Check: resource.ComposeTestCheckFunc(
resource.TestCheckResourceAttr("unifi_portal_file.test", "site", "default"),
resource.TestCheckResourceAttrSet("unifi_portal_file.test", "filename"),
resource.TestCheckResourceAttrSet("unifi_portal_file.test", "content_type"),
resource.TestCheckResourceAttrSet("unifi_portal_file.test", "file_size"),
resource.TestCheckResourceAttrSet("unifi_portal_file.test", "md5"),
resource.TestCheckResourceAttrSet("unifi_portal_file.test", "url"),
),
ConfigPlanChecks: pt.CheckResourceActions("unifi_portal_file.test", plancheck.ResourceActionReplace),
},
},
})
}
func testAccCheckPortalFileDestroy(s *terraform.State) error {
return pt.CheckDestroy("unifi_portal_file", func(ctx context.Context, site, id string) error {
_, err := testClient.GetPortalFile(ctx, site, id)
return err
})(s)
}
func testAccPortalFileConfig(filePath string) string {
return fmt.Sprintf(`
resource "unifi_portal_file" "test" {
file_path = %q
}
`, filepath.ToSlash(filePath))
}