From bc5bbbed3c050eb69262b3f9b6fbd53c563c9fb2 Mon Sep 17 00:00:00 2001 From: Mariusz Nowak Date: Tue, 28 Jan 2020 21:12:31 +0400 Subject: [PATCH] fix(Variables): Ensure to retrieve status code correctly It changed with #7237 --- lib/classes/Variables.js | 2 +- lib/classes/Variables.test.js | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/lib/classes/Variables.js b/lib/classes/Variables.js index 59f3c7b81..abd913afa 100644 --- a/lib/classes/Variables.js +++ b/lib/classes/Variables.js @@ -833,7 +833,7 @@ class Variables { return BbPromise.resolve(plainText); }, err => { - if (err.statusCode !== 400) { + if (!err.providerError || err.providerError.statusCode !== 400) { return BbPromise.reject(new this.serverless.classes.Error(err.message)); } diff --git a/lib/classes/Variables.test.js b/lib/classes/Variables.test.js index 05800ca09..73d7bef1a 100644 --- a/lib/classes/Variables.test.js +++ b/lib/classes/Variables.test.js @@ -1229,7 +1229,9 @@ module.exports = { const awsProvider = new AwsProvider(serverless, options); const param = '/some/path/to/invalidparam'; const property = `\${ssm:${param}}`; - const error = Object.assign(new Error(`Parameter ${param} not found.`), { statusCode: 400 }); + const error = Object.assign(new Error(`Parameter ${param} not found.`), { + providerError: { statusCode: 400 }, + }); const requestStub = sinon .stub(awsProvider, 'request') .callsFake(() => BbPromise.reject(error)); @@ -2381,7 +2383,9 @@ module.exports = { }); }); it('should return undefined if SSM parameter does not exist', () => { - const error = Object.assign(new Error(`Parameter ${param} not found.`), { statusCode: 400 }); + const error = Object.assign(new Error(`Parameter ${param} not found.`), { + providerError: { statusCode: 400 }, + }); const requestStub = sinon .stub(awsProvider, 'request') .callsFake(() => BbPromise.reject(error));