@@ -231,6 +231,42 @@ const kinesisDataStreamEvent = {
231
231
]
232
232
}
233
233
234
+ // Sample event from https://docs.aws.amazon.com/lambda/latest/dg/with-kafka.html
235
+ const selfManagedKafkaEvent = {
236
+ eventSource : 'SelfManagedKafka' ,
237
+ bootstrapServers : 'b-2.demo-cluster-1.a1bcde.c1.kafka.us-east-1.amazonaws.com:9092,b-1.demo-cluster-1.a1bcde.c1.kafka.us-east-1.amazonaws.com:9092' ,
238
+ records : {
239
+ 'mytopic-0' : [
240
+ {
241
+ topic : 'mytopic' ,
242
+ partition : 0 ,
243
+ offset : 15 ,
244
+ timestamp : 1545084650987 ,
245
+ timestampType : 'CREATE_TIME' ,
246
+ key : 'abcDEFghiJKLmnoPQRstuVWXyz1234==' ,
247
+ value : 'SGVsbG8sIHRoaXMgaXMgYSB0ZXN0Lg==' ,
248
+ headers : [
249
+ {
250
+ headerKey : [
251
+ 104 ,
252
+ 101 ,
253
+ 97 ,
254
+ 100 ,
255
+ 101 ,
256
+ 114 ,
257
+ 86 ,
258
+ 97 ,
259
+ 108 ,
260
+ 117 ,
261
+ 101
262
+ ]
263
+ }
264
+ ]
265
+ }
266
+ ]
267
+ }
268
+ }
269
+
234
270
describe ( 'getEventSourceNameBasedOnEvent' , ( ) => {
235
271
test ( 'throws error on empty event' , ( ) => {
236
272
expect ( ( ) => getEventSourceNameBasedOnEvent ( { event : { } } ) ) . toThrow (
@@ -263,6 +299,11 @@ describe('getEventSourceNameBasedOnEvent', () => {
263
299
expect ( result ) . toEqual ( 'AWS_KINESIS_DATA_STREAM' )
264
300
} )
265
301
302
+ test ( 'recognises self managed kafka event' , ( ) => {
303
+ const result = getEventSourceNameBasedOnEvent ( { event : selfManagedKafkaEvent } )
304
+ expect ( result ) . toEqual ( 'AWS_SELF_MANAGED_KAFKA' )
305
+ } )
306
+
266
307
test ( 'recognizes eventbridge event' , ( ) => {
267
308
const result = getEventSourceNameBasedOnEvent ( { event : eventbridgeEvent } )
268
309
expect ( result ) . toEqual ( 'AWS_EVENTBRIDGE' )
@@ -287,5 +328,6 @@ module.exports = {
287
328
eventbridgeEvent,
288
329
eventbridgeScheduledEvent,
289
330
eventbridgeCustomerEvent,
290
- kinesisDataStreamEvent
331
+ kinesisDataStreamEvent,
332
+ selfManagedKafkaEvent
291
333
}
0 commit comments