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 64 65
|
// +build integration
package s3_test
import (
"fmt"
"io"
"os"
"testing"
"github.com/aws/aws-sdk-go/aws"
"github.com/aws/aws-sdk-go/awstesting/integration"
"github.com/aws/aws-sdk-go/awstesting/integration/s3integ"
"github.com/aws/aws-sdk-go/service/s3"
)
const integBucketPrefix = "aws-sdk-go-integration"
var bucketName *string
var svc *s3.S3
func TestMain(m *testing.M) {
sess := integration.SessionWithDefaultRegion("us-west-2")
svc = s3.New(sess)
bucketName = aws.String(s3integ.GenerateBucketName())
if err := s3integ.SetupTest(svc, *bucketName); err != nil {
panic(err)
}
var result int
defer func() {
if err := s3integ.CleanupTest(svc, *bucketName); err != nil {
fmt.Fprintln(os.Stderr, err)
}
if r := recover(); r != nil {
fmt.Fprintln(os.Stderr, "S3 integrationt tests paniced,", r)
result = 1
}
os.Exit(result)
}()
result = m.Run()
}
func putTestFile(t *testing.T, filename, key string) {
f, err := os.Open(filename)
if err != nil {
t.Fatalf("failed to open testfile, %v", err)
}
defer f.Close()
putTestContent(t, f, key)
}
func putTestContent(t *testing.T, reader io.ReadSeeker, key string) {
fmt.Println(bucketName, key, svc)
_, err := svc.PutObject(&s3.PutObjectInput{
Bucket: bucketName,
Key: aws.String(key),
Body: reader,
})
if err != nil {
t.Errorf("expect no error, got %v", err)
}
}
|