serverless-plugin-test-helper
Version:
A utility library to help with testing deployed serverless applications
72 lines • 4.17 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.HttpApiEvent = void 0;
const deepmerge_1 = require("deepmerge");
// source: https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-lambda.html#http-api-develop-integrations-lambda.proxy-format
class HttpApiEvent {
constructor(override = {}) {
const extended = deepmerge_1.all([defaultEvent, override]);
for (const [key, value] of Object.entries(extended)) {
this[key] = value;
}
}
}
exports.HttpApiEvent = HttpApiEvent;
const defaultEvent = {
version: "2.0",
routeKey: "$default",
rawPath: "/my/path",
rawQueryString: "parameter1=value1¶meter1=value2¶meter2=value",
cookies: ["cookie1", "cookie2"],
headers: {
Header1: "value1",
Header2: "value1,value2",
"content-type": "application/json",
},
queryStringParameters: {
parameter1: "value1,value2",
parameter2: "value",
},
requestContext: {
accountId: "123456789012",
apiId: "api-id",
authorizer: {
jwt: {
claims: {
aud: "aud",
azp: "azp",
exp: "123",
gty: "client-credentials",
iat: "123",
iss: "url",
sub: "uniqueid",
},
scopes: ["scope1", "scope2"],
},
},
domainName: "id.execute-api.us-east-1.amazonaws.com",
domainPrefix: "id",
http: {
method: "POST",
path: "/my/path",
protocol: "HTTP/1.1",
sourceIp: "IP",
userAgent: "agent",
},
requestId: "id",
routeKey: "$default",
stage: "$default",
time: "12/Mar/2020:19:03:58 +0000",
timeEpoch: 1583348638390,
},
body: '{ "message": "hello from lambda" }',
pathParameters: {
parameter1: "value1",
},
isBase64Encoded: false,
stageVariables: {
stageVariable1: "value1",
stageVariable2: "value2",
},
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1hcGkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZXZlbnQtbW9ja3MvaHR0cC1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEseUNBQWdDO0FBRWhDLG1LQUFtSztBQUNuSyxNQUFhLFlBQVk7SUFvQ3ZCLFlBQVksV0FBd0MsRUFBRTtRQUNwRCxNQUFNLFFBQVEsR0FBRyxlQUFHLENBQUMsQ0FBQyxZQUFZLEVBQUUsUUFBUSxDQUFDLENBQWlCLENBQUM7UUFDL0QsS0FBSyxNQUFNLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDbkQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQztTQUNuQjtJQUNILENBQUM7Q0FDRjtBQTFDRCxvQ0EwQ0M7QUFFRCxNQUFNLFlBQVksR0FBaUI7SUFDakMsT0FBTyxFQUFFLEtBQUs7SUFDZCxRQUFRLEVBQUUsVUFBVTtJQUNwQixPQUFPLEVBQUUsVUFBVTtJQUNuQixjQUFjLEVBQUUsc0RBQXNEO0lBQ3RFLE9BQU8sRUFBRSxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUM7SUFDL0IsT0FBTyxFQUFFO1FBQ1AsT0FBTyxFQUFFLFFBQVE7UUFDakIsT0FBTyxFQUFFLGVBQWU7UUFDeEIsY0FBYyxFQUFFLGtCQUFrQjtLQUNuQztJQUNELHFCQUFxQixFQUFFO1FBQ3JCLFVBQVUsRUFBRSxlQUFlO1FBQzNCLFVBQVUsRUFBRSxPQUFPO0tBQ3BCO0lBQ0QsY0FBYyxFQUFFO1FBQ2QsU0FBUyxFQUFFLGNBQWM7UUFDekIsS0FBSyxFQUFFLFFBQVE7UUFDZixVQUFVLEVBQUU7WUFDVixHQUFHLEVBQUU7Z0JBQ0gsTUFBTSxFQUFFO29CQUNOLEdBQUcsRUFBRSxLQUFLO29CQUNWLEdBQUcsRUFBRSxLQUFLO29CQUNWLEdBQUcsRUFBRSxLQUFLO29CQUNWLEdBQUcsRUFBRSxvQkFBb0I7b0JBQ3pCLEdBQUcsRUFBRSxLQUFLO29CQUNWLEdBQUcsRUFBRSxLQUFLO29CQUNWLEdBQUcsRUFBRSxVQUFVO2lCQUNoQjtnQkFDRCxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDO2FBQzdCO1NBQ0Y7UUFDRCxVQUFVLEVBQUUsd0NBQXdDO1FBQ3BELFlBQVksRUFBRSxJQUFJO1FBQ2xCLElBQUksRUFBRTtZQUNKLE1BQU0sRUFBRSxNQUFNO1lBQ2QsSUFBSSxFQUFFLFVBQVU7WUFDaEIsUUFBUSxFQUFFLFVBQVU7WUFDcEIsUUFBUSxFQUFFLElBQUk7WUFDZCxTQUFTLEVBQUUsT0FBTztTQUNuQjtRQUNELFNBQVMsRUFBRSxJQUFJO1FBQ2YsUUFBUSxFQUFFLFVBQVU7UUFDcEIsS0FBSyxFQUFFLFVBQVU7UUFDakIsSUFBSSxFQUFFLDRCQUE0QjtRQUNsQyxTQUFTLEVBQUUsYUFBYTtLQUN6QjtJQUNELElBQUksRUFBRSxvQ0FBb0M7SUFDMUMsY0FBYyxFQUFFO1FBQ2QsVUFBVSxFQUFFLFFBQVE7S0FDckI7SUFDRCxlQUFlLEVBQUUsS0FBSztJQUN0QixjQUFjLEVBQUU7UUFDZCxjQUFjLEVBQUUsUUFBUTtRQUN4QixjQUFjLEVBQUUsUUFBUTtLQUN6QjtDQUNGLENBQUMifQ==