diff --git a/lib/main.js b/lib/main.js index 21d99e3e..66145b58 100644 --- a/lib/main.js +++ b/lib/main.js @@ -143,17 +143,14 @@ Lambda.prototype._params = function (program, buffer) { }; Lambda.prototype._eventSourceList = function (program) { - var eventSourceList = [] - if (program.eventSourceFile) { - try { - eventSourceList = fs.readJsonSync(program.eventSourceFile); - } catch(err) { - eventSourceList = []; - throw err; - } + if (!program.eventSourceFile) { + return []; + } + try { + return fs.readJsonSync(program.eventSourceFile); + } catch(err) { + throw err; } - - return eventSourceList; }; /** diff --git a/test/main.js b/test/main.js index df37d029..23ce56c4 100644 --- a/test/main.js +++ b/test/main.js @@ -25,6 +25,7 @@ var originalProgram = { deadLetterConfigTargetArn: '', region: 'us-east-1,us-west-2,eu-west-1', eventFile: 'event.json', + eventSourceFile: '', contextFile: 'context.json', prebuiltDirectory: '', }; @@ -473,10 +474,11 @@ describe('node-lambda', function () { 'event_sources.json' ]; - afterEach(function () { + after(function () { targetFiles.forEach(function(file) { fs.unlinkSync(file); }); + program.eventSourceFile = ''; }); it('should create sample files', function () { @@ -493,6 +495,33 @@ describe('node-lambda', function () { ); }); }); + + describe('_eventSourceList', function () { + it('program.eventSourceFile is empty value', function () { + program.eventSourceFile = ''; + assert.deepEqual(lambda._eventSourceList(program), []); + }); + + it('program.eventSourceFile is valid value', function () { + program.eventSourceFile = 'event_sources.json'; + const expected = [{ + BatchSize: 100, + Enabled: true, + EventSourceArn: 'your event source arn', + StartingPosition: 'LATEST', + }]; + assert.deepEqual(lambda._eventSourceList(program), expected); + }); + + it('program.eventSourceFile is invalid value', function () { + program.eventSourceFile = '/hoge/fuga'; + assert.throws( + () => { lambda._eventSourceList(program); }, + Error, + "ENOENT: no such file or directory, open '/hoge/fuga'" + ); + }); + }); }); describe('check env vars before create sample files', function () {