UNPKG

@codification/cutwater-aws

Version:

A library providing general functionality for TypeScript based AWS projects.

57 lines 2.24 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const CloudFront_mock_1 = require("./CloudFront.mock"); const LambdaEdgeUtils_1 = require("./LambdaEdgeUtils"); const createCFRequest = () => (0, CloudFront_mock_1.mockCloudFrontRequestEvent)({ Records: [ { cf: { config: { eventType: 'origin-request', }, request: { origin: { custom: { customHeaders: { 'my-origin-custom-header': [ { key: 'My-Origin-Custom-Header', value: 'Test', }, ], }, }, }, }, }, }, ], }); const createHeaders = (...headerNames) => { const rval = {}; let counter = 0; headerNames.forEach((header) => { rval[header.toLowerCase()] = `Value${counter}`; counter++; }); return rval; }; describe('LambdaEdgeUtils Unit Tests', () => { test('isCustomOriginRequestEvent', () => { const req = createCFRequest(); expect(LambdaEdgeUtils_1.LambdaEdgeUtils.isCustomOriginRequestEvent(req)).toBeTruthy(); req.Records[0].cf.config.eventType = 'origin-response'; expect(LambdaEdgeUtils_1.LambdaEdgeUtils.isCustomOriginRequestEvent(req)).toBeFalsy(); }); const headers = LambdaEdgeUtils_1.LambdaEdgeUtils.toCloudFrontHeaders(createHeaders('Connection', 'Content-Length', 'X-Custom-Header')); test('toCloudFrontHeaders', () => { expect(headers.connection[0].value).toBe('Value0'); }); test('stripOriginRequestHeaders', () => { expect(Object.keys(LambdaEdgeUtils_1.LambdaEdgeUtils.stripOriginRequestHeaders(headers)).length).toBe(1); }); test('toIncomingHttpHeaders', () => { expect(LambdaEdgeUtils_1.LambdaEdgeUtils.toIncomingHttpHeaders(headers)['x-custom-header']).toBe('Value2'); }); }); //# sourceMappingURL=LambdaEdgeUtils.test.js.map