diff --git a/lib/main.js b/lib/main.js index e5f71f0..8752968 100644 --- a/lib/main.js +++ b/lib/main.js @@ -30,6 +30,7 @@ const { createNamespace } = require('continuation-local-storage') const { LambdaClient, CreateFunctionCommand, + ListEventSourceMappingsCommand, GetFunctionCommand, UpdateFunctionCodeCommand, UpdateFunctionConfigurationCommand @@ -766,16 +767,12 @@ they may not work as expected in the Lambda environment. return this._zip(program, codeDirectory) } - _listEventSourceMappings (lambda, params) { - return new Promise((resolve, reject) => { - lambda.listEventSourceMappings(params, (err, data) => { - if (err) return reject(err) - if (data && data.EventSourceMappings) { - return resolve(data.EventSourceMappings) - } - return resolve([]) - }) - }) + async _listEventSourceMappings (lambda, params) { + const data = await lambda.send(new ListEventSourceMappingsCommand(params)) + if (data && data.EventSourceMappings) { + return data.EventSourceMappings + } + return [] } _getStartingPosition (eventSource) { @@ -1009,7 +1006,7 @@ they may not work as expected in the Lambda environment. FunctionName: params.FunctionName }).promise().then(() => { // Function exists - return this._listEventSourceMappings(lambda, { + return this._listEventSourceMappings(lambdaClient, { FunctionName: params.FunctionName }).then((existingEventSourceList) => { return Promise.all([ diff --git a/test/main.js b/test/main.js index 23b37f9..4f60a85 100644 --- a/test/main.js +++ b/test/main.js @@ -20,6 +20,7 @@ const { mockClient } = require('aws-sdk-client-mock') const { LambdaClient, CreateFunctionCommand, + ListEventSourceMappingsCommand, GetFunctionCommand, UpdateFunctionCodeCommand, UpdateFunctionConfigurationCommand @@ -175,6 +176,7 @@ describe('lib/main', function () { mockLambdaClient.on(GetFunctionCommand).resolves(lambdaMockSettings.getFunction) mockLambdaClient.on(UpdateFunctionCodeCommand).resolves(lambdaMockSettings.updateFunctionCode) mockLambdaClient.on(UpdateFunctionConfigurationCommand).resolves(lambdaMockSettings.updateFunctionConfiguration) + mockLambdaClient.on(ListEventSourceMappingsCommand).resolves(lambdaMockSettings.listEventSourceMappings) }) after(() => { _awsRestore() @@ -1358,7 +1360,7 @@ describe('lib/main', function () { describe('_listEventSourceMappings', () => { it('simple test with mock', () => { return lambda._listEventSourceMappings( - awsLambda, + lambdaClient, { FunctionName: 'test-func' } ).then((results) => { assert.deepEqual(