diff --git a/x-pack/functionbeat/provider/aws/aws/transformer/transformer_test.go b/x-pack/functionbeat/provider/aws/aws/transformer/transformer_test.go index 1d7aea5836e..e8433f46089 100644 --- a/x-pack/functionbeat/provider/aws/aws/transformer/transformer_test.go +++ b/x-pack/functionbeat/provider/aws/aws/transformer/transformer_test.go @@ -6,13 +6,54 @@ package transformer import ( "testing" + "time" "github.com/aws/aws-lambda-go/events" "github.com/stretchr/testify/assert" + "github.com/elastic/beats/libbeat/beat" "github.com/elastic/beats/libbeat/common" ) +func TestCloudwatch(t *testing.T) { + logsData := events.CloudwatchLogsData{ + Owner: "me", + LogGroup: "my-group", + LogStream: "stream", + SubscriptionFilters: []string{"MyFilter"}, + MessageType: "DATA_MESSAGE", + LogEvents: []events.CloudwatchLogsLogEvent{ + events.CloudwatchLogsLogEvent{ + ID: "1234567890123456789", + Timestamp: 1566908691193, + Message: "my interesting message", + }, + }, + } + + events := CloudwatchLogs(logsData) + assert.Equal(t, 1, len(events)) + + expectedTime, err := time.ParseInLocation(time.RFC3339, "2019-08-27T12:24:51.193+00:00", time.UTC) + assert.Nil(t, err) + + expectedEvent := beat.Event{ + Timestamp: expectedTime, + Fields: common.MapStr{ + "message": "my interesting message", + "id": "1234567890123456789", + "owner": "me", + "log_stream": "stream", + "log_group": "my-group", + "message_type": "DATA_MESSAGE", + "subscription_filters": []string{"MyFilter"}, + }, + } + + assert.Equal(t, expectedEvent.Fields, events[0].Fields) + assert.Equal(t, expectedEvent.Timestamp, events[0].Timestamp.UTC()) +} + func TestKinesis(t *testing.T) { request := events.KinesisEvent{ Records: []events.KinesisEventRecord{