UNPKG

@bitblit/epsilon

Version:

Tiny adapter to simplify building API gateway Lambda APIS

102 lines (91 loc) 4.24 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; Object.defineProperty(exports, "__esModule", { value: true }); const common_1 = require("@bitblit/ratchet/common"); const sample_server_components_1 = require("../sample/sample-server-components"); const common_2 = require("@bitblit/ratchet/common"); describe('#errorToProxyResult', function () { /* it('should set the default status code to 500', function() { let err:Error = new BadRequestError('this is a test','a1','a2'); let res:ProxyResult = ResponseUtil.errorToProxyResult(err); expect(res.statusCode).toEqual(400); }); it('should parse a request body correctly', function() { let evt:APIGatewayEvent = { httpMethod:'post', path:'/test', pathParameters: null, queryStringParameters: null, stageVariables:null, requestContext:{} as APIGatewayEventRequestContext, resource:'/test', headers: { 'content-type':'application/json' }, isBase64Encoded: true, body: 'ew0KICJtZXNzYWdlIiA6ICJ0aGlzIGlzIGEgdGVzdCIsDQogIm51bWJlciIgOiAxDQp9' } as APIGatewayEvent; let body = EventUtil.bodyObject(evt); expect(body).toBeTruthy(); expect(body.message).toEqual('this is a test'); expect(body.number).toEqual(1); }); it('should parse a request body correctly part 2', function() { let evt:APIGatewayEvent = { httpMethod:'post', path:'/test', pathParameters: null, queryStringParameters: null, stageVariables:null, requestContext:{} as APIGatewayEventRequestContext, resource:'/test', headers: { 'content-type':'application/json; charset=UTF-8' }, isBase64Encoded: true, body: 'ew0KICJtZXNzYWdlIiA6ICJ0aGlzIGlzIGEgdGVzdCIsDQogIm51bWJlciIgOiAxDQp9' } as APIGatewayEvent; let body = EventUtil.bodyObject(evt); expect(body).toBeTruthy(); expect(body.message).toEqual('this is a test'); expect(body.number).toEqual(1); }); */ it('should gzip responses correctly', () => __awaiter(this, void 0, void 0, function* () { const inst = yield sample_server_components_1.SampleServerComponents.createSampleEpsilonGlobalHandler('jest-gzip'); expect(inst.epsilon.modelValidator).toBeTruthy(); const evt = { httpMethod: 'get', multiValueHeaders: {}, multiValueQueryStringParameters: {}, path: '/meta/server', pathParameters: null, queryStringParameters: null, stageVariables: null, requestContext: {}, resource: '/meta/server', headers: { 'content-type': 'application/json; charset=UTF-8', 'accept-encoding': 'gzip, deflate, br', }, isBase64Encoded: true, body: null, }; common_1.Logger.setLevel(common_2.LoggerLevelName.silly); const result = yield inst.epsilon.webHandler.processEvent(evt, {}); expect(result).toBeTruthy(); expect(result.isBase64Encoded).toEqual(true); expect(result.headers).toBeTruthy(); expect(result.headers['Content-Encoding']).toEqual('gzip'); })); }); //# sourceMappingURL=web-handler.spec.js.map