2015-05-15 21:53:00 +00:00
|
|
|
package backend_test
|
|
|
|
|
|
|
|
import (
|
2015-12-28 23:27:29 +00:00
|
|
|
"net/url"
|
2015-12-28 17:23:02 +00:00
|
|
|
"os"
|
2015-05-15 21:53:00 +00:00
|
|
|
"testing"
|
|
|
|
|
2015-12-06 22:21:48 +00:00
|
|
|
"github.com/restic/restic/backend/s3"
|
2015-11-07 12:43:15 +00:00
|
|
|
. "github.com/restic/restic/test"
|
2015-05-15 21:53:00 +00:00
|
|
|
)
|
|
|
|
|
2015-12-06 22:21:48 +00:00
|
|
|
type deleter interface {
|
|
|
|
Delete() error
|
|
|
|
}
|
2015-05-15 21:53:00 +00:00
|
|
|
|
2015-12-06 22:21:48 +00:00
|
|
|
func TestS3Backend(t *testing.T) {
|
2015-12-19 16:21:45 +00:00
|
|
|
if TestS3Server == "" {
|
|
|
|
t.Skip("s3 test server not available")
|
|
|
|
}
|
|
|
|
|
2015-12-28 23:27:29 +00:00
|
|
|
url, err := url.Parse(TestS3Server)
|
|
|
|
OK(t, err)
|
|
|
|
|
|
|
|
cfg := s3.Config{
|
|
|
|
Endpoint: url.Host,
|
|
|
|
Bucket: "restictestbucket",
|
|
|
|
KeyID: os.Getenv("AWS_ACCESS_KEY_ID"),
|
|
|
|
Secret: os.Getenv("AWS_SECRET_ACCESS_KEY"),
|
|
|
|
}
|
|
|
|
|
|
|
|
if url.Scheme == "http" {
|
|
|
|
cfg.UseHTTP = true
|
|
|
|
}
|
|
|
|
|
|
|
|
be, err := s3.Open(cfg)
|
2015-11-07 12:43:15 +00:00
|
|
|
OK(t, err)
|
|
|
|
|
2015-12-06 22:21:48 +00:00
|
|
|
testBackend(be, t)
|
|
|
|
|
|
|
|
del := be.(deleter)
|
|
|
|
OK(t, del.Delete())
|
2015-05-15 21:53:00 +00:00
|
|
|
}
|