fix(Variables): Ensure to retrieve status code correctly

It changed with #7237
This commit is contained in:
Mariusz Nowak 2020-01-28 21:12:31 +04:00 committed by Mariusz Nowak
parent 31987ce072
commit bc5bbbed3c
2 changed files with 7 additions and 3 deletions

View File

@ -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));
}

View File

@ -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));