evalphobia/aws-sdk-go-v2-wrapper

View on GitHub
s3/client_op_bucket_head_test.go

Summary

Maintainability
A
0 mins
Test Coverage
package s3

import (
    "context"
    "testing"

    "github.com/matryer/is"
)

func TestHeadBucket(t *testing.T) {
    const nonExistedBucket = "non-existed-bucket--xxx"
    is := is.NewRelaxed(t)
    ctx := context.Background()
    svc := getTestClient(t)

    _ = svc.XForceDeleteBucketFromName(ctx, testPutBucketName)
    _ = svc.XForceDeleteBucketFromName(ctx, nonExistedBucket)

    ok, err := svc.HeadBucket(ctx, HeadBucketRequest{
        Bucket: nonExistedBucket,
    })
    is.NoErr(err)
    is.True(!ok) // non-existed bucket should be false

    _, _ = svc.XCreateBucketFromName(ctx, testPutBucketName)
    ok, err = svc.HeadBucket(ctx, HeadBucketRequest{
        Bucket: testPutBucketName,
    })
    is.NoErr(err)
    is.True(ok) // existed bucket should be true

    err = svc.XDeleteBucketFromName(ctx, testPutBucketName)
    is.NoErr(err)

    ok, err = svc.HeadBucket(ctx, HeadBucketRequest{
        Bucket: testPutBucketName,
    })
    is.NoErr(err)
    is.True(!ok) // deleted bucket should be false
}