jspurefix
Version:
pure node js fix engine
89 lines • 3.13 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 });
require("reflect-metadata");
const path = require("path");
const setup_1 = require("../env/setup");
const segment_type_1 = require("../../buffer/segment/segment-type");
const root = path.join(__dirname, '../../../data');
let views;
let structure;
let setup;
const asStrings = [
'FIX4.4',
'0000208',
'A',
'sender-10',
'target-20',
'1',
'sub-a',
'20180610-10:39:01.621',
'2',
'62441',
'20',
'VgfoSqo56NqSVI1fLdlI',
'Y',
'4886',
'20',
'1',
'ipsum',
'R',
'N',
'sit',
'consectetur',
'49'
];
beforeAll(() => __awaiter(void 0, void 0, void 0, function* () {
setup = new setup_1.Setup('session/qf-fix44.json', null);
yield setup.init();
views = yield setup.client.replayer.replayFixFile(path.join(root, 'examples/FIX.4.4/quickfix/logon/fix.txt'));
if (views && views.length > 0) {
structure = views[0].structure;
}
}), 45000);
test('expect a structure from fix msg', () => {
expect(structure).toBeTruthy();
});
test('Logon structure', () => {
const logon = structure === null || structure === void 0 ? void 0 : structure.layout.Logon;
expect(logon).toBeTruthy();
expect(logon.type).toEqual(segment_type_1.SegmentType.Msg);
expect(logon.startPosition).toEqual(0);
expect(logon.startTag).toEqual(8);
expect(logon.endPosition).toEqual(21);
expect(logon.endTag).toEqual(10);
});
test('Logon MsgTypes', () => {
const msgTypes = structure === null || structure === void 0 ? void 0 : structure.layout.NoMsgTypes;
expect(msgTypes).toBeTruthy();
expect(msgTypes.type).toEqual(segment_type_1.SegmentType.Group);
expect(msgTypes.delimiterTag).toEqual(372);
expect(msgTypes.delimiterPositions.length).toEqual(1);
expect(msgTypes.delimiterPositions).toEqual([16]);
});
test('Logon Object', () => {
const logonAsObject = views[0].toObject();
expect(logonAsObject).toBeTruthy();
expect(logonAsObject.Username).toEqual('sit');
expect(logonAsObject.Password).toEqual('consectetur');
expect(logonAsObject.NoMsgTypes).toEqual([
{
MsgDirection: 'R',
RefMsgType: 'ipsum'
}
]);
});
test('values as strings', () => {
const view = views[0];
const strings = view.getStrings();
expect(strings).toEqual(asStrings);
});
//# sourceMappingURL=logon.test.js.map