summaryrefslogtreecommitdiffstats
path: root/vendor/github.com/goamz/goamz/sqs/suite_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/goamz/goamz/sqs/suite_test.go')
-rw-r--r--vendor/github.com/goamz/goamz/sqs/suite_test.go145
1 files changed, 0 insertions, 145 deletions
diff --git a/vendor/github.com/goamz/goamz/sqs/suite_test.go b/vendor/github.com/goamz/goamz/sqs/suite_test.go
deleted file mode 100644
index 8de1bc04f..000000000
--- a/vendor/github.com/goamz/goamz/sqs/suite_test.go
+++ /dev/null
@@ -1,145 +0,0 @@
-package sqs
-
-import (
- "flag"
- "fmt"
- "net/http"
- "net/url"
- "os"
- "testing"
- "time"
-
- "github.com/goamz/goamz/aws"
- . "gopkg.in/check.v1"
-)
-
-func Test(t *testing.T) {
- TestingT(t)
-}
-
-var integration = flag.Bool("i", false, "Enable integration tests")
-
-type SuiteI struct {
- auth aws.Auth
-}
-
-func (s *SuiteI) SetUpSuite(c *C) {
- if !*integration {
- c.Skip("Integration tests not enabled (-i flag)")
- }
- auth, err := aws.EnvAuth()
- if err != nil {
- c.Fatal(err.Error())
- }
- s.auth = auth
-}
-
-type HTTPSuite struct{}
-
-var testServer = NewTestHTTPServer("http://localhost:4455", 5e9)
-
-func (s *HTTPSuite) SetUpSuite(c *C) {
- testServer.Start()
-}
-
-func (s *HTTPSuite) TearDownTest(c *C) {
- testServer.FlushRequests()
-}
-
-type TestHTTPServer struct {
- URL string
- Timeout time.Duration
- started bool
- request chan *http.Request
- response chan *testResponse
- pending chan bool
-}
-
-type testResponse struct {
- Status int
- Headers map[string]string
- Body string
-}
-
-func NewTestHTTPServer(url string, timeout time.Duration) *TestHTTPServer {
- return &TestHTTPServer{URL: url, Timeout: timeout}
-}
-
-func (s *TestHTTPServer) Start() {
- if s.started {
- return
- }
- s.started = true
-
- s.request = make(chan *http.Request, 64)
- s.response = make(chan *testResponse, 64)
- s.pending = make(chan bool, 64)
-
- url, _ := url.Parse(s.URL)
- go func() {
- err := http.ListenAndServe(url.Host, s)
- if err != nil {
- panic(err)
- }
- }()
-
- s.PrepareResponse(202, nil, "Nothing.")
- for {
- // Wait for it to be up.
- resp, err := http.Get(s.URL)
- if err == nil && resp.StatusCode == 202 {
- break
- }
- fmt.Fprintf(os.Stderr, "\nWaiting for fake server to be up... ")
- time.Sleep(1e8)
- }
- fmt.Fprintf(os.Stderr, "done\n\n")
- s.WaitRequest() // Consume dummy request.
-}
-
-// FlushRequests discards requests which were not yet consumed by WaitRequest.
-func (s *TestHTTPServer) FlushRequests() {
- for {
- select {
- case <-s.request:
- default:
- return
- }
- }
-}
-
-func (s *TestHTTPServer) ServeHTTP(w http.ResponseWriter, req *http.Request) {
- s.request <- req
- var resp *testResponse
- select {
- case resp = <-s.response:
- case <-time.After(s.Timeout):
- fmt.Fprintf(os.Stderr, "ERROR: Timeout waiting for test to provide response\n")
- resp = &testResponse{500, nil, ""}
- }
- if resp.Headers != nil {
- h := w.Header()
- for k, v := range resp.Headers {
- h.Set(k, v)
- }
- }
- if resp.Status != 0 {
- w.WriteHeader(resp.Status)
- }
- w.Write([]byte(resp.Body))
-}
-
-func (s *TestHTTPServer) WaitRequest() *http.Request {
- select {
- case req := <-s.request:
- req.ParseForm()
- return req
- case <-time.After(s.Timeout):
- panic("Timeout waiting for goamz request")
- }
- panic("unreached")
-}
-
-func (s *TestHTTPServer) PrepareResponse(status int, headers map[string]string, body string) {
- s.response <- &testResponse{status, headers, body}
-}