github.com/tompao/docker@v1.9.1/daemon/logger/awslogs/cwlogsiface_mock_test.go (about) 1 package awslogs 2 3 import "github.com/aws/aws-sdk-go/service/cloudwatchlogs" 4 5 type mockcwlogsclient struct { 6 createLogStreamArgument chan *cloudwatchlogs.CreateLogStreamInput 7 createLogStreamResult chan *createLogStreamResult 8 putLogEventsArgument chan *cloudwatchlogs.PutLogEventsInput 9 putLogEventsResult chan *putLogEventsResult 10 } 11 12 type createLogStreamResult struct { 13 successResult *cloudwatchlogs.CreateLogStreamOutput 14 errorResult error 15 } 16 17 type putLogEventsResult struct { 18 successResult *cloudwatchlogs.PutLogEventsOutput 19 errorResult error 20 } 21 22 func newMockClient() *mockcwlogsclient { 23 return &mockcwlogsclient{ 24 createLogStreamArgument: make(chan *cloudwatchlogs.CreateLogStreamInput, 1), 25 createLogStreamResult: make(chan *createLogStreamResult, 1), 26 putLogEventsArgument: make(chan *cloudwatchlogs.PutLogEventsInput, 1), 27 putLogEventsResult: make(chan *putLogEventsResult, 1), 28 } 29 } 30 31 func newMockClientBuffered(buflen int) *mockcwlogsclient { 32 return &mockcwlogsclient{ 33 createLogStreamArgument: make(chan *cloudwatchlogs.CreateLogStreamInput, buflen), 34 createLogStreamResult: make(chan *createLogStreamResult, buflen), 35 putLogEventsArgument: make(chan *cloudwatchlogs.PutLogEventsInput, buflen), 36 putLogEventsResult: make(chan *putLogEventsResult, buflen), 37 } 38 } 39 40 func (m *mockcwlogsclient) CreateLogStream(input *cloudwatchlogs.CreateLogStreamInput) (*cloudwatchlogs.CreateLogStreamOutput, error) { 41 m.createLogStreamArgument <- input 42 output := <-m.createLogStreamResult 43 return output.successResult, output.errorResult 44 } 45 46 func (m *mockcwlogsclient) PutLogEvents(input *cloudwatchlogs.PutLogEventsInput) (*cloudwatchlogs.PutLogEventsOutput, error) { 47 m.putLogEventsArgument <- input 48 output := <-m.putLogEventsResult 49 return output.successResult, output.errorResult 50 } 51 52 func test() { 53 _ = &logStream{ 54 client: newMockClient(), 55 } 56 }