Skip to content

Commit 9e1a52b

Browse files
authored
feat: add support for eventbridge customer events (#676)
1 parent 1376bd0 commit 9e1a52b

File tree

3 files changed

+31
-3
lines changed

3 files changed

+31
-3
lines changed

__tests__/unit.eventbridge.js

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
const eventSources = require('../src/event-sources')
22
const testUtils = require('./utils')
33

4-
const dynamodbEventSource = eventSources.getEventSource({
4+
const eventbridgeEventSource = eventSources.getEventSource({
55
eventSourceName: 'AWS_EVENTBRIDGE'
66
})
77

@@ -21,7 +21,15 @@ test('request is correct (scheduled)', () => {
2121
expect(req.method).toEqual('POST')
2222
})
2323

24+
test('request is correct (customer event)', () => {
25+
const req = getReq({ event: testUtils.eventbridgeCustomerEvent })
26+
expect(typeof req).toEqual('object')
27+
expect(req.headers).toEqual({ host: 'events.amazonaws.com' })
28+
expect(req.body).toEqual(testUtils.eventbridgeCustomerEvent)
29+
expect(req.method).toEqual('POST')
30+
})
31+
2432
function getReq ({ event }) {
25-
const request = dynamodbEventSource.getRequest({ event })
33+
const request = eventbridgeEventSource.getRequest({ event })
2634
return request
2735
}

__tests__/utils.js

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -194,6 +194,21 @@ const eventbridgeScheduledEvent = {
194194
resources: ['arn:aws:events:us-east-2:123456789012:rule/my-schedule']
195195
}
196196

197+
const eventbridgeCustomerEvent = {
198+
version: '0',
199+
id: 'fe8d3c65-xmpl-c5c3-2c87-81584709a377',
200+
source: 'com.mycompany.myapp',
201+
account: '123456789012',
202+
time: '2016-01-14T01:02:03Z',
203+
region: 'us-east-2',
204+
resources: [
205+
'resource1',
206+
'resource2'
207+
],
208+
'detail-type': 'myDetailType',
209+
detail: {}
210+
}
211+
197212
// Sample event from https://docs.aws.amazon.com/lambda/latest/dg/with-kinesis-example.html
198213
const kinesisDataStreamEvent = {
199214
Records: [
@@ -257,6 +272,11 @@ describe('getEventSourceNameBasedOnEvent', () => {
257272
const result = getEventSourceNameBasedOnEvent({ event: eventbridgeScheduledEvent })
258273
expect(result).toEqual('AWS_EVENTBRIDGE')
259274
})
275+
276+
test('recognizes eventbridge customer event', () => {
277+
const result = getEventSourceNameBasedOnEvent({ event: eventbridgeCustomerEvent })
278+
expect(result).toEqual('AWS_EVENTBRIDGE')
279+
})
260280
})
261281

262282
module.exports = {
@@ -266,5 +286,6 @@ module.exports = {
266286
sqsEvent,
267287
eventbridgeEvent,
268288
eventbridgeScheduledEvent,
289+
eventbridgeCustomerEvent,
269290
kinesisDataStreamEvent
270291
}

src/event-sources/utils.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,6 @@ function getEventSourceNameBasedOnEvent ({
112112
event.id &&
113113
event['detail-type'] &&
114114
event.source &&
115-
event.source.startsWith('aws.') && // Might need to adjust this for "Partner Sources", e.g. Auth0, Datadog, etc
116115
event.account &&
117116
event.time &&
118117
event.region &&

0 commit comments

Comments
 (0)