From d1554d11338b0c62aba426823b7f145174404af1 Mon Sep 17 00:00:00 2001 From: Chris Howey Date: Fri, 15 May 2015 16:53:00 -0500 Subject: [PATCH] Add backend test for s3 --- backend/s3_test.go | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 backend/s3_test.go diff --git a/backend/s3_test.go b/backend/s3_test.go new file mode 100644 index 000000000..84b4d6d74 --- /dev/null +++ b/backend/s3_test.go @@ -0,0 +1,43 @@ +package backend_test + +import ( + "testing" + + "github.com/mitchellh/goamz/aws" + "github.com/mitchellh/goamz/s3" + "github.com/mitchellh/goamz/testutil" + + bes3 "github.com/restic/restic/backend/s3" + . "github.com/restic/restic/test" +) + +var testServer = testutil.NewHTTPServer() + +func setupS3Backend(t *testing.T) *bes3.S3 { + testServer.Start() + auth := aws.Auth{"abc", "123", ""} + service := s3.New(auth, aws.Region{Name: "faux-region-1", S3Endpoint: testServer.URL}) + bucket := service.Bucket("testbucket") + err := bucket.PutBucket("private") + OK(t, err) + + t.Logf("created s3 backend locally at %s", testServer.URL) + + return bes3.S3{bucket: bucket, path: "testbucket"} +} + +func teardownS3Backend(t *testing.T, b *bes3.S3) { + if !*TestCleanup { + t.Logf("leaving backend at %s\n", b.Location()) + return + } + + testServer.Flush() +} + +func TestS3Backend(t *testing.T) { + s := setupS3Backend(t) + defer teardownS3Backend(t, s) + + testBackend(s, t) +}