evalphobia/aws-sdk-go-v2-wrapper

View on GitHub
s3/client_op_object_delete_test.go

Summary

Maintainability
A
0 mins
Test Coverage
package s3

import (
    "context"
    "testing"

    "github.com/matryer/is"
)

func TestDeleteObject(t *testing.T) {
    is := is.NewRelaxed(t)
    ctx := context.Background()
    svc := getTestClient(t)
    _ = createTestBucket(testPutBucketName)

    _, err := svc.PutObject(ctx, PutObjectRequest{
        Bucket:    testPutBucketName,
        Key:       "TestDeleteObject/test-file-01",
        BodyBytes: []byte("-"),
    })
    is.NoErr(err)

    ok, err := svc.XExistObject(ctx, testPutBucketName, "TestDeleteObject/test-file-01")
    is.NoErr(err)
    is.True(ok)

    // after deletion
    _, err = svc.DeleteObject(ctx, DeleteObjectRequest{
        Bucket: testPutBucketName,
        Key:    "TestDeleteObject/test-file-01",
    })
    is.NoErr(err)

    ok, err = svc.XExistObject(ctx, testPutBucketName, "TestDeleteObject/test-file-01")
    is.NoErr(err)
    is.True(!ok)

    // delete non-existed file
    _, err = svc.DeleteObject(ctx, DeleteObjectRequest{
        Bucket: testPutBucketName,
        Key:    "TestDeleteObject/test-file-01",
    })
    is.NoErr(err)
}