feat: adds Location, x-amz-bucket-arn response headers in CreateBucket

Closes #1873
This commit is contained in:
niksis02
2026-02-20 13:02:51 +04:00
parent a81f9e5152
commit 7fb3dedecc
5 changed files with 45 additions and 25 deletions
+25
View File
@@ -641,3 +641,28 @@ func CreateBucket_invalid_canned_acl(s *S3Conf) error {
return checkSdkApiErr(err, "InvalidArgument")
})
}
func CreateBucket_success(s *S3Conf) error {
testName := "CreateBucket_success"
return actionHandlerNoSetup(s, testName, func(s3client *s3.Client, bucket string) error {
ctx, cancel := context.WithTimeout(context.Background(), shortTimeout)
res, err := s3client.CreateBucket(ctx, &s3.CreateBucketInput{
Bucket: &bucket,
})
cancel()
if err != nil {
return err
}
expectedLocation := "/" + bucket
if getString(res.Location) != expectedLocation {
return fmt.Errorf("expected the bucket Location to be %s, instead got %s", expectedLocation, getString(res.Location))
}
expectedArn := "arn:aws:s3:::" + bucket
if getString(res.BucketArn) != expectedArn {
return fmt.Errorf("expected the bucket arn to be %s, instead got %s", expectedArn, getString(res.BucketArn))
}
return teardown(s, bucket)
})
}
-22
View File
@@ -24,28 +24,6 @@ import (
"github.com/versity/versitygw/s3err"
)
func CreateDeleteBucket_success(s *S3Conf) error {
testName := "CreateBucket_success"
runF(testName)
bucket := getBucketName()
err := setup(s, bucket)
if err != nil {
failF("%v: %v", testName, err)
return fmt.Errorf("%v: %w", testName, err)
}
err = teardown(s, bucket)
if err != nil {
failF("%v: %v", testName, err)
return fmt.Errorf("%v: %w", testName, err)
}
passF(testName)
return nil
}
func DeleteBucket_non_existing_bucket(s *S3Conf) error {
testName := "DeleteBucket_non_existing_bucket"
runF(testName)
+2 -2
View File
@@ -81,7 +81,7 @@ func TestCreateBucket(ts *TestState) {
ts.Run(CreateBucket_non_default_acl)
ts.Run(CreateBucket_private_canned_acl)
ts.Run(CreateBucket_private_canned_acl_bucket_owner_enforced_ownership)
ts.Run(CreateDeleteBucket_success)
ts.Run(CreateBucket_success)
ts.Run(CreateBucket_default_object_lock)
ts.Run(CreateBucket_invalid_location_constraint)
ts.Run(CreateBucket_long_tags)
@@ -1246,7 +1246,7 @@ func GetIntTests() IntTests {
"CreateBucket_invalid_ownership": CreateBucket_invalid_ownership,
"CreateBucket_ownership_with_acl": CreateBucket_ownership_with_acl,
"CreateBucket_as_user": CreateBucket_as_user,
"CreateDeleteBucket_success": CreateDeleteBucket_success,
"CreateBucket_success": CreateBucket_success,
"CreateBucket_default_acl": CreateBucket_default_acl,
"CreateBucket_non_default_acl": CreateBucket_non_default_acl,
"CreateBucket_private_canned_acl": CreateBucket_private_canned_acl,