Skip to content

Commit 2c6f055

Browse files
committed
fix(error): NoSuchBucket missing error code
1 parent 0523c67 commit 2c6f055

File tree

5 files changed

+4260
-1238
lines changed

5 files changed

+4260
-1238
lines changed

internal/services/object/bucket_lock_configuration_test.go

Lines changed: 41 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ import (
44
"context"
55
"errors"
66
"fmt"
7-
s3Types "github.com/aws/aws-sdk-go-v2/service/s3/types"
87
"regexp"
98
"testing"
109

@@ -40,43 +39,6 @@ func TestAccObjectBucketLockConfiguration_Basic(t *testing.T) {
4039
objectchecks.IsBucketDestroyed(tt),
4140
),
4241
Steps: []resource.TestStep{
43-
//{
44-
// Config: fmt.Sprintf(`
45-
// resource "scaleway_object_bucket" "test" {
46-
// name = %[1]q
47-
// region = %[2]q
48-
// tags = {
49-
// TestName = "TestAccSCW_LockConfig_basic"
50-
// }
51-
//
52-
// object_lock_enabled = true
53-
// }
54-
//
55-
// resource "scaleway_object_bucket_acl" "test" {
56-
// bucket = scaleway_object_bucket.test.id
57-
// acl = "public-read"
58-
// }
59-
//
60-
// resource "scaleway_object_bucket_lock_configuration" "test" {
61-
// bucket = scaleway_object_bucket.test.id
62-
// rule {
63-
// default_retention {
64-
// mode = "GOVERNANCE"
65-
// days = 1
66-
// }
67-
// }
68-
// }
69-
// `, rName, objectTestsMainRegion),
70-
// Check: resource.ComposeTestCheckFunc(
71-
// testAccCheckBucketLockConfigurationExists(tt, resourceName),
72-
// objectchecks.CheckBucketExists(tt, "scaleway_object_bucket.test", true),
73-
// resource.TestCheckResourceAttrPair(resourceName, "bucket", "scaleway_object_bucket.test", "name"),
74-
// resource.TestCheckResourceAttr(resourceName, "rule.#", "1"),
75-
// resource.TestCheckResourceAttr(resourceName, "rule.0.default_retention.#", "1"),
76-
// resource.TestCheckResourceAttr(resourceName, "rule.0.default_retention.0.mode", "GOVERNANCE"),
77-
// resource.TestCheckResourceAttr(resourceName, "rule.0.default_retention.0.days", "1"),
78-
// ),
79-
//},
8042
{
8143
Config: fmt.Sprintf(`
8244
resource "scaleway_object_bucket" "test" {
@@ -85,15 +47,52 @@ func TestAccObjectBucketLockConfiguration_Basic(t *testing.T) {
8547
tags = {
8648
TestName = "TestAccSCW_LockConfig_basic"
8749
}
88-
50+
8951
object_lock_enabled = true
9052
}
91-
53+
54+
resource "scaleway_object_bucket_acl" "test" {
55+
bucket = scaleway_object_bucket.test.id
56+
acl = "public-read"
57+
}
58+
59+
resource "scaleway_object_bucket_lock_configuration" "test" {
60+
bucket = scaleway_object_bucket.test.id
61+
rule {
62+
default_retention {
63+
mode = "GOVERNANCE"
64+
days = 1
65+
}
66+
}
67+
}
68+
`, rName, objectTestsMainRegion),
69+
Check: resource.ComposeTestCheckFunc(
70+
testAccCheckBucketLockConfigurationExists(tt, resourceName),
71+
objectchecks.CheckBucketExists(tt, "scaleway_object_bucket.test", true),
72+
resource.TestCheckResourceAttrPair(resourceName, "bucket", "scaleway_object_bucket.test", "name"),
73+
resource.TestCheckResourceAttr(resourceName, "rule.#", "1"),
74+
resource.TestCheckResourceAttr(resourceName, "rule.0.default_retention.#", "1"),
75+
resource.TestCheckResourceAttr(resourceName, "rule.0.default_retention.0.mode", "GOVERNANCE"),
76+
resource.TestCheckResourceAttr(resourceName, "rule.0.default_retention.0.days", "1"),
77+
),
78+
},
79+
{
80+
Config: fmt.Sprintf(`
81+
resource "scaleway_object_bucket" "test" {
82+
name = %[1]q
83+
region = %[2]q
84+
tags = {
85+
TestName = "TestAccSCW_LockConfig_basic"
86+
}
87+
88+
object_lock_enabled = true
89+
}
90+
9291
resource "scaleway_object_bucket_acl" "test" {
9392
bucket = scaleway_object_bucket.test.name
9493
acl = "public-read"
9594
}
96-
95+
9796
resource "scaleway_object_bucket_lock_configuration" "test" {
9897
bucket = scaleway_object_bucket.test.name
9998
rule {
@@ -322,7 +321,7 @@ func testAccCheckBucketLockConfigurationDestroy(tt *acctest.TestTools) resource.
322321

323322
output, err := conn.GetObjectLockConfiguration(ctx, input)
324323

325-
if errors.As(err, new(*s3Types.NoSuchBucket)) {
324+
if object.IsS3Err(err, object.ErrCodeNoSuchBucket, "The specified bucket does not exist") {
326325
continue
327326
}
328327

internal/services/object/errors.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@ const (
2323
ErrCodeAccessDenied = "AccessDenied"
2424
// ErrCodeBucketNotEmpty bucket is not empty
2525
ErrCodeBucketNotEmpty = "BucketNotEmpty"
26+
//ErrCodeNoSuchBucket bucket not found
27+
ErrCodeNoSuchBucket = "NoSuchBucket"
2628
// ErrCodeNoSuchBucketPolicy policy not found
2729
ErrCodeNoSuchBucketPolicy = "NoSuchBucketPolicy"
2830
// ErrCodeNoSuchWebsiteConfiguration website configuration not found

0 commit comments

Comments
 (0)