@bitblit/epsilon
Version:
Tiny adapter to simplify building API gateway Lambda APIS
102 lines (91 loc) • 4.24 kB
JavaScript
;
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