// Communicate with all endpoints to see if they are alive. func (s *ClientTests) TestRegions(c *C) { errs := make(chan error, len(aws.Regions)) for _, region := range aws.Regions { go func(r aws.Region) { s := s3.New(s.s3.Auth, r) b := s.Bucket("goamz-" + s.Auth.AccessKey) _, err := b.Get("non-existent") errs <- err }(region) } for _ = range aws.Regions { err := <-errs if err != nil { s3_err, ok := err.(*s3.Error) if ok { c.Check(s3_err.Code, Matches, "NoSuchBucket") } else if _, ok = err.(*net.DNSError); ok { // Okay as well. } else { c.Errorf("Non-S3 error: %s", err) } } else { c.Errorf("Test should have errored but it seems to have succeeded") } } }
func PutInBucket(file string, remoteName string) (string, error) { var ( _AWS_SECRET string _AWS_ACCESS string _AWS_LOCATION string ) f, err := os.Open(file) _AWS_SECRET = os.Getenv("AWS_SECRET") _AWS_ACCESS = os.Getenv("AWS_ACCESS") _AWS_LOCATION = os.Getenv("AWS_LOCATION") if nil != err { return "", err } defer f.Close() auth, err := aws.GetAuth(_AWS_ACCESS, _AWS_SECRET) s3conn := s3.New(auth, aws.EUWest) bucket := s3conn.Bucket(LOCALS_BUCKET) data, err := ioutil.ReadAll(f) if nil != err { return "", err } log.Println(" adding filepath " + remoteName) err = bucket.Put(remoteName, data, "image/jpeg", s3.PublicRead) if nil != err { return "", err } return _AWS_LOCATION + "/" + remoteName, nil }
func (s *LocalServerSuite) SetUpSuite(c *C) { s.srv.SetUp(c) s.clientTests.s3 = s3.New(s.srv.auth, s.srv.region) // TODO Sadly the fake server ignores auth completely right now. :-( s.clientTests.authIsBroken = true s.clientTests.Cleanup() }
func (s *AmazonClientSuite) SetUpSuite(c *C) { if !testutil.Amazon { c.Skip("live tests against AWS disabled (no -amazon)") } s.srv.SetUp(c) s.s3 = s3.New(s.srv.auth, s.Region) // In case tests were interrupted in the middle before. s.ClientTests.Cleanup() }
func (s *AmazonDomainClientSuite) SetUpSuite(c *C) { if !testutil.Amazon { c.Skip("live tests against AWS disabled (no -amazon)") } s.srv.SetUp(c) region := s.Region region.S3BucketEndpoint = "https://${bucket}.s3.amazonaws.com" s.s3 = s3.New(s.srv.auth, region) s.ClientTests.Cleanup() }
func (s *S) SetUpSuite(c *C) { testServer.Start() auth := aws.Auth{"abc", "123", ""} s.s3 = s3.New(auth, aws.Region{Name: "faux-region-1", S3Endpoint: testServer.URL}) }