utils

package
Version: v1.4.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 10, 2019 License: Apache-2.0 Imports: 16 Imported by: 0

Documentation

Index

Examples

Constants

This section is empty.

Variables

This section is empty.

Functions

func CheckRequiredFlags added in v1.2.0

func CheckRequiredFlags(cmd *cobra.Command) error

func GetFlagB added in v1.2.0

func GetFlagB(cmd *cobra.Command, name string) bool

func GetFlagI added in v1.2.0

func GetFlagI(cmd *cobra.Command, name string) int64

func GetFlagS added in v1.2.0

func GetFlagS(cmd *cobra.Command, name string) string

func GetFlagSArr added in v1.2.0

func GetFlagSArr(cmd *cobra.Command, name string) []string

func GetFreeTcpPort added in v1.2.0

func GetFreeTcpPort() (int, error)

func MakeCompletionCmd added in v1.2.0

func MakeCompletionCmd() *cobra.Command

CLI tool helpers

func MakeRandomStr

func MakeRandomStr(numBytes int) string

func NewCleanup

func NewCleanup(cl func()) *cleanuper

func NewCleanupErr

func NewCleanupErr(cl func() error) *cleanuper

func PanicIfF

func PanicIfF(cond bool, msg string, args ...interface{})

func StaticClock added in v1.2.0

func StaticClock(sec int64) func() time.Time

func Use

func Use(_ interface{})

Types

type AbsoluteTimeSec added in v1.2.0

type AbsoluteTimeSec int64

Time in milliseconds since the Unix epoch

func FromTimeSec added in v1.2.0

func FromTimeSec(tm time.Time) AbsoluteTimeSec

func (AbsoluteTimeSec) ToTime added in v1.2.0

func (at AbsoluteTimeSec) ToTime() time.Time

func (AbsoluteTimeSec) ToUnix added in v1.2.0

func (at AbsoluteTimeSec) ToUnix() int64

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
}

func (*LockSession) Unlock

func (l *LockSession) Unlock()

Idempotent unlock

type MemorySink

type MemorySink struct {
	bytes.Buffer
}

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

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
t or T : Toggle theme light dark auto
y or Y : Canonical URL