@@ -194,6 +194,28 @@ const eventbridgeScheduledEvent = {
194194 resources : [ 'arn:aws:events:us-east-2:123456789012:rule/my-schedule' ]
195195}
196196
197+ // Sample event from https://docs.aws.amazon.com/lambda/latest/dg/with-kinesis-example.html
198+ const kinesisDataStreamEvent = {
199+ Records : [
200+ {
201+ kinesis : {
202+ kinesisSchemaVersion : '1.0' ,
203+ partitionKey : '1' ,
204+ sequenceNumber : '49590338271490256608559692538361571095921575989136588898' ,
205+ data : 'SGVsbG8sIHRoaXMgaXMgYSB0ZXN0Lg==' ,
206+ approximateArrivalTimestamp : 1545084650.987
207+ } ,
208+ eventSource : 'aws:kinesis' ,
209+ eventVersion : '1.0' ,
210+ eventID : 'shardId-000000000006:49590338271490256608559692538361571095921575989136588898' ,
211+ eventName : 'aws:kinesis:record' ,
212+ invokeIdentityArn : 'arn:aws:iam::123456789012:role/lambda-kinesis-role' ,
213+ awsRegion : 'us-east-2' ,
214+ eventSourceARN : 'arn:aws:kinesis:us-east-2:123456789012:stream/lambda-stream'
215+ }
216+ ]
217+ }
218+
197219describe ( 'getEventSourceNameBasedOnEvent' , ( ) => {
198220 test ( 'throws error on empty event' , ( ) => {
199221 expect ( ( ) => getEventSourceNameBasedOnEvent ( { event : { } } ) ) . toThrow (
@@ -221,6 +243,11 @@ describe('getEventSourceNameBasedOnEvent', () => {
221243 expect ( result ) . toEqual ( 'AWS_SQS' )
222244 } )
223245
246+ test ( 'recognizes kinesis data stream event' , ( ) => {
247+ const result = getEventSourceNameBasedOnEvent ( { event : kinesisDataStreamEvent } )
248+ expect ( result ) . toEqual ( 'AWS_KINESIS_DATA_STREAM' )
249+ } )
250+
224251 test ( 'recognizes eventbridge event' , ( ) => {
225252 const result = getEventSourceNameBasedOnEvent ( { event : eventbridgeEvent } )
226253 expect ( result ) . toEqual ( 'AWS_EVENTBRIDGE' )
@@ -238,5 +265,6 @@ module.exports = {
238265 snsEvent,
239266 sqsEvent,
240267 eventbridgeEvent,
241- eventbridgeScheduledEvent
268+ eventbridgeScheduledEvent,
269+ kinesisDataStreamEvent
242270}
0 commit comments