1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- // +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
- if aws.StringValue(Session.Config.Region) == "" {
- panic("AWS_REGION must be configured to run integration tests")
- }
- }
- // 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)
- }
|