-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain_test.go
63 lines (45 loc) · 1.92 KB
/
main_test.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
package emptys3bucket_test
import (
"testing"
emptys3bucket "github.com/armakuni/go-empty-s3-bucket"
"github.com/stretchr/testify/require"
)
const awsRegion = "eu-west-1"
const testBucketName = "emptys3bucket-integration-test"
func TestEmptyBucketWithOneItemAndNoVersioning(t *testing.T) {
simpleS3Client, err := NewTestS3Client(awsRegion)
require.Nil(t, err)
err = simpleS3Client.CreateBucket(testBucketName)
require.Nil(t, err)
defer simpleS3Client.DeleteBucket(testBucketName)
err = simpleS3Client.PutObject(testBucketName, "index.html", "<h1>Hello World</h1>")
require.Nil(t, err)
emptys3bucket.EmptyBucket(simpleS3Client.S3Client, testBucketName)
assertBucketIsEmpty(t, simpleS3Client.S3Client, testBucketName)
}
func TestEmptyBucketWithTwoItemsAndNoVersioning(t *testing.T) {
simpleS3Client, err := NewTestS3Client(awsRegion)
require.Nil(t, err)
err = simpleS3Client.CreateBucket(testBucketName)
require.Nil(t, err)
defer simpleS3Client.DeleteBucket(testBucketName)
err = simpleS3Client.PutObject(testBucketName, "index.html", "<h1>Hello World</h1>")
require.Nil(t, err)
err = simpleS3Client.PutObject(testBucketName, "index2.html", "<h1>Hello World</h1>")
require.Nil(t, err)
emptys3bucket.EmptyBucket(simpleS3Client.S3Client, testBucketName)
assertBucketIsEmpty(t, simpleS3Client.S3Client, testBucketName)
}
func TestEmptyBucketWithVersioningEnabled(t *testing.T) {
simpleS3Client, err := NewTestS3Client(awsRegion)
require.Nil(t, err)
err = simpleS3Client.CreateVersionedBucket(testBucketName)
require.Nil(t, err)
defer simpleS3Client.DeleteBucket(testBucketName)
err = simpleS3Client.PutObject(testBucketName, "index.html", "<h1>Version 1</h1>")
require.Nil(t, err)
err = simpleS3Client.PutObject(testBucketName, "index.html", "<h1>Version 2</h1>")
require.Nil(t, err)
emptys3bucket.EmptyBucket(simpleS3Client.S3Client, testBucketName)
assertBucketIsEmpty(t, simpleS3Client.S3Client, testBucketName)
}