github.com/sijibomii/docker@v0.0.0-20231230191044-5cf6ca554647/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 type mockmetadataclient struct { 53 regionResult chan *regionResult 54 } 55 56 type regionResult struct { 57 successResult string 58 errorResult error 59 } 60 61 func newMockMetadataClient() *mockmetadataclient { 62 return &mockmetadataclient{ 63 regionResult: make(chan *regionResult, 1), 64 } 65 } 66 67 func (m *mockmetadataclient) Region() (string, error) { 68 output := <-m.regionResult 69 return output.successResult, output.errorResult 70 }