func setupS3() *backend.S3Backend { fakeS3, _ := s3test.NewServer(&s3test.Config{}) // cargo-culted from s3test fakeRegion := aws.Region{ Name: "faux-region-1", S3Endpoint: fakeS3.URL(), S3LocationConstraint: true, } auth, _ := aws.GetAuth("foo", "bar", "", time.Time{}) bucket := s3.New(auth, fakeRegion).Bucket("sequinstest") bucket.PutBucket("") putFile(bucket, "test_data/0/part-00000") putFile(bucket, "test_data/0/part-00001") putFile(bucket, "test_data/0/_SUCCESS") putFile(bucket, "test_data/1/part-00000") putFile(bucket, "test_data/1/part-00001") bucket.Put("test_data/foo", []byte("nothing"), "", "", s3.Options{}) return backend.NewS3Backend(bucket, "test_data") }
func s3Setup(bucketName string, path string, opts sequinsOptions) *sequins { auth, err := aws.GetAuth(*s3AccessKey, *s3SecretKey, "", time.Time{}) if err != nil { log.Fatal(err) } regionName := *s3Region if regionName == "" { regionName = aws.InstanceRegion() if regionName == "" { log.Fatal("Unspecified --s3-region, and no instance region found.") } } region, exists := aws.Regions[regionName] if !exists { log.Fatalf("Invalid AWS region: %s", regionName) } bucket := s3.New(auth, region).Bucket(bucketName) backend := backend.NewS3Backend(bucket, path) if opts.LocalPath == "" { tmpDir, err := ioutil.TempDir("", "sequins-") if err != nil { log.Fatal(err) } opts.LocalPath = tmpDir } return newSequins(backend, opts) }