func main() { if len(os.Args) < 2 { fmt.Fprintln(os.Stderr, "Queue URL required.") os.Exit(1) } sess := session.Must(session.NewSession()) q := Queue{ Client: sqs.New(sess), URL: os.Args[1], } msgs, err := q.GetMessages(20) if err != nil { fmt.Fprintln(os.Stderr, err.Error()) os.Exit(1) } fmt.Println("Messages:") for _, msg := range msgs { fmt.Printf("%s>%s: %s\n", msg.From, msg.To, msg.Msg) } }
package mock import ( "net/http" "net/http/httptest" "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/aws/client" "github.com/aws/aws-sdk-go/aws/client/metadata" "github.com/aws/aws-sdk-go/aws/session" ) // Session is a mock session which is used to hit the mock server var Session = session.Must(session.NewSession(&aws.Config{ DisableSSL: aws.Bool(true), Endpoint: aws.String(server.URL[7:]), })) // server is the mock server that simply writes a 200 status back to the client var server = httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { w.WriteHeader(http.StatusOK) })) // NewMockClient creates and initializes a client that will connect to the // mock server func NewMockClient(cfgs ...*aws.Config) *client.Client { c := Session.ClientConfig("Mock", cfgs...) svc := client.New( *c.Config, metadata.ClientInfo{
// Package integration performs initialization and validation for integration // tests. package integration import ( "crypto/rand" "fmt" "io" "os" "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/aws/session" ) // Session is a shared session for all integration tests to use. var Session = session.Must(session.NewSession()) func init() { logLevel := Session.Config.LogLevel if os.Getenv("DEBUG") != "" { logLevel = aws.LogLevel(aws.LogDebug) } if os.Getenv("DEBUG_SIGNING") != "" { logLevel = aws.LogLevel(aws.LogDebugWithSigning) } if os.Getenv("DEBUG_BODY") != "" { logLevel = aws.LogLevel(aws.LogDebugWithSigning | aws.LogDebugWithHTTPBody) } Session.Config.LogLevel = logLevel if aws.StringValue(Session.Config.Region) == "" {
// Package unit performs initialization and validation for unit tests package unit import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/aws/credentials" "github.com/aws/aws-sdk-go/aws/session" ) // Session is a shared session for unit tests to use. var Session = session.Must(session.NewSession(aws.NewConfig(). WithCredentials(credentials.NewStaticCredentials("AKID", "SECRET", "SESSION")). WithRegion("mock-region")))