From f03e5252c3c39c3cc37155522278b9578fd24055 Mon Sep 17 00:00:00 2001 From: Andrew Starr-Bochicchio Date: Fri, 10 May 2019 15:55:41 -0400 Subject: [PATCH] Simplify Spaces bucket importing and test error case when importing non-existent resource. --- .../import_digitalocean_spaces_bucket_test.go | 11 ++++++++++- digitalocean/resource_digitalocean_spaces_bucket.go | 10 +--------- .../resource_digitalocean_spaces_bucket_test.go | 3 ++- 3 files changed, 13 insertions(+), 11 deletions(-) diff --git a/digitalocean/import_digitalocean_spaces_bucket_test.go b/digitalocean/import_digitalocean_spaces_bucket_test.go index 759e2332..44ea7783 100644 --- a/digitalocean/import_digitalocean_spaces_bucket_test.go +++ b/digitalocean/import_digitalocean_spaces_bucket_test.go @@ -2,6 +2,7 @@ package digitalocean import ( "fmt" + "regexp" "testing" "github.com/hashicorp/terraform/helper/acctest" @@ -25,9 +26,17 @@ func TestAccDigitalOceanBucket_importBasic(t *testing.T) { ResourceName: resourceName, ImportState: true, ImportStateVerify: true, - ImportStateIdPrefix: fmt.Sprintf("%s,", "nyc3"), + ImportStateIdPrefix: fmt.Sprintf("%s,", "sfo2"), ImportStateVerifyIgnore: []string{"acl", "force_destroy"}, }, + // Test importing non-existent resource provides expected error. + { + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: false, + ImportStateId: "sfo2,nonexistent-bucket", + ExpectError: regexp.MustCompile(`(Please verify the ID is correct|Cannot import non-existent remote object)`), + }, }, }) } diff --git a/digitalocean/resource_digitalocean_spaces_bucket.go b/digitalocean/resource_digitalocean_spaces_bucket.go index 1a5f3263..e07c2db9 100644 --- a/digitalocean/resource_digitalocean_spaces_bucket.go +++ b/digitalocean/resource_digitalocean_spaces_bucket.go @@ -295,15 +295,7 @@ func resourceDigitalOceanBucketImport(d *schema.ResourceData, meta interface{}) d.Set("region", s[0]) } - err := resourceDigitalOceanBucketRead(d, meta) - if err != nil { - return nil, fmt.Errorf("unable to import bucket: %v", err) - } - - results := make([]*schema.ResourceData, 0) - results = append(results, d) - - return results, nil + return []*schema.ResourceData{d}, nil } func bucketDomainName(bucket string, region string) string { diff --git a/digitalocean/resource_digitalocean_spaces_bucket_test.go b/digitalocean/resource_digitalocean_spaces_bucket_test.go index a93fd822..c2cd2c7e 100644 --- a/digitalocean/resource_digitalocean_spaces_bucket_test.go +++ b/digitalocean/resource_digitalocean_spaces_bucket_test.go @@ -276,7 +276,8 @@ resource "digitalocean_spaces_bucket" "bucket" { func testAccDigitalOceanBucketConfigImport(randInt int) string { return fmt.Sprintf(` resource "digitalocean_spaces_bucket" "bucket" { - name = "tf-test-bucket-%d" + name = "tf-test-bucket-%d" + region = "sfo2" } `, randInt) }