Passed
Pull Request — master (#13)
by eval
01:32
created

s3/client_xapi_bucket_test.go   A

Size/Duplication

Total Lines 46
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
cc 4
eloc 32
dl 0
loc 46
rs 10
c 0
b 0
f 0

1 Method

Rating   Name   Duplication   Size   Complexity  
A s3.TestClientXAPIBucket 0 37 4
1
package s3
2
3
import (
4
	"context"
5
	"testing"
6
7
	"github.com/matryer/is"
8
)
9
10
func TestClientXAPIBucket(t *testing.T) {
11
	is := is.NewRelaxed(t)
12
	ctx := context.Background()
13
	svc := getTestClient(t)
14
15
	t.Run("XCreateBucketFromName", func(t *testing.T) {
16
		_ = svc.XDeleteBucketFromName(ctx, testPutBucketName)
17
		res, err := svc.XCreateBucketFromName(ctx, testPutBucketName)
18
		is.NoErr(err)              // success creation
19
		is.Equal(res.Location, "") // empty value on FakeS3
20
21
		_, err = svc.XCreateBucketFromName(ctx, testPutBucketName)
22
		// is.True(err != nil) // already created bucket
23
		is.NoErr(err) // already created bucket does not error on FakeS3
24
	})
25
26
	t.Run("XDeleteBucketFromName", func(t *testing.T) {
27
		_ = svc.XDeleteBucketFromName(ctx, testPutBucketName)
28
		_, _ = svc.XCreateBucketFromName(ctx, testPutBucketName)
29
30
		err := svc.XDeleteBucketFromName(ctx, testPutBucketName)
31
		is.NoErr(err) // success deletion
32
33
		err = svc.XDeleteBucketFromName(ctx, testPutBucketName)
34
		is.True(err != nil) // already deleted bucket
35
	})
36
	t.Run("XExistBucket", func(t *testing.T) {
37
		_ = svc.XDeleteBucketFromName(ctx, testPutBucketName)
38
39
		ok, err := svc.XExistBucket(ctx, testPutBucketName)
40
		is.True(!ok)
41
		is.NoErr(err)
42
43
		_, _ = svc.XCreateBucketFromName(ctx, testPutBucketName)
44
		ok, err = svc.XExistBucket(ctx, testPutBucketName)
45
		is.True(ok)
46
		is.NoErr(err)
47
	})
48
}
49