diff --git a/lib/main.js b/lib/main.js index 3d8017e9..9ddfeb41 100644 --- a/lib/main.js +++ b/lib/main.js @@ -111,7 +111,7 @@ Lambda.prototype._params = function (program, buffer) { SecurityGroupIds: [] }, Environment: { - Variables: {} + Variables: null }, DeadLetterConfig: { TargetArn: null @@ -129,6 +129,7 @@ Lambda.prototype._params = function (program, buffer) { if (program.configFile) { var configValues = fs.readFileSync(program.configFile); var config = dotenv.parse(configValues); + // If `configFile` is an empty file, `config` value will be `{}` params.Environment = { Variables: config } diff --git a/test/main.js b/test/main.js index 23ce56c4..addc05c7 100644 --- a/test/main.js +++ b/test/main.js @@ -95,10 +95,12 @@ describe('node-lambda', function () { beforeEach(function () { // Prep... fs.writeFileSync('tmp.env', 'FOO=bar\nBAZ=bing\n'); + fs.writeFileSync('empty.env', ''); }); afterEach(function () { fs.unlinkSync('tmp.env'); + fs.unlinkSync('empty.env'); }); it('adds variables when configFile param is set', function () { @@ -108,10 +110,16 @@ describe('node-lambda', function () { assert.equal(params.Environment.Variables['BAZ'], "bing"); }); - it('does not add when configFile param is not set', function () { + it('when configFile param is set but it is an empty file', function () { + program.configFile = 'empty.env'; var params = lambda._params(program); assert.equal(Object.keys(params.Environment.Variables).length, 0); }); + + it('does not add when configFile param is not set', function () { + var params = lambda._params(program); + assert.isNull(params.Environment.Variables); + }); }); });