| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- // +build integration
- // 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
- }
- // UniqueID returns a unique UUID-like identifier for use in generating
- // resources for integration tests.
- func UniqueID() string {
- uuid := make([]byte, 16)
- io.ReadFull(rand.Reader, uuid)
- return fmt.Sprintf("%x", uuid)
- }
- // SessionWithDefaultRegion returns a copy of the integration session with the
- // region set if one was not already provided.
- func SessionWithDefaultRegion(region string) *session.Session {
- sess := Session.Copy()
- if v := aws.StringValue(sess.Config.Region); len(v) == 0 {
- sess.Config.Region = aws.String(region)
- }
- return sess
- }
|