From 2bb7dc83587b85873b948a4cc2d80b04c6fc2669 Mon Sep 17 00:00:00 2001 From: SpiffyEight77 Date: Thu, 14 Nov 2024 23:29:03 +0900 Subject: [PATCH] test: Add source_file as new argument Signed-off-by: SpiffyEight77 --- .../storage/resource_storage_volume_test.go | 48 +++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/internal/storage/resource_storage_volume_test.go b/internal/storage/resource_storage_volume_test.go index 8925181..5f91b9b 100644 --- a/internal/storage/resource_storage_volume_test.go +++ b/internal/storage/resource_storage_volume_test.go @@ -237,6 +237,38 @@ func TestAccStorageVolume_sourceVolume(t *testing.T) { }) } +func TestAccStorageVolume_sourceFile(t *testing.T) { + t.Skip("Skipping source file test as it requires a valid backup/ISO file") + + poolName := petname.Generate(2, "-") + volumeName := petname.Generate(2, "-") + + resource.Test(t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(t) }, + ProtoV6ProviderFactories: acctest.ProtoV6ProviderFactories, + Steps: []resource.TestStep{ + { + Config: testAccStorageVolume_sourceFile(poolName, volumeName), + Check: resource.ComposeTestCheckFunc( + resource.TestCheckResourceAttr("incus_storage_pool.pool1", "name", poolName), + resource.TestCheckResourceAttr("incus_storage_pool.pool1", "driver", "lvm"), + resource.TestCheckResourceAttr("incus_storage_volume.volume1", "name", volumeName), + resource.TestCheckResourceAttr("incus_storage_volume.volume1", "pool", poolName), + resource.TestCheckResourceAttr("incus_storage_volume.volume1", "source_file", "/path/to/volume.backup"), + ), + }, + { + Config: testAccStorageVolume_sourceFile(poolName, volumeName), + ConfigPlanChecks: resource.ConfigPlanChecks{ + PreApply: []plancheck.PlanCheck{ + plancheck.ExpectEmptyPlan(), + }, + }, + }, + }, + }) +} + func testAccStorageVolume_basic(poolName, volumeName string) string { return fmt.Sprintf(` resource "incus_storage_pool" "pool1" { @@ -369,3 +401,19 @@ resource "incus_storage_volume" "volume1_copy" { `, poolName, volumeName) } + +func testAccStorageVolume_sourceFile(poolName, volumeName string) string { + return fmt.Sprintf(` +resource "incus_storage_pool" "pool1" { + name = "%[1]s" + driver = "lvm" +} + +resource "incus_storage_volume" "volume1" { + name = "%[2]s" + pool = incus_storage_pool.pool1.name + source_file = "/path/to/volume.backup" +} +`, + poolName, volumeName) +}