mirror of
https://github.com/serverless/serverless.git
synced 2026-01-25 15:07:39 +00:00
fix(AWS API Gateway): Fix resolution of request parameters required value
(PR #8329)
This commit is contained in:
parent
e75339958f
commit
d2fb696ebd
@ -14,7 +14,10 @@ module.exports = {
|
||||
const requestParameters = {};
|
||||
if (event.http.request && event.http.request.parameters) {
|
||||
Object.entries(event.http.request.parameters).forEach(([key, value]) => {
|
||||
requestParameters[key] = value.required === undefined ? value : value.required;
|
||||
requestParameters[key] = (() => {
|
||||
if (!_.isObject(value)) return value;
|
||||
return value.required != null ? value.required : true;
|
||||
})();
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@ -4,6 +4,7 @@ const expect = require('chai').expect;
|
||||
const AwsCompileApigEvents = require('../../index');
|
||||
const Serverless = require('../../../../../../../../Serverless');
|
||||
const AwsProvider = require('../../../../../../provider/awsProvider');
|
||||
const runServerless = require('../../../../../../../../../test/utils/run-serverless');
|
||||
|
||||
describe('#compileMethods()', () => {
|
||||
let serverless;
|
||||
@ -603,6 +604,43 @@ describe('#compileMethods()', () => {
|
||||
});
|
||||
});
|
||||
|
||||
it('should set required to true when omitted from mapped value', async () => {
|
||||
const { cfTemplate } = await runServerless({
|
||||
cliArgs: ['package'],
|
||||
fixture: 'function',
|
||||
configExt: {
|
||||
functions: {
|
||||
foo: {
|
||||
events: [
|
||||
{
|
||||
http: {
|
||||
path: 'users/create',
|
||||
method: 'post',
|
||||
integration: 'HTTP_PROXY',
|
||||
request: {
|
||||
uri: 'https://example.com',
|
||||
parameters: {
|
||||
querystrings: {
|
||||
foo: {
|
||||
mappedValue: 'bar',
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
},
|
||||
},
|
||||
});
|
||||
expect(
|
||||
cfTemplate.Resources.ApiGatewayMethodUsersCreatePost.Properties.RequestParameters[
|
||||
'method.request.querystring.foo'
|
||||
]
|
||||
).to.equal(true);
|
||||
});
|
||||
|
||||
it('should set authorizer config for AWS_IAM', () => {
|
||||
awsCompileApigEvents.validated.events = [
|
||||
{
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user