Documentation ¶
Index ¶
Examples ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func MakeRandomStr ¶
func NewCleanup ¶
func NewCleanup(cl func()) *cleanuper
func NewCleanupErr ¶
func NewCleanupErr(cl func() error) *cleanuper
Types ¶
type AwsMockHandler ¶
type AwsMockHandler struct {
// contains filtered or unexported fields
}
func NewAwsMockHandler ¶
func NewAwsMockHandler() *AwsMockHandler
Create an AWS mocker to use with the AWS services, it returns an instrumented aws.Config that can be used to create AWS services. You can add as many individual request handlers as you need, as long as handlers correspond to the func(context.Context, <arg>)(<res>, error) format. E.g.: func(context.Context, *ec2.TerminateInstancesInput)(*ec2.TerminateInstancesOutput, error)
You can also use a struct as the handler, in this case the AwsMockHandler will try to search for a method with a conforming signature.
Example ¶
am := NewAwsMockHandler() am.AddHandler(func(ctx context.Context, arg *ec2.TerminateInstancesInput) ( *ec2.TerminateInstancesOutput, error) { if arg.InstanceIds[0] != "i-123" { panic("BadInstanceId") } return &ec2.TerminateInstancesOutput{}, nil }) ec := ec2.New(am.AwsConfig()) _, _ = ec.TerminateInstancesRequest(&ec2.TerminateInstancesInput{ InstanceIds: []string{"i-123"}, }).Send(context.Background())
Output:
func (*AwsMockHandler) AddHandler ¶
func (a *AwsMockHandler) AddHandler(handlerObject interface{})
func (*AwsMockHandler) AwsConfig ¶
func (a *AwsMockHandler) AwsConfig() aws.Config
type LockSession ¶
type LockSession struct {
// contains filtered or unexported fields
}
type MemorySink ¶
MemorySink implements zap.Sink by writing all messages to a buffer.
func NewMemorySinkLogger ¶
func NewMemorySinkLogger() (*MemorySink, *zap.Logger)
func (*MemorySink) Close ¶
func (s *MemorySink) Close() error
func (*MemorySink) Sync ¶
func (s *MemorySink) Sync() error
type SessionedMutex ¶
type SessionedMutex struct {
// contains filtered or unexported fields
}
A mutex that yields a 'lock session' supporting idempotent unlock
func (*SessionedMutex) Lock ¶
func (s *SessionedMutex) Lock() *LockSession
func (*SessionedMutex) ReadLock ¶
func (s *SessionedMutex) ReadLock() *LockSession
Click to show internal directories.
Click to hide internal directories.