Skip to content

Commit b80f8a9

Browse files
authored
Merge pull request #770 from abetomo/v3-updateEventSources
sdk-v3: Use sdk-v3 with _updateEventSources()
2 parents 254de49 + 8ae0f7d commit b80f8a9

File tree

2 files changed

+23
-28
lines changed

2 files changed

+23
-28
lines changed

lib/main.js

+11-22
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,12 @@ const { createNamespace } = require('continuation-local-storage')
2929
*/
3030
const {
3131
LambdaClient,
32+
CreateEventSourceMappingCommand,
3233
CreateFunctionCommand,
33-
ListEventSourceMappingsCommand,
34+
DeleteEventSourceMappingCommand,
3435
GetFunctionCommand,
36+
ListEventSourceMappingsCommand,
37+
UpdateEventSourceMappingCommand,
3538
UpdateFunctionCodeCommand,
3639
UpdateFunctionConfigurationCommand
3740
} = require('@aws-sdk/client-lambda')
@@ -840,30 +843,16 @@ they may not work as expected in the Lambda environment.
840843
switch (updateEventSource.type) {
841844
case 'create':
842845
delete updateEventSource.type
843-
return new Promise((resolve, reject) => {
844-
lambda.createEventSourceMapping(updateEventSource, (err, data) => {
845-
if (err) return reject(err)
846-
resolve(data)
847-
})
848-
})
846+
return lambda.send(new CreateEventSourceMappingCommand(updateEventSource))
849847
case 'update':
850848
delete updateEventSource.type
851-
return new Promise((resolve, reject) => {
852-
lambda.updateEventSourceMapping(updateEventSource, (err, data) => {
853-
if (err) return reject(err)
854-
resolve(data)
855-
})
856-
})
849+
return lambda.send(new UpdateEventSourceMappingCommand(updateEventSource))
857850
case 'delete':
858851
delete updateEventSource.type
859-
return new Promise((resolve, reject) => {
860-
lambda.deleteEventSourceMapping(updateEventSource, (err, data) => {
861-
if (err) return reject(err)
862-
resolve(data)
863-
})
864-
})
852+
return lambda.send(new DeleteEventSourceMappingCommand(updateEventSource))
853+
default:
854+
return Promise.resolve()
865855
}
866-
return Promise.resolve()
867856
}))
868857
}
869858

@@ -1033,7 +1022,7 @@ they may not work as expected in the Lambda environment.
10331022
])
10341023
}),
10351024
this._updateEventSources(
1036-
lambda,
1025+
lambdaClient,
10371026
params.FunctionName,
10381027
existingEventSourceList,
10391028
eventSourceList.EventSourceMappings
@@ -1056,7 +1045,7 @@ they may not work as expected in the Lambda environment.
10561045

10571046
return Promise.all([
10581047
this._updateEventSources(
1059-
lambda,
1048+
lambdaClient,
10601049
params.FunctionName,
10611050
[],
10621051
eventSourceList.EventSourceMappings

test/main.js

+12-6
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,12 @@ awsMock.setSDK(path.resolve('node_modules/aws-sdk'))
1919
const { mockClient } = require('aws-sdk-client-mock')
2020
const {
2121
LambdaClient,
22+
CreateEventSourceMappingCommand,
2223
CreateFunctionCommand,
23-
ListEventSourceMappingsCommand,
24+
DeleteEventSourceMappingCommand,
2425
GetFunctionCommand,
26+
ListEventSourceMappingsCommand,
27+
UpdateEventSourceMappingCommand,
2528
UpdateFunctionCodeCommand,
2629
UpdateFunctionConfigurationCommand
2730
} = require('@aws-sdk/client-lambda')
@@ -172,11 +175,14 @@ describe('lib/main', function () {
172175

173176
// for sdk v3
174177
mockLambdaClient.reset()
178+
mockLambdaClient.on(CreateEventSourceMappingCommand).resolves(lambdaMockSettings.createEventSourceMapping)
175179
mockLambdaClient.on(CreateFunctionCommand).resolves(lambdaMockSettings.createFunction)
180+
mockLambdaClient.on(DeleteEventSourceMappingCommand).resolves(lambdaMockSettings.deleteEventSourceMapping)
176181
mockLambdaClient.on(GetFunctionCommand).resolves(lambdaMockSettings.getFunction)
182+
mockLambdaClient.on(ListEventSourceMappingsCommand).resolves(lambdaMockSettings.listEventSourceMappings)
183+
mockLambdaClient.on(UpdateEventSourceMappingCommand).resolves(lambdaMockSettings.updateEventSourceMapping)
177184
mockLambdaClient.on(UpdateFunctionCodeCommand).resolves(lambdaMockSettings.updateFunctionCode)
178185
mockLambdaClient.on(UpdateFunctionConfigurationCommand).resolves(lambdaMockSettings.updateFunctionConfiguration)
179-
mockLambdaClient.on(ListEventSourceMappingsCommand).resolves(lambdaMockSettings.listEventSourceMappings)
180186
})
181187
after(() => {
182188
_awsRestore()
@@ -1424,7 +1430,7 @@ describe('lib/main', function () {
14241430
program.eventSourceFile = ''
14251431
const eventSourceList = lambda._eventSourceList(program)
14261432
return lambda._updateEventSources(
1427-
awsLambda,
1433+
lambdaClient,
14281434
'',
14291435
[],
14301436
eventSourceList.EventSourceMappings
@@ -1437,7 +1443,7 @@ describe('lib/main', function () {
14371443
program.eventSourceFile = 'event_sources.json'
14381444
const eventSourceList = lambda._eventSourceList(program)
14391445
return lambda._updateEventSources(
1440-
awsLambda,
1446+
lambdaClient,
14411447
'functionName',
14421448
[],
14431449
eventSourceList.EventSourceMappings
@@ -1448,7 +1454,7 @@ describe('lib/main', function () {
14481454

14491455
it('simple test with mock (In case of deletion)', () => {
14501456
return lambda._updateEventSources(
1451-
awsLambda,
1457+
lambdaClient,
14521458
'functionName',
14531459
lambdaMockSettings.listEventSourceMappings.EventSourceMappings,
14541460
{}
@@ -1461,7 +1467,7 @@ describe('lib/main', function () {
14611467
program.eventSourceFile = 'event_sources.json'
14621468
const eventSourceList = lambda._eventSourceList(program)
14631469
return lambda._updateEventSources(
1464-
awsLambda,
1470+
lambdaClient,
14651471
'functionName',
14661472
lambdaMockSettings.listEventSourceMappings.EventSourceMappings,
14671473
eventSourceList.EventSourceMappings

0 commit comments

Comments
 (0)