serverless-plugin-test-helper
Version:
A utility library to help with testing deployed serverless applications
102 lines • 6.85 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ApiGatewayEvent = exports.apiGatewayEvent = void 0;
const deepmerge_1 = require("deepmerge");
/*
* @deprecated This method has been deprecated and will be removed in the next major release, use `new ApiGatewayEvent()` instead
*/
function apiGatewayEvent(override = {}) {
// console.warn(
// "This method has been deprecated and will be removed in the next major release, use `new ApiGatewayEvent()` instead"
// );
return deepmerge_1.all([defaultEvent, override]);
}
exports.apiGatewayEvent = apiGatewayEvent;
class ApiGatewayEvent {
constructor(override = {}) {
const extended = deepmerge_1.all([defaultEvent, override]);
for (const [key, value] of Object.entries(extended)) {
this[key] = value;
}
}
}
exports.ApiGatewayEvent = ApiGatewayEvent;
// source: https://serverless.com/framework/docs/providers/aws/events/apigateway/#example-lambda-proxy-event-default
const defaultEvent = {
resource: "/",
path: "/",
httpMethod: "POST",
auth: {
claims: {
aud: "aud",
azp: "azp",
exp: "123",
gty: "client-credentials",
iat: "123",
iss: "url",
sub: "uniqueid",
},
scopes: null,
},
headers: {
Accept: "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",
"Accept-Encoding": "gzip, deflate, br",
"Accept-Language": "en-GB,en-US;q=0.8,en;q=0.6,zh-CN;q=0.4",
"cache-control": "max-age=0",
"CloudFront-Forwarded-Proto": "https",
"CloudFront-Is-Desktop-Viewer": "true",
"CloudFront-Is-Mobile-Viewer": "false",
"CloudFront-Is-SmartTV-Viewer": "false",
"CloudFront-Is-Tablet-Viewer": "false",
"CloudFront-Viewer-Country": "GB",
"content-type": "application/json",
Host: "j3ap25j034.execute-api.eu-west-2.amazonaws.com",
origin: "https://j3ap25j034.execute-api.eu-west-2.amazonaws.com",
Referer: "https://j3ap25j034.execute-api.eu-west-2.amazonaws.com/dev/",
"upgrade-insecure-requests": "1",
"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36",
Via: "2.0 a3650115c5e21e2b5d133ce84464bea3.cloudfront.net (CloudFront)",
"X-Amz-Cf-Id": "0nDeiXnReyHYCkv8cc150MWCFCLFPbJoTs1mexDuKe2WJwK5ANgv2A==",
"X-Amzn-Trace-Id": "Root=1-597079de-75fec8453f6fd4812414a4cd",
"X-Forwarded-For": "50.129.117.14, 50.112.234.94",
"X-Forwarded-Port": "443",
"X-Forwarded-Proto": "https",
},
queryStringParameters: null,
pathParameters: null,
stageVariables: null,
requestContext: {
path: "/dev/",
accountId: "125002137610",
authorizer: undefined,
protocol: undefined,
resourceId: "qdolsr1yhk",
stage: "dev",
requestId: "0f2431a2-6d2f-11e7-b799-5152aa497861",
requestTimeEpoch: null,
identity: {
cognitoIdentityPoolId: null,
accountId: null,
cognitoIdentityId: null,
caller: null,
apiKey: "",
sourceIp: "50.129.117.14",
accessKey: null,
cognitoAuthenticationType: null,
cognitoAuthenticationProvider: null,
userArn: null,
userAgent: "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36",
user: null,
apiKeyId: null,
principalOrgId: null,
},
resourcePath: "/",
httpMethod: "POST",
apiId: "j3azlsj0c4",
},
body: '{ "message": "hello from lambda" }',
isBase64Encoded: false,
multiValueHeaders: null,
multiValueQueryStringParameters: null,
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLWdhdGV3YXkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZXZlbnQtbW9ja3MvYXBpLWdhdGV3YXkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBVUEseUNBQWdDO0FBRWhDOztHQUVHO0FBQ0gsU0FBZ0IsZUFBZSxDQUFDLFdBQW1ELEVBQUU7SUFDbkYsZ0JBQWdCO0lBQ2hCLHlIQUF5SDtJQUN6SCxLQUFLO0lBQ0wsT0FBZ0MsZUFBRyxDQUFDLENBQUMsWUFBWSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7QUFDaEUsQ0FBQztBQUxELDBDQUtDO0FBaUJELE1BQWEsZUFBZTtJQWlCMUIsWUFBWSxXQUFtRCxFQUFFO1FBQy9ELE1BQU0sUUFBUSxHQUFHLGVBQUcsQ0FBQyxDQUFDLFlBQVksRUFBRSxRQUFRLENBQUMsQ0FBNEIsQ0FBQztRQUMxRSxLQUFLLE1BQU0sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUNuRCxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDO1NBQ25CO0lBQ0gsQ0FBQztDQUNGO0FBdkJELDBDQXVCQztBQUVELG9IQUFvSDtBQUVwSCxNQUFNLFlBQVksR0FBNEI7SUFDNUMsUUFBUSxFQUFFLEdBQUc7SUFDYixJQUFJLEVBQUUsR0FBRztJQUNULFVBQVUsRUFBRSxNQUFNO0lBQ2xCLElBQUksRUFBRTtRQUNKLE1BQU0sRUFBRTtZQUNOLEdBQUcsRUFBRSxLQUFLO1lBQ1YsR0FBRyxFQUFFLEtBQUs7WUFDVixHQUFHLEVBQUUsS0FBSztZQUNWLEdBQUcsRUFBRSxvQkFBb0I7WUFDekIsR0FBRyxFQUFFLEtBQUs7WUFDVixHQUFHLEVBQUUsS0FBSztZQUNWLEdBQUcsRUFBRSxVQUFVO1NBQ2hCO1FBQ0QsTUFBTSxFQUFFLElBQUk7S0FDYjtJQUNELE9BQU8sRUFBRTtRQUNQLE1BQU0sRUFBRSx1RkFBdUY7UUFDL0YsaUJBQWlCLEVBQUUsbUJBQW1CO1FBQ3RDLGlCQUFpQixFQUFFLHdDQUF3QztRQUMzRCxlQUFlLEVBQUUsV0FBVztRQUM1Qiw0QkFBNEIsRUFBRSxPQUFPO1FBQ3JDLDhCQUE4QixFQUFFLE1BQU07UUFDdEMsNkJBQTZCLEVBQUUsT0FBTztRQUN0Qyw4QkFBOEIsRUFBRSxPQUFPO1FBQ3ZDLDZCQUE2QixFQUFFLE9BQU87UUFDdEMsMkJBQTJCLEVBQUUsSUFBSTtRQUNqQyxjQUFjLEVBQUUsa0JBQWtCO1FBQ2xDLElBQUksRUFBRSxnREFBZ0Q7UUFDdEQsTUFBTSxFQUFFLHdEQUF3RDtRQUNoRSxPQUFPLEVBQUUsNkRBQTZEO1FBQ3RFLDJCQUEyQixFQUFFLEdBQUc7UUFDaEMsWUFBWSxFQUNWLDJIQUEySDtRQUM3SCxHQUFHLEVBQUUsa0VBQWtFO1FBQ3ZFLGFBQWEsRUFBRSwwREFBMEQ7UUFDekUsaUJBQWlCLEVBQUUsMENBQTBDO1FBQzdELGlCQUFpQixFQUFFLDhCQUE4QjtRQUNqRCxrQkFBa0IsRUFBRSxLQUFLO1FBQ3pCLG1CQUFtQixFQUFFLE9BQU87S0FDN0I7SUFDRCxxQkFBcUIsRUFBRSxJQUFJO0lBQzNCLGNBQWMsRUFBRSxJQUFJO0lBQ3BCLGNBQWMsRUFBRSxJQUFJO0lBQ3BCLGNBQWMsRUFBRTtRQUNkLElBQUksRUFBRSxPQUFPO1FBQ2IsU0FBUyxFQUFFLGNBQWM7UUFDekIsVUFBVSxFQUFFLFNBQVM7UUFDckIsUUFBUSxFQUFFLFNBQVM7UUFDbkIsVUFBVSxFQUFFLFlBQVk7UUFDeEIsS0FBSyxFQUFFLEtBQUs7UUFDWixTQUFTLEVBQUUsc0NBQXNDO1FBQ2pELGdCQUFnQixFQUFFLElBQUk7UUFDdEIsUUFBUSxFQUFFO1lBQ1IscUJBQXFCLEVBQUUsSUFBSTtZQUMzQixTQUFTLEVBQUUsSUFBSTtZQUNmLGlCQUFpQixFQUFFLElBQUk7WUFDdkIsTUFBTSxFQUFFLElBQUk7WUFDWixNQUFNLEVBQUUsRUFBRTtZQUNWLFFBQVEsRUFBRSxlQUFlO1lBQ3pCLFNBQVMsRUFBRSxJQUFJO1lBQ2YseUJBQXlCLEVBQUUsSUFBSTtZQUMvQiw2QkFBNkIsRUFBRSxJQUFJO1lBQ25DLE9BQU8sRUFBRSxJQUFJO1lBQ2IsU0FBUyxFQUNQLDJIQUEySDtZQUM3SCxJQUFJLEVBQUUsSUFBSTtZQUNWLFFBQVEsRUFBRSxJQUFJO1lBQ2QsY0FBYyxFQUFFLElBQUk7U0FDckI7UUFDRCxZQUFZLEVBQUUsR0FBRztRQUNqQixVQUFVLEVBQUUsTUFBTTtRQUNsQixLQUFLLEVBQUUsWUFBWTtLQUNwQjtJQUNELElBQUksRUFBRSxvQ0FBb0M7SUFDMUMsZUFBZSxFQUFFLEtBQUs7SUFDdEIsaUJBQWlCLEVBQUUsSUFBSTtJQUN2QiwrQkFBK0IsRUFBRSxJQUFJO0NBQ3RDLENBQUMifQ==