From 5d8adb71bb262d64c71a154d48f5e9bfd0b44f1b Mon Sep 17 00:00:00 2001 From: sam Date: Fri, 17 Jan 2025 10:57:05 +0000 Subject: [PATCH] Add additional datastore import test Make sure the user gets a helpful error if they only provide a single ID when running import. ``` $ terraform import hpegl_pc_datastore.my_datastore badID Error: import has invalid datastore id format Provided import ID "badID" is invalid. Format must be ",". For example: f8d3e2fd-a0e0-41a3-83b3-a8f92b21a9f3,e8beff7c-6fc8-42f4-bb9f-8e2935d69918 ``` --- test/datastore/datastore_test.go | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/test/datastore/datastore_test.go b/test/datastore/datastore_test.go index e8b7f73..5fe5216 100644 --- a/test/datastore/datastore_test.go +++ b/test/datastore/datastore_test.go @@ -237,6 +237,37 @@ func TestAccDatastoreResourceMissingClusterId(t *testing.T) { }) } +func TestAccDatastoreImportBadId(t *testing.T) { + config := providerConfig + ` + resource "hpegl_pc_datastore" "test" { + name = "mclaren-ds19" + hci_cluster_uuid = "126fd201-9e6e-5e31-9ffb-a766265b1fd3" + datastore_type = "VVOL" + capacity_in_bytes = 17179869184 + cluster_info = { + "name": "5305-CL" + } + } + ` + + expected := `import has invalid datastore id format(.|\n)*698de955-87b5-5fe6-b683-78c3948beede` + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: testAccProtoV6ProviderFactories, + Steps: []resource.TestStep{ + { + // Import + ExpectError: regexp.MustCompile(expected), + Config: config, + ImportState: true, + ResourceName: "hpegl_pc_datastore.test", + // Invalid id (not ",") + ImportStateId: "698de955-87b5-5fe6-b683-78c3948beede", + ImportStatePersist: true, + }, + }, + }) +} + func TestAccDatastoreResourceMissingName(t *testing.T) { config := providerConfig + ` resource "hpegl_pc_datastore" "test" {