jspurefix 2.0.2 → 2.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (364) hide show
  1. package/appveyor.yml +1 -0
  2. package/dist/buffer/ascii/index.js +5 -1
  3. package/dist/buffer/ascii/index.js.map +1 -1
  4. package/dist/buffer/fixml/index.js +5 -1
  5. package/dist/buffer/fixml/index.js.map +1 -1
  6. package/dist/buffer/index.js +5 -1
  7. package/dist/buffer/index.js.map +1 -1
  8. package/dist/collections/index.js +5 -1
  9. package/dist/collections/index.js.map +1 -1
  10. package/dist/config/index.js +5 -1
  11. package/dist/config/index.js.map +1 -1
  12. package/dist/dictionary/compiler/index.js +5 -1
  13. package/dist/dictionary/compiler/index.js.map +1 -1
  14. package/dist/dictionary/contained/index.js +5 -1
  15. package/dist/dictionary/contained/index.js.map +1 -1
  16. package/dist/dictionary/definition/index.js +5 -1
  17. package/dist/dictionary/definition/index.js.map +1 -1
  18. package/dist/dictionary/index.js +5 -1
  19. package/dist/dictionary/index.js.map +1 -1
  20. package/dist/dictionary/parser/fix-repository/index.js +5 -1
  21. package/dist/dictionary/parser/fix-repository/index.js.map +1 -1
  22. package/dist/dictionary/parser/fixml/index.js +5 -1
  23. package/dist/dictionary/parser/fixml/index.js.map +1 -1
  24. package/dist/dictionary/parser/index.js +5 -1
  25. package/dist/dictionary/parser/index.js.map +1 -1
  26. package/dist/dictionary/parser/quickfix/index.js +5 -1
  27. package/dist/dictionary/parser/quickfix/index.js.map +1 -1
  28. package/dist/index.js +5 -1
  29. package/dist/index.js.map +1 -1
  30. package/dist/runtime/index.js +5 -1
  31. package/dist/runtime/index.js.map +1 -1
  32. package/dist/runtime/session-launcher.js +2 -2
  33. package/dist/runtime/session-launcher.js.map +1 -1
  34. package/dist/sample/tcp/skeleton/jsfix.test_client.txt +6 -0
  35. package/dist/sample/tcp/skeleton/jsfix.test_server.txt +6 -0
  36. package/dist/sample/tcp/trade-capture/index.js +5 -1
  37. package/dist/sample/tcp/trade-capture/index.js.map +1 -1
  38. package/dist/sample/tcp/trade-capture/jsfix.test_client.txt +16 -11
  39. package/dist/sample/tcp/trade-capture/jsfix.test_server.txt +16 -10
  40. package/dist/store/index.js +5 -1
  41. package/dist/store/index.js.map +1 -1
  42. package/dist/transport/ascii/index.js +5 -1
  43. package/dist/transport/ascii/index.js.map +1 -1
  44. package/dist/transport/duplex/index.js +5 -1
  45. package/dist/transport/duplex/index.js.map +1 -1
  46. package/dist/transport/factory/index.js +5 -1
  47. package/dist/transport/factory/index.js.map +1 -1
  48. package/dist/transport/fixml/index.js +5 -1
  49. package/dist/transport/fixml/index.js.map +1 -1
  50. package/dist/transport/http/index.js +5 -1
  51. package/dist/transport/http/index.js.map +1 -1
  52. package/dist/transport/index.js +5 -1
  53. package/dist/transport/index.js.map +1 -1
  54. package/dist/transport/tcp/index.js +5 -1
  55. package/dist/transport/tcp/index.js.map +1 -1
  56. package/dist/transport/tcp/tls-options-factory.js +11 -7
  57. package/dist/transport/tcp/tls-options-factory.js.map +1 -1
  58. package/dist/types/FIX.5.0SP2/repo/enum/index.js +5 -1
  59. package/dist/types/FIX.5.0SP2/repo/enum/index.js.map +1 -1
  60. package/dist/types/FIX.5.0SP2/repo/index.js +5 -1
  61. package/dist/types/FIX.5.0SP2/repo/index.js.map +1 -1
  62. package/dist/types/FIX4.0/repo/enum/index.js +5 -1
  63. package/dist/types/FIX4.0/repo/enum/index.js.map +1 -1
  64. package/dist/types/FIX4.0/repo/index.js +5 -1
  65. package/dist/types/FIX4.0/repo/index.js.map +1 -1
  66. package/dist/types/FIX4.1/repo/enum/index.js +5 -1
  67. package/dist/types/FIX4.1/repo/enum/index.js.map +1 -1
  68. package/dist/types/FIX4.1/repo/index.js +5 -1
  69. package/dist/types/FIX4.1/repo/index.js.map +1 -1
  70. package/dist/types/FIX4.2/repo/enum/index.js +5 -1
  71. package/dist/types/FIX4.2/repo/enum/index.js.map +1 -1
  72. package/dist/types/FIX4.2/repo/index.js +5 -1
  73. package/dist/types/FIX4.2/repo/index.js.map +1 -1
  74. package/dist/types/FIX4.3/repo/enum/index.js +5 -1
  75. package/dist/types/FIX4.3/repo/enum/index.js.map +1 -1
  76. package/dist/types/FIX4.3/repo/index.js +5 -1
  77. package/dist/types/FIX4.3/repo/index.js.map +1 -1
  78. package/dist/types/FIX4.4/quickfix/enum/index.js +5 -1
  79. package/dist/types/FIX4.4/quickfix/enum/index.js.map +1 -1
  80. package/dist/types/FIX4.4/quickfix/index.js +5 -1
  81. package/dist/types/FIX4.4/quickfix/index.js.map +1 -1
  82. package/dist/types/FIX4.4/repo/enum/index.js +5 -1
  83. package/dist/types/FIX4.4/repo/enum/index.js.map +1 -1
  84. package/dist/types/FIX4.4/repo/index.js +5 -1
  85. package/dist/types/FIX4.4/repo/index.js.map +1 -1
  86. package/dist/types/FIXML50SP2/enum/index.js +5 -1
  87. package/dist/types/FIXML50SP2/enum/index.js.map +1 -1
  88. package/dist/types/FIXML50SP2/index.js +5 -1
  89. package/dist/types/FIXML50SP2/index.js.map +1 -1
  90. package/dist/types/enum/index.js +5 -1
  91. package/dist/types/enum/index.js.map +1 -1
  92. package/dist/types/index.js +5 -1
  93. package/dist/types/index.js.map +1 -1
  94. package/dist/util/index.js +5 -1
  95. package/dist/util/index.js.map +1 -1
  96. package/package.json +14 -14
  97. package/src/runtime/session-launcher.ts +2 -2
  98. package/src/transport/tcp/tls-options-factory.ts +13 -7
  99. package/.eslintrc.js +0 -6
  100. package/dist/a-session-msg-factory.d.ts +0 -0
  101. package/dist/a-session-msg-factory.js +0 -1
  102. package/dist/a-session-msg-factory.js.map +0 -1
  103. package/dist/ascii-encoder.test.d.ts +0 -0
  104. package/dist/ascii-encoder.test.js +0 -1
  105. package/dist/ascii-encoder.test.js.map +0 -1
  106. package/dist/ascii-parser.test.d.ts +0 -0
  107. package/dist/ascii-parser.test.js +0 -1
  108. package/dist/ascii-parser.test.js.map +0 -1
  109. package/dist/ascii-segment.test.d.ts +0 -0
  110. package/dist/ascii-segment.test.js +0 -1
  111. package/dist/ascii-segment.test.js.map +0 -1
  112. package/dist/ascii-store-replay.test.d.ts +0 -0
  113. package/dist/ascii-store-replay.test.js +0 -1
  114. package/dist/ascii-store-replay.test.js.map +0 -1
  115. package/dist/ascii-tag-pos.test.d.ts +0 -0
  116. package/dist/ascii-tag-pos.test.js +0 -1
  117. package/dist/ascii-tag-pos.test.js.map +0 -1
  118. package/dist/buffer/segment-description.d.ts +0 -26
  119. package/dist/buffer/segment-description.js +0 -72
  120. package/dist/buffer/segment-description.js.map +0 -1
  121. package/dist/buffer/segment-summary.d.ts +0 -13
  122. package/dist/buffer/segment-summary.js +0 -20
  123. package/dist/buffer/segment-summary.js.map +0 -1
  124. package/dist/buffer/segment-type.d.ts +0 -8
  125. package/dist/buffer/segment-type.js +0 -13
  126. package/dist/buffer/segment-type.js.map +0 -1
  127. package/dist/buffer/tag-pos.d.ts +0 -12
  128. package/dist/buffer/tag-pos.js +0 -55
  129. package/dist/buffer/tag-pos.js.map +0 -1
  130. package/dist/buffer/tag-type.d.ts +0 -13
  131. package/dist/buffer/tag-type.js +0 -18
  132. package/dist/buffer/tag-type.js.map +0 -1
  133. package/dist/buffer/tags.d.ts +0 -21
  134. package/dist/buffer/tags.js +0 -122
  135. package/dist/buffer/tags.js.map +0 -1
  136. package/dist/dictionary/parser/fix-repository/repository-msg.d.ts +0 -0
  137. package/dist/dictionary/parser/fix-repository/repository-msg.js +0 -1
  138. package/dist/dictionary/parser/fix-repository/repository-msg.js.map +0 -1
  139. package/dist/execution-report.test.d.ts +0 -0
  140. package/dist/execution-report.test.js +0 -1
  141. package/dist/execution-report.test.js.map +0 -1
  142. package/dist/experiment.d.ts +0 -0
  143. package/dist/experiment.js +0 -1
  144. package/dist/experiment.js.map +0 -1
  145. package/dist/fix-repo-dict.test.d.ts +0 -0
  146. package/dist/fix-repo-dict.test.js +0 -1
  147. package/dist/fix-repo-dict.test.js.map +0 -1
  148. package/dist/fix-session-state-args.d.ts +0 -0
  149. package/dist/fix-session-state-args.js +0 -1
  150. package/dist/fix-session-state-args.js.map +0 -1
  151. package/dist/fix-session-state.d.ts +0 -0
  152. package/dist/fix-session-state.js +0 -1
  153. package/dist/fix-session-state.js.map +0 -1
  154. package/dist/fix-session.d.ts +0 -0
  155. package/dist/fix-session.js +0 -1
  156. package/dist/fix-session.js.map +0 -1
  157. package/dist/fix.txt +0 -1
  158. package/dist/fixml-alloc-parse.test.d.ts +0 -0
  159. package/dist/fixml-alloc-parse.test.js +0 -1
  160. package/dist/fixml-alloc-parse.test.js.map +0 -1
  161. package/dist/fixml-mkt-data-fut-parse.test.d.ts +0 -0
  162. package/dist/fixml-mkt-data-fut-parse.test.js +0 -1
  163. package/dist/fixml-mkt-data-fut-parse.test.js.map +0 -1
  164. package/dist/fixml-mkt-data-settle-parse.test.d.ts +0 -0
  165. package/dist/fixml-mkt-data-settle-parse.test.js +0 -1
  166. package/dist/fixml-mkt-data-settle-parse.test.js.map +0 -1
  167. package/dist/fixml-tc-bi-lateral-parse.test.d.ts +0 -0
  168. package/dist/fixml-tc-bi-lateral-parse.test.js +0 -1
  169. package/dist/fixml-tc-bi-lateral-parse.test.js.map +0 -1
  170. package/dist/includes.test.d.ts +0 -0
  171. package/dist/includes.test.js +0 -1
  172. package/dist/includes.test.js.map +0 -1
  173. package/dist/launcher.d.ts +0 -0
  174. package/dist/launcher.js +0 -1
  175. package/dist/launcher.js.map +0 -1
  176. package/dist/logon.test.d.ts +0 -0
  177. package/dist/logon.test.js +0 -1
  178. package/dist/logon.test.js.map +0 -1
  179. package/dist/make-fix-session.d.ts +0 -0
  180. package/dist/make-fix-session.js +0 -1
  181. package/dist/make-fix-session.js.map +0 -1
  182. package/dist/memory-store.test.d.ts +0 -0
  183. package/dist/memory-store.test.js +0 -1
  184. package/dist/memory-store.test.js.map +0 -1
  185. package/dist/object.json +0 -691
  186. package/dist/qf-full-msg.test.d.ts +0 -0
  187. package/dist/qf-full-msg.test.js +0 -1
  188. package/dist/qf-full-msg.test.js.map +0 -1
  189. package/dist/repo-full-ascii-msg.test.d.ts +0 -0
  190. package/dist/repo-full-ascii-msg.test.js +0 -1
  191. package/dist/repo-full-ascii-msg.test.js.map +0 -1
  192. package/dist/runtime/DITokens.d.ts +0 -20
  193. package/dist/runtime/DITokens.js +0 -25
  194. package/dist/runtime/DITokens.js.map +0 -1
  195. package/dist/runtime/app-launcher.d.ts +0 -27
  196. package/dist/runtime/app-launcher.js +0 -131
  197. package/dist/runtime/app-launcher.js.map +0 -1
  198. package/dist/runtime/launcher.d.ts +0 -29
  199. package/dist/runtime/launcher.js +0 -131
  200. package/dist/runtime/launcher.js.map +0 -1
  201. package/dist/sample/launcher.d.ts +0 -29
  202. package/dist/sample/launcher.js +0 -131
  203. package/dist/sample/launcher.js.map +0 -1
  204. package/dist/sample/tcp/trade-capture/app-launher.d.ts +0 -0
  205. package/dist/sample/tcp/trade-capture/app-launher.js +0 -1
  206. package/dist/sample/tcp/trade-capture/app-launher.js.map +0 -1
  207. package/dist/segment-description.d.ts +0 -0
  208. package/dist/segment-description.js +0 -1
  209. package/dist/segment-description.js.map +0 -1
  210. package/dist/segment-summary.d.ts +0 -0
  211. package/dist/segment-summary.js +0 -1
  212. package/dist/segment-summary.js.map +0 -1
  213. package/dist/segment-type.d.ts +0 -0
  214. package/dist/segment-type.js +0 -1
  215. package/dist/segment-type.js.map +0 -1
  216. package/dist/session-description.d.ts +0 -0
  217. package/dist/session-description.js +0 -1
  218. package/dist/session-description.js.map +0 -1
  219. package/dist/session-msg-factory.d.ts +0 -0
  220. package/dist/session-msg-factory.js +0 -1
  221. package/dist/session-msg-factory.js.map +0 -1
  222. package/dist/session-state.d.ts +0 -0
  223. package/dist/session-state.js +0 -1
  224. package/dist/session-state.js.map +0 -1
  225. package/dist/session-state.test.d.ts +0 -0
  226. package/dist/session-state.test.js +0 -1
  227. package/dist/session-state.test.js.map +0 -1
  228. package/dist/session.test.d.ts +0 -0
  229. package/dist/session.test.js +0 -1
  230. package/dist/session.test.js.map +0 -1
  231. package/dist/setup.d.ts +0 -0
  232. package/dist/setup.js +0 -1
  233. package/dist/setup.js.map +0 -1
  234. package/dist/skeleton-runner.d.ts +0 -0
  235. package/dist/skeleton-runner.js +0 -1
  236. package/dist/skeleton-runner.js.map +0 -1
  237. package/dist/structure.json +0 -631
  238. package/dist/tag-pos.d.ts +0 -0
  239. package/dist/tag-pos.js +0 -1
  240. package/dist/tag-pos.js.map +0 -1
  241. package/dist/tag-type.d.ts +0 -0
  242. package/dist/tag-type.js +0 -1
  243. package/dist/tag-type.js.map +0 -1
  244. package/dist/tags.d.ts +0 -0
  245. package/dist/tags.js +0 -1
  246. package/dist/tags.js.map +0 -1
  247. package/dist/test/ascii-encoder.test.d.ts +0 -1
  248. package/dist/test/ascii-encoder.test.js +0 -508
  249. package/dist/test/ascii-encoder.test.js.map +0 -1
  250. package/dist/test/ascii-parser.test.d.ts +0 -1
  251. package/dist/test/ascii-parser.test.js +0 -123
  252. package/dist/test/ascii-parser.test.js.map +0 -1
  253. package/dist/test/ascii-segment.test.d.ts +0 -1
  254. package/dist/test/ascii-segment.test.js +0 -86
  255. package/dist/test/ascii-segment.test.js.map +0 -1
  256. package/dist/test/ascii-store-replay.test.d.ts +0 -1
  257. package/dist/test/ascii-store-replay.test.js +0 -92
  258. package/dist/test/ascii-store-replay.test.js.map +0 -1
  259. package/dist/test/ascii-tag-pos.test.d.ts +0 -1
  260. package/dist/test/ascii-tag-pos.test.js +0 -105
  261. package/dist/test/ascii-tag-pos.test.js.map +0 -1
  262. package/dist/test/execution-report.test.d.ts +0 -1
  263. package/dist/test/execution-report.test.js +0 -494
  264. package/dist/test/execution-report.test.js.map +0 -1
  265. package/dist/test/experiment.d.ts +0 -23
  266. package/dist/test/experiment.js +0 -33
  267. package/dist/test/experiment.js.map +0 -1
  268. package/dist/test/expieriment.d.ts +0 -23
  269. package/dist/test/expieriment.js +0 -33
  270. package/dist/test/expieriment.js.map +0 -1
  271. package/dist/test/fix-log-replay.test.d.ts +0 -1
  272. package/dist/test/fix-log-replay.test.js +0 -47
  273. package/dist/test/fix-log-replay.test.js.map +0 -1
  274. package/dist/test/fix-repo-dict.test.d.ts +0 -1
  275. package/dist/test/fix-repo-dict.test.js +0 -128
  276. package/dist/test/fix-repo-dict.test.js.map +0 -1
  277. package/dist/test/fixml-alloc-parse.test.d.ts +0 -1
  278. package/dist/test/fixml-alloc-parse.test.js +0 -161
  279. package/dist/test/fixml-alloc-parse.test.js.map +0 -1
  280. package/dist/test/fixml-mkt-data-fut-parse.test.d.ts +0 -1
  281. package/dist/test/fixml-mkt-data-fut-parse.test.js +0 -61
  282. package/dist/test/fixml-mkt-data-fut-parse.test.js.map +0 -1
  283. package/dist/test/fixml-mkt-data-settle-parse.test.d.ts +0 -1
  284. package/dist/test/fixml-mkt-data-settle-parse.test.js +0 -34
  285. package/dist/test/fixml-mkt-data-settle-parse.test.js.map +0 -1
  286. package/dist/test/fixml-tc-bi-lateral-parse.test.d.ts +0 -1
  287. package/dist/test/fixml-tc-bi-lateral-parse.test.js +0 -97
  288. package/dist/test/fixml-tc-bi-lateral-parse.test.js.map +0 -1
  289. package/dist/test/includes.test.d.ts +0 -1
  290. package/dist/test/includes.test.js +0 -43
  291. package/dist/test/includes.test.js.map +0 -1
  292. package/dist/test/logon.test.d.ts +0 -1
  293. package/dist/test/logon.test.js +0 -93
  294. package/dist/test/logon.test.js.map +0 -1
  295. package/dist/test/memory-store.test.d.ts +0 -1
  296. package/dist/test/memory-store.test.js +0 -78
  297. package/dist/test/memory-store.test.js.map +0 -1
  298. package/dist/test/qf-full-msg.test.d.ts +0 -1
  299. package/dist/test/qf-full-msg.test.js +0 -81
  300. package/dist/test/qf-full-msg.test.js.map +0 -1
  301. package/dist/test/repo-full-ascii-msg.test.d.ts +0 -1
  302. package/dist/test/repo-full-ascii-msg.test.js +0 -87
  303. package/dist/test/repo-full-ascii-msg.test.js.map +0 -1
  304. package/dist/test/repo-full-fixml-msg.test.d.ts +0 -1
  305. package/dist/test/repo-full-fixml-msg.test.js +0 -139
  306. package/dist/test/repo-full-fixml-msg.test.js.map +0 -1
  307. package/dist/test/session-state.test.d.ts +0 -1
  308. package/dist/test/session-state.test.js +0 -73
  309. package/dist/test/session-state.test.js.map +0 -1
  310. package/dist/test/session.test.d.ts +0 -1
  311. package/dist/test/session.test.js +0 -280
  312. package/dist/test/session.test.js.map +0 -1
  313. package/dist/test/setup.d.ts +0 -45
  314. package/dist/test/setup.js +0 -102
  315. package/dist/test/setup.js.map +0 -1
  316. package/dist/test/skeleton-runner.d.ts +0 -15
  317. package/dist/test/skeleton-runner.js +0 -108
  318. package/dist/test/skeleton-runner.js.map +0 -1
  319. package/dist/test/time-formatter.test.d.ts +0 -1
  320. package/dist/test/time-formatter.test.js +0 -80
  321. package/dist/test/time-formatter.test.js.map +0 -1
  322. package/dist/test/to-views.d.ts +0 -11
  323. package/dist/test/to-views.js +0 -56
  324. package/dist/test/to-views.js.map +0 -1
  325. package/dist/test/view-decode.test.d.ts +0 -1
  326. package/dist/test/view-decode.test.js +0 -183
  327. package/dist/test/view-decode.test.js.map +0 -1
  328. package/dist/time-formatter.test.d.ts +0 -0
  329. package/dist/time-formatter.test.js +0 -1
  330. package/dist/time-formatter.test.js.map +0 -1
  331. package/dist/to-views.d.ts +0 -0
  332. package/dist/to-views.js +0 -1
  333. package/dist/to-views.js.map +0 -1
  334. package/dist/token.txt +0 -248
  335. package/dist/transport/FixEntity.d.ts +0 -8
  336. package/dist/transport/FixEntity.js +0 -12
  337. package/dist/transport/FixEntity.js.map +0 -1
  338. package/dist/transport/a-session-msg-factory.d.ts +0 -23
  339. package/dist/transport/a-session-msg-factory.js +0 -58
  340. package/dist/transport/a-session-msg-factory.js.map +0 -1
  341. package/dist/transport/fix-msg-factory.d.ts +0 -15
  342. package/dist/transport/fix-msg-factory.js +0 -3
  343. package/dist/transport/fix-msg-factory.js.map +0 -1
  344. package/dist/transport/fix-session-state-args.d.ts +0 -8
  345. package/dist/transport/fix-session-state-args.js +0 -3
  346. package/dist/transport/fix-session-state-args.js.map +0 -1
  347. package/dist/transport/fix-session-state.d.ts +0 -32
  348. package/dist/transport/fix-session-state.js +0 -133
  349. package/dist/transport/fix-session-state.js.map +0 -1
  350. package/dist/transport/fix-session.d.ts +0 -50
  351. package/dist/transport/fix-session.js +0 -291
  352. package/dist/transport/fix-session.js.map +0 -1
  353. package/dist/transport/make-fix-session.d.ts +0 -5
  354. package/dist/transport/make-fix-session.js +0 -3
  355. package/dist/transport/make-fix-session.js.map +0 -1
  356. package/dist/transport/session-description.d.ts +0 -17
  357. package/dist/transport/session-description.js +0 -3
  358. package/dist/transport/session-description.js.map +0 -1
  359. package/dist/transport/session-msg-factory.d.ts +0 -15
  360. package/dist/transport/session-msg-factory.js +0 -3
  361. package/dist/transport/session-msg-factory.js.map +0 -1
  362. package/dist/transport/session-state.d.ts +0 -25
  363. package/dist/transport/session-state.js +0 -30
  364. package/dist/transport/session-state.js.map +0 -1
@@ -1,78 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- require("reflect-metadata");
13
- const path = require("path");
14
- const util_1 = require("../util");
15
- const store_1 = require("../store");
16
- const types_1 = require("../types");
17
- const setup_1 = require("./env/setup");
18
- const root = path.join(__dirname, '../../data');
19
- let definitions;
20
- let views;
21
- let expected;
22
- let store;
23
- let records;
24
- let setup = null;
25
- beforeAll(() => __awaiter(void 0, void 0, void 0, function* () {
26
- setup = new setup_1.Setup('session/test-initiator.json', 'session/test-acceptor.json');
27
- yield setup.init();
28
- definitions = setup.serverConfig.definitions;
29
- expected = require(path.join(root, 'examples/FIX.4.4/fix.json'));
30
- const sessionDescription = setup.clientDescription;
31
- definitions = yield new util_1.DefinitionFactory().getDefinitions(sessionDescription.application.dictionary);
32
- views = yield setup.client.replayer.replayFixFile(path.join(root, 'examples/FIX.4.4/jsfix.test_client.txt'));
33
- store = new store_1.FixMsgMemoryStore('test', setup.clientConfig);
34
- records = views.reduce((agg, v) => {
35
- if (v.getString(types_1.MsgTag.SenderCompID) === 'accept-tls-comp') {
36
- agg.push(store_1.FixMsgStoreRecord.toMsgStoreRecord(v));
37
- }
38
- return agg;
39
- }, []);
40
- const toWrite = records.map(r => store.put(r));
41
- yield Promise.all(toWrite);
42
- }), 45000);
43
- test('expect 15 messages in log', () => {
44
- expect(views.length).toEqual(15);
45
- });
46
- test('check messages loaded into store', () => __awaiter(void 0, void 0, void 0, function* () {
47
- const state = yield store.getState();
48
- expect(state.lastSeq).toEqual(10);
49
- expect(state.length).toEqual(9);
50
- }));
51
- test('fetch sequence number from store', () => __awaiter(void 0, void 0, void 0, function* () {
52
- const res1 = yield store.exists(1);
53
- expect(res1).toBeFalsy();
54
- for (let seq = 2; seq <= 10; ++seq) {
55
- const res = yield store.exists(seq);
56
- expect(res).toBeTruthy();
57
- const get = yield store.get(seq);
58
- expect(get).toBeTruthy();
59
- }
60
- }));
61
- test('fetch from seqNum to inferred as end ', () => __awaiter(void 0, void 0, void 0, function* () {
62
- const range1 = yield store.getSeqNumRange(5);
63
- expect(range1.length).toEqual(6);
64
- expect(range1[0].seqNum).toEqual(5);
65
- expect(range1[range1.length - 1].seqNum).toEqual(10);
66
- }));
67
- test('fetch from seqNum to = start', () => __awaiter(void 0, void 0, void 0, function* () {
68
- const range1 = yield store.getSeqNumRange(5, 5);
69
- expect(range1.length).toEqual(1);
70
- expect(range1[0].seqNum).toEqual(5);
71
- }));
72
- test('fetch start from seqNum not in store', () => __awaiter(void 0, void 0, void 0, function* () {
73
- const range1 = yield store.getSeqNumRange(1);
74
- expect(range1.length).toEqual(9);
75
- expect(range1[0].seqNum).toEqual(2);
76
- expect(range1[range1.length - 1].seqNum).toEqual(10);
77
- }));
78
- //# sourceMappingURL=memory-store.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"memory-store.test.js","sourceRoot":"","sources":["../../src/test/memory-store.test.ts"],"names":[],"mappings":"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","sourcesContent":["import 'reflect-metadata'\r\n\r\nimport * as path from 'path'\r\nimport { FixDefinitions } from '../dictionary/definition'\r\nimport { MsgView } from '../buffer'\r\nimport { AsciiView } from '../buffer/ascii'\r\nimport { ILooseObject } from '../collections/collection'\r\nimport { DefinitionFactory, FileReplayer } from '../util'\r\nimport { FixMsgMemoryStore, FixMsgStoreRecord, IFixMsgStore } from '../store'\r\nimport { MsgTag } from '../types'\r\nimport { Setup } from './env/setup'\r\n\r\nconst root: string = path.join(__dirname, '../../data')\r\n\r\nlet definitions: FixDefinitions\r\nlet views: MsgView[]\r\nlet expected: ILooseObject\r\nlet store: IFixMsgStore\r\nlet records: FixMsgStoreRecord[]\r\nlet setup: Setup = null\r\n\r\nbeforeAll(async () => {\r\n setup = new Setup('session/test-initiator.json','session/test-acceptor.json')\r\n await setup.init()\r\n definitions = setup.serverConfig.definitions\r\n expected = require(path.join(root, 'examples/FIX.4.4/fix.json'))\r\n const sessionDescription = setup.clientDescription\r\n definitions = await new DefinitionFactory().getDefinitions(sessionDescription.application.dictionary)\r\n views = await setup.client.replayer.replayFixFile(path.join(root, 'examples/FIX.4.4/jsfix.test_client.txt'))\r\n store = new FixMsgMemoryStore('test', setup.clientConfig)\r\n records = views.reduce((agg: FixMsgStoreRecord[], v: AsciiView) => {\r\n if (v.getString(MsgTag.SenderCompID) === 'accept-tls-comp') {\r\n agg.push(FixMsgStoreRecord.toMsgStoreRecord(v))\r\n }\r\n return agg\r\n }, [])\r\n const toWrite = records.map(r => store.put(r))\r\n await Promise.all(toWrite)\r\n}, 45000)\r\n\r\ntest('expect 15 messages in log', () => {\r\n expect(views.length).toEqual(15)\r\n})\r\n\r\n/*\r\n8=FIX4.4|9=000112|35=AQ|49=accept-tls-comp|56=init-tls-comp|34=2|57=fix|52=20210307-16:16:44.429|568=all-trades|569=0|749=0|750=0|10=142|\r\n8=FIX4.4|9=000209|35=AE|49=accept-tls-comp|56=init-tls-comp|34=3|57=fix|52=20210307-16:16:44.430|571=100000|487=0|856=0|828=0|17=600000|39=2|570=N|55=Platinum|48=Platinum.INC|32=172|31=7.36|75=20210307|60=20210307-16:16:44.430|10=043|\r\n8=FIX4.4|9=000202|35=AE|49=accept-tls-comp|56=init-tls-comp|34=4|57=fix|52=20210307-16:16:44.431|571=100001|487=0|856=0|828=0|17=600001|39=2|570=N|55=Gold|48=Gold.INC|32=175|31=83.67|75=20210307|60=20210307-16:16:44.430|10=219|\r\n8=FIX4.4|9=000210|35=AE|49=accept-tls-comp|56=init-tls-comp|34=5|57=fix|52=20210307-16:16:44.432|571=100002|487=0|856=0|828=0|17=600002|39=2|570=N|55=Platinum|48=Platinum.INC|32=146|31=41.79|75=20210307|60=20210307-16:16:44.430|10=097|\r\n8=FIX4.4|9=000211|35=AE|49=accept-tls-comp|56=init-tls-comp|34=6|57=fix|52=20210307-16:16:44.432|571=100003|487=0|856=0|828=0|17=600003|39=2|570=N|55=Magnesium|48=Magnesium.INC|32=156|31=8.02|75=20210307|60=20210307-16:16:44.430|10=227|\r\n8=FIX4.4|9=000202|35=AE|49=accept-tls-comp|56=init-tls-comp|34=7|57=fix|52=20210307-16:16:44.432|571=100004|487=0|856=0|828=0|17=600004|39=2|570=N|55=Gold|48=Gold.INC|32=136|31=32.13|75=20210307|60=20210307-16:16:44.430|10=211|\r\n8=FIX4.4|9=000112|35=AQ|49=accept-tls-comp|56=init-tls-comp|34=8|57=fix|52=20210307-16:16:44.433|568=all-trades|569=0|749=0|750=1|10=144|\r\n8=FIX4.4|9=000202|35=AE|49=accept-tls-comp|56=init-tls-comp|34=9|57=fix|52=20210307-16:16:59.449|571=100005|487=0|856=0|828=0|17=600005|39=2|570=N|55=Gold|48=Gold.INC|32=166|31=53.91|75=20210307|60=20210307-16:16:59.449|10=001|\r\n8=FIX4.4|9=000206|35=AE|49=accept-tls-comp|56=init-tls-comp|34=10|57=fix|52=20210307-16:17:14.477|571=100006|487=0|856=0|828=0|17=600006|39=2|570=N|55=Silver|48=Silver.INC|32=105|31=61.2|75=20210307|60=20210307-16:17:14.477|10=191|\r\n */\r\n\r\ntest('check messages loaded into store', async () => {\r\n const state = await store.getState()\r\n expect(state.lastSeq).toEqual(10)\r\n expect(state.length).toEqual(9)\r\n})\r\n\r\ntest('fetch sequence number from store', async () => {\r\n const res1 = await store.exists(1)\r\n expect(res1).toBeFalsy()\r\n for (let seq = 2; seq <= 10; ++seq) {\r\n const res = await store.exists(seq)\r\n expect(res).toBeTruthy()\r\n const get = await store.get(seq)\r\n expect(get).toBeTruthy()\r\n }\r\n})\r\n\r\ntest('fetch from seqNum to inferred as end ', async () => {\r\n const range1 = await store.getSeqNumRange(5) // to the end\r\n expect(range1.length).toEqual(6)\r\n expect(range1[0].seqNum).toEqual(5)\r\n expect(range1[range1.length - 1].seqNum).toEqual(10)\r\n})\r\n\r\ntest('fetch from seqNum to = start', async () => {\r\n const range1 = await store.getSeqNumRange(5, 5)\r\n expect(range1.length).toEqual(1)\r\n expect(range1[0].seqNum).toEqual(5)\r\n})\r\n\r\ntest('fetch start from seqNum not in store', async () => {\r\n const range1 = await store.getSeqNumRange(1)\r\n expect(range1.length).toEqual(9)\r\n expect(range1[0].seqNum).toEqual(2)\r\n expect(range1[range1.length - 1].seqNum).toEqual(10)\r\n})\r\n"]}
@@ -1 +0,0 @@
1
- import 'reflect-metadata';
@@ -1,81 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- require("reflect-metadata");
13
- const path = require("path");
14
- const ascii_1 = require("../buffer/ascii");
15
- const util_1 = require("../util");
16
- const __1 = require("..");
17
- const ascii_msg_transmitter_1 = require("../transport/ascii/ascii-msg-transmitter");
18
- const setup_1 = require("./env/setup");
19
- const di_tokens_1 = require("../runtime/di-tokens");
20
- let definitions;
21
- let jsonHelper;
22
- let config;
23
- const root = path.join(__dirname, '../../data/examples/FIX.4.4/quickfix');
24
- let setup;
25
- beforeAll(() => __awaiter(void 0, void 0, void 0, function* () {
26
- setup = new setup_1.Setup('session/qf-fix44.json', 'session/qf-fix44.json');
27
- yield setup.init();
28
- definitions = setup.definitions;
29
- jsonHelper = new util_1.JsonHelper(definitions);
30
- config = setup.clientConfig;
31
- }), 45000);
32
- function testEncodeDecode(msgType, msg) {
33
- return __awaiter(this, void 0, void 0, function* () {
34
- return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
35
- let session = new ascii_msg_transmitter_1.AsciiMsgTransmitter(config);
36
- const parseBuffer = config.sessionContainer.resolve(di_tokens_1.DITokens.ParseBuffer);
37
- const parser = new ascii_1.AsciiParser(config, session.encodeStream, parseBuffer);
38
- parser.on('msg', (msgType, view) => {
39
- const o = view.toObject();
40
- delete o.StandardHeader;
41
- delete o.StandardTrailer;
42
- resolve(o);
43
- });
44
- parser.on('error', (e) => {
45
- reject(e);
46
- });
47
- session.send(msgType, msg);
48
- }));
49
- });
50
- }
51
- test('test logon JSON => object => fix => object', () => __awaiter(void 0, void 0, void 0, function* () {
52
- const msgType = __1.MsgType.Logon;
53
- const file = path.join(root, 'logon/object.json');
54
- const msg = jsonHelper.fromJson(file, msgType);
55
- yield expect(testEncodeDecode(msgType, msg)).resolves.toEqual(msg);
56
- }), 1000);
57
- test('test execution report JSON => object => fix => object', () => __awaiter(void 0, void 0, void 0, function* () {
58
- const msgType = __1.MsgType.ExecutionReport;
59
- const file = path.join(root, 'execution-report/object.json');
60
- const msg = jsonHelper.fromJson(file, msgType);
61
- yield expect(testEncodeDecode(msgType, msg)).resolves.toEqual(msg);
62
- }), 2000);
63
- test('test order cxl reject JSON => object => fix => object', () => __awaiter(void 0, void 0, void 0, function* () {
64
- const msgType = __1.MsgType.OrderCancelReject;
65
- const file = path.join(root, 'order-cancel-reject/object.json');
66
- const msg = jsonHelper.fromJson(file, msgType);
67
- yield expect(testEncodeDecode(msgType, msg)).resolves.toEqual(msg);
68
- }), 1000);
69
- test('test quote request JSON => object => fix => object', () => __awaiter(void 0, void 0, void 0, function* () {
70
- const msgType = __1.MsgType.QuoteRequest;
71
- const file = path.join(root, 'quote-request/object.json');
72
- const msg = jsonHelper.fromJson(file, msgType);
73
- yield expect(testEncodeDecode(msgType, msg)).resolves.toEqual(msg);
74
- }), 1000);
75
- test('test md request JSON => object => fix => object', () => __awaiter(void 0, void 0, void 0, function* () {
76
- const msgType = __1.MsgType.MarketDataSnapshotFullRefresh;
77
- const file = path.join(root, 'md-data-snapshot/object.json');
78
- const msg = jsonHelper.fromJson(file, msgType);
79
- yield expect(testEncodeDecode(msgType, msg)).resolves.toEqual(msg);
80
- }), 1000);
81
- //# sourceMappingURL=qf-full-msg.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"qf-full-msg.test.js","sourceRoot":"","sources":["../../src/test/qf-full-msg.test.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,4BAAyB;AAEzB,6BAA4B;AAC5B,2CAAwD;AAGxD,kCAAoC;AACpC,0BAAyD;AACzD,oFAA8E;AAC9E,uCAAmC;AACnC,oDAA+C;AAE/C,IAAI,WAA2B,CAAA;AAC/B,IAAI,UAAsB,CAAA;AAC1B,IAAI,MAAoB,CAAA;AACxB,MAAM,IAAI,GAAW,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,sCAAsC,CAAC,CAAA;AACjF,IAAI,KAAY,CAAA;AAEhB,SAAS,CAAC,GAAS,EAAE;IACnB,KAAK,GAAG,IAAI,aAAK,CAAC,uBAAuB,EAAE,uBAAuB,CAAC,CAAA;IACnE,MAAM,KAAK,CAAC,IAAI,EAAE,CAAA;IAClB,WAAW,GAAG,KAAK,CAAC,WAAW,CAAA;IAC/B,UAAU,GAAG,IAAI,iBAAU,CAAC,WAAW,CAAC,CAAA;IACxC,MAAM,GAAG,KAAK,CAAC,YAAY,CAAA;AAC7B,CAAC,CAAA,EAAE,KAAK,CAAC,CAAA;AAET,SAAe,gBAAgB,CAAE,OAAe,EAAE,GAAiB;;QAEjE,OAAO,IAAI,OAAO,CAAC,CAAO,OAAO,EAAE,MAAM,EAAE,EAAE;YAC3C,IAAI,OAAO,GAAwB,IAAI,2CAAmB,CAAC,MAAM,CAAC,CAAA;YAClE,MAAM,WAAW,GAAG,MAAM,CAAC,gBAAgB,CAAC,OAAO,CAAgB,oBAAQ,CAAC,WAAW,CAAC,CAAA;YACxF,MAAM,MAAM,GAAgB,IAAI,mBAAW,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,EAAE,WAAW,CAAC,CAAA;YACtF,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,OAAe,EAAE,IAAe,EAAE,EAAE;gBACpD,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAA;gBACzB,OAAO,CAAC,CAAC,cAAc,CAAA;gBACvB,OAAO,CAAC,CAAC,eAAe,CAAA;gBACxB,OAAO,CAAC,CAAC,CAAC,CAAA;YACZ,CAAC,CAAC,CAAA;YACF,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAQ,EAAE,EAAE;gBAC9B,MAAM,CAAC,CAAC,CAAC,CAAA;YACX,CAAC,CAAC,CAAA;YACF,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;QAC5B,CAAC,CAAA,CAAC,CAAA;IACJ,CAAC;CAAA;AAED,IAAI,CAAC,4CAA4C,EAAE,GAAS,EAAE;IAC5D,MAAM,OAAO,GAAW,WAAO,CAAC,KAAK,CAAA;IACrC,MAAM,IAAI,GAAW,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAA;IACzD,MAAM,GAAG,GAAiB,UAAU,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IAC5D,MAAM,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;AACpE,CAAC,CAAA,EAAE,IAAI,CAAC,CAAA;AAER,IAAI,CAAC,uDAAuD,EAAE,GAAS,EAAE;IACvE,MAAM,OAAO,GAAW,WAAO,CAAC,eAAe,CAAA;IAC/C,MAAM,IAAI,GAAW,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,8BAA8B,CAAC,CAAA;IACpE,MAAM,GAAG,GAAiB,UAAU,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IAC5D,MAAM,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;AACpE,CAAC,CAAA,EAAE,IAAI,CAAC,CAAA;AAER,IAAI,CAAC,uDAAuD,EAAE,GAAS,EAAE;IACvE,MAAM,OAAO,GAAW,WAAO,CAAC,iBAAiB,CAAA;IACjD,MAAM,IAAI,GAAW,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,iCAAiC,CAAC,CAAA;IACvE,MAAM,GAAG,GAAiB,UAAU,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IAC5D,MAAM,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;AACpE,CAAC,CAAA,EAAE,IAAI,CAAC,CAAA;AAER,IAAI,CAAC,oDAAoD,EAAE,GAAS,EAAE;IACpE,MAAM,OAAO,GAAW,WAAO,CAAC,YAAY,CAAA;IAC5C,MAAM,IAAI,GAAW,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,2BAA2B,CAAC,CAAA;IACjE,MAAM,GAAG,GAAiB,UAAU,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IAC5D,MAAM,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;AACpE,CAAC,CAAA,EAAE,IAAI,CAAC,CAAA;AAER,IAAI,CAAC,iDAAiD,EAAE,GAAS,EAAE;IACjE,MAAM,OAAO,GAAW,WAAO,CAAC,6BAA6B,CAAA;IAC7D,MAAM,IAAI,GAAW,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,8BAA8B,CAAC,CAAA;IACpE,MAAM,GAAG,GAAiB,UAAU,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IAC5D,MAAM,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;AACpE,CAAC,CAAA,EAAE,IAAI,CAAC,CAAA","sourcesContent":["import 'reflect-metadata'\r\n\r\nimport * as path from 'path'\r\nimport { AsciiParser, AsciiView } from '../buffer/ascii'\r\nimport { ILooseObject } from '../collections/collection'\r\nimport { FixDefinitions } from '../dictionary/definition'\r\nimport { JsonHelper } from '../util'\r\nimport { ElasticBuffer, IJsFixConfig, MsgType } from '..'\r\nimport { AsciiMsgTransmitter } from '../transport/ascii/ascii-msg-transmitter'\r\nimport { Setup } from './env/setup'\r\nimport { DITokens } from '../runtime/di-tokens'\r\n\r\nlet definitions: FixDefinitions\r\nlet jsonHelper: JsonHelper\r\nlet config: IJsFixConfig\r\nconst root: string = path.join(__dirname, '../../data/examples/FIX.4.4/quickfix')\r\nlet setup: Setup\r\n\r\nbeforeAll(async () => {\r\n setup = new Setup('session/qf-fix44.json', 'session/qf-fix44.json')\r\n await setup.init()\r\n definitions = setup.definitions\r\n jsonHelper = new JsonHelper(definitions)\r\n config = setup.clientConfig\r\n}, 45000)\r\n\r\nasync function testEncodeDecode (msgType: string, msg: ILooseObject): Promise<ILooseObject> {\r\n // encode to FIX format from provided object.\r\n return new Promise(async (resolve, reject) => {\r\n let session: AsciiMsgTransmitter = new AsciiMsgTransmitter(config)\r\n const parseBuffer = config.sessionContainer.resolve<ElasticBuffer>(DITokens.ParseBuffer)\r\n const parser: AsciiParser = new AsciiParser(config, session.encodeStream, parseBuffer)\r\n parser.on('msg', (msgType: string, view: AsciiView) => {\r\n const o = view.toObject()\r\n delete o.StandardHeader\r\n delete o.StandardTrailer\r\n resolve(o)\r\n })\r\n parser.on('error', (e: Error) => {\r\n reject(e)\r\n })\r\n session.send(msgType, msg)\r\n })\r\n}\r\n\r\ntest('test logon JSON => object => fix => object', async () => {\r\n const msgType: string = MsgType.Logon\r\n const file: string = path.join(root, 'logon/object.json')\r\n const msg: ILooseObject = jsonHelper.fromJson(file, msgType)\r\n await expect(testEncodeDecode(msgType, msg)).resolves.toEqual(msg)\r\n}, 1000)\r\n\r\ntest('test execution report JSON => object => fix => object', async () => {\r\n const msgType: string = MsgType.ExecutionReport\r\n const file: string = path.join(root, 'execution-report/object.json')\r\n const msg: ILooseObject = jsonHelper.fromJson(file, msgType)\r\n await expect(testEncodeDecode(msgType, msg)).resolves.toEqual(msg)\r\n}, 2000)\r\n\r\ntest('test order cxl reject JSON => object => fix => object', async () => {\r\n const msgType: string = MsgType.OrderCancelReject\r\n const file: string = path.join(root, 'order-cancel-reject/object.json')\r\n const msg: ILooseObject = jsonHelper.fromJson(file, msgType)\r\n await expect(testEncodeDecode(msgType, msg)).resolves.toEqual(msg)\r\n}, 1000)\r\n\r\ntest('test quote request JSON => object => fix => object', async () => {\r\n const msgType: string = MsgType.QuoteRequest\r\n const file: string = path.join(root, 'quote-request/object.json')\r\n const msg: ILooseObject = jsonHelper.fromJson(file, msgType)\r\n await expect(testEncodeDecode(msgType, msg)).resolves.toEqual(msg)\r\n}, 1000)\r\n\r\ntest('test md request JSON => object => fix => object', async () => {\r\n const msgType: string = MsgType.MarketDataSnapshotFullRefresh\r\n const file: string = path.join(root, 'md-data-snapshot/object.json')\r\n const msg: ILooseObject = jsonHelper.fromJson(file, msgType)\r\n await expect(testEncodeDecode(msgType, msg)).resolves.toEqual(msg)\r\n}, 1000)\r\n"]}
@@ -1 +0,0 @@
1
- import 'reflect-metadata';
@@ -1,87 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- require("reflect-metadata");
13
- const path = require("path");
14
- const ascii_1 = require("../buffer/ascii");
15
- const util_1 = require("../util");
16
- const __1 = require("..");
17
- const setup_1 = require("./env/setup");
18
- const di_tokens_1 = require("../runtime/di-tokens");
19
- let definitions;
20
- let jsonHelper;
21
- let session;
22
- const root = path.join(__dirname, '../../data/examples/FIX.4.4/repo/');
23
- let config;
24
- let setup = null;
25
- beforeAll(() => __awaiter(void 0, void 0, void 0, function* () {
26
- setup = new setup_1.Setup();
27
- yield setup.init();
28
- definitions = setup.definitions;
29
- jsonHelper = new util_1.JsonHelper(definitions);
30
- config = setup.clientConfig;
31
- session = setup.clientSessionContainer.resolve(di_tokens_1.DITokens.MsgTransmitter);
32
- }));
33
- function testEncodeDecode(msgType, msg) {
34
- return __awaiter(this, void 0, void 0, function* () {
35
- return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
36
- const rxBuffer = config.sessionContainer.resolve(di_tokens_1.DITokens.ParseBuffer);
37
- const parser = new ascii_1.AsciiParser(config, session.encodeStream, rxBuffer);
38
- parser.on('msg', (msgType, view) => {
39
- const o = view.toObject();
40
- delete o['StandardHeader'];
41
- delete o['StandardTrailer'];
42
- resolve(o);
43
- });
44
- parser.on('error', (e) => {
45
- reject(e);
46
- });
47
- session.send(msgType, msg);
48
- }));
49
- });
50
- }
51
- test('check 1 digit checksum format', () => __awaiter(void 0, void 0, void 0, function* () {
52
- const factory = session.config.factory;
53
- const cs = factory.trailer(1);
54
- expect(cs.CheckSum).toEqual('001');
55
- }));
56
- test('check 2 digit checksum format', () => __awaiter(void 0, void 0, void 0, function* () {
57
- const factory = session.config.factory;
58
- const cs = factory.trailer(10);
59
- expect(cs.CheckSum).toEqual('010');
60
- }));
61
- test('check 3 digit checksum format', () => __awaiter(void 0, void 0, void 0, function* () {
62
- const factory = session.config.factory;
63
- const cs = factory.trailer(100);
64
- expect(cs.CheckSum).toEqual('100');
65
- }));
66
- test('AE object to ascii fix to object', () => __awaiter(void 0, void 0, void 0, function* () {
67
- const msgType = __1.MsgType.TradeCaptureReport;
68
- const file = path.join(root, 'trade-capture/object.json');
69
- const msg = jsonHelper.fromJson(file, msgType);
70
- const o = yield testEncodeDecode(msgType, msg);
71
- expect(o).toEqual(msg);
72
- }), 1000);
73
- test('d object to ascii fix to object', () => __awaiter(void 0, void 0, void 0, function* () {
74
- const msgType = __1.MsgType.SecurityDefinition;
75
- const file = path.join(root, 'security-definition/object.json');
76
- const msg = jsonHelper.fromJson(file, msgType);
77
- const o = yield testEncodeDecode(msgType, msg);
78
- expect(o).toEqual(msg);
79
- }), 1000);
80
- test('D object to ascii fix to object', () => __awaiter(void 0, void 0, void 0, function* () {
81
- const msgType = __1.MsgType.NewOrderSingle;
82
- const file = path.join(root, 'new-order-single/object.json');
83
- const msg = jsonHelper.fromJson(file, msgType);
84
- const o = yield testEncodeDecode(msgType, msg);
85
- expect(o).toEqual(msg);
86
- }), 1000);
87
- //# sourceMappingURL=repo-full-ascii-msg.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"repo-full-ascii-msg.test.js","sourceRoot":"","sources":["../../src/test/repo-full-ascii-msg.test.ts"],"names":[],"mappings":"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","sourcesContent":["import 'reflect-metadata'\r\nimport * as path from 'path'\r\nimport { AsciiParser, AsciiView } from '../buffer/ascii'\r\nimport { ILooseObject } from '../collections/collection'\r\nimport { FixDefinitions } from '../dictionary/definition'\r\nimport { JsonHelper } from '../util'\r\nimport { IJsFixConfig } from '../config'\r\nimport { ElasticBuffer, MsgType } from '..'\r\nimport { AsciiMsgTransmitter } from '../transport/ascii/ascii-msg-transmitter'\r\nimport { Setup } from './env/setup'\r\nimport { DITokens } from '../runtime/di-tokens'\r\n\r\nlet definitions: FixDefinitions\r\nlet jsonHelper: JsonHelper\r\nlet session: AsciiMsgTransmitter\r\nconst root: string = path.join(__dirname, '../../data/examples/FIX.4.4/repo/')\r\nlet config: IJsFixConfig\r\nlet setup: Setup = null\r\nbeforeAll(async () => {\r\n setup = new Setup()\r\n await setup.init()\r\n definitions = setup.definitions\r\n jsonHelper = new JsonHelper(definitions)\r\n config = setup.clientConfig\r\n session = setup.clientSessionContainer.resolve<AsciiMsgTransmitter>(DITokens.MsgTransmitter)\r\n})\r\n\r\nasync function testEncodeDecode (msgType: string, msg: ILooseObject): Promise<ILooseObject> {\r\n // encode to FIX format from provided object.\r\n return new Promise(async (resolve, reject) => {\r\n const rxBuffer = config.sessionContainer.resolve<ElasticBuffer>(DITokens.ParseBuffer)\r\n const parser: AsciiParser = new AsciiParser(config, session.encodeStream, rxBuffer)\r\n parser.on('msg', (msgType: string, view: AsciiView) => {\r\n const o = view.toObject()\r\n delete o['StandardHeader']\r\n delete o['StandardTrailer']\r\n resolve(o)\r\n })\r\n parser.on('error', (e: Error) => {\r\n reject(e)\r\n })\r\n // encode the message\r\n session.send(msgType, msg)\r\n })\r\n}\r\n\r\ntest('check 1 digit checksum format', async () => {\r\n const factory = session.config.factory\r\n const cs = factory.trailer(1)\r\n expect(cs.CheckSum).toEqual('001')\r\n})\r\n\r\ntest('check 2 digit checksum format', async () => {\r\n const factory = session.config.factory\r\n const cs = factory.trailer(10)\r\n expect(cs.CheckSum).toEqual('010')\r\n})\r\n\r\ntest('check 3 digit checksum format', async () => {\r\n const factory = session.config.factory\r\n const cs = factory.trailer(100)\r\n expect(cs.CheckSum).toEqual('100')\r\n})\r\n\r\ntest('AE object to ascii fix to object', async () => {\r\n const msgType: string = MsgType.TradeCaptureReport\r\n const file: string = path.join(root, 'trade-capture/object.json')\r\n const msg: ILooseObject = jsonHelper.fromJson(file, msgType)\r\n const o: ILooseObject = await testEncodeDecode(msgType, msg)\r\n\r\n expect(o).toEqual(msg)\r\n}, 1000)\r\n\r\ntest('d object to ascii fix to object', async () => {\r\n const msgType: string = MsgType.SecurityDefinition\r\n const file: string = path.join(root, 'security-definition/object.json')\r\n const msg: ILooseObject = jsonHelper.fromJson(file, msgType)\r\n const o: ILooseObject = await testEncodeDecode(msgType, msg)\r\n\r\n expect(o).toEqual(msg)\r\n}, 1000)\r\n\r\ntest('D object to ascii fix to object', async () => {\r\n const msgType: string = MsgType.NewOrderSingle\r\n const file: string = path.join(root, 'new-order-single/object.json')\r\n const msg: ILooseObject = jsonHelper.fromJson(file, msgType)\r\n const o: ILooseObject = await testEncodeDecode(msgType, msg)\r\n\r\n expect(o).toEqual(msg)\r\n}, 1000)\r\n"]}
@@ -1 +0,0 @@
1
- import 'reflect-metadata';
@@ -1,139 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- require("reflect-metadata");
13
- const path = require("path");
14
- const transport_1 = require("../transport");
15
- const config_1 = require("../config");
16
- const buffer_1 = require("../buffer");
17
- const ascii_1 = require("../buffer/ascii");
18
- const fixml_1 = require("../buffer/fixml");
19
- const util_1 = require("../util");
20
- let definitions;
21
- let jsonHelper;
22
- let sessionDescription;
23
- const root = path.join(__dirname, '../../data/examples/FIXML');
24
- beforeAll(() => __awaiter(void 0, void 0, void 0, function* () {
25
- sessionDescription = require(path.join(root, '../../session/test-initiator.json'));
26
- definitions = yield new util_1.DefinitionFactory().getDefinitions('repofixml');
27
- jsonHelper = new util_1.JsonHelper(definitions);
28
- }), 45000);
29
- function testEncodeDecode(asObj, msgType) {
30
- return __awaiter(this, void 0, void 0, function* () {
31
- return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
32
- const fe = new fixml_1.FixmlEncoder(new buffer_1.ElasticBuffer(), definitions);
33
- fe.encode(asObj, msgType);
34
- const fixml = fe.buffer.toString();
35
- const config = new config_1.JsFixConfig(null, definitions, sessionDescription, ascii_1.AsciiChars.Pipe);
36
- const xmlParser = new fixml_1.FiXmlParser(config, new transport_1.StringDuplex(fixml).readable);
37
- if (asObj.Batch) {
38
- xmlParser.on('batch', (msgType, v) => {
39
- const o = v.toObject();
40
- resolve(o);
41
- });
42
- }
43
- else {
44
- xmlParser.on('msg', (msgType, v) => {
45
- const o = v.toObject();
46
- resolve(o);
47
- });
48
- }
49
- xmlParser.on('error', (e) => {
50
- reject(e);
51
- });
52
- }));
53
- });
54
- }
55
- test('MktDataFull settle fixml object', () => __awaiter(void 0, void 0, void 0, function* () {
56
- const msgType = 'MktDataFull';
57
- const file = path.join(root, 'cme/md/settle');
58
- const asObj = jsonHelper.fromJson(`${file}/object.json`, msgType);
59
- const o = yield testEncodeDecode(asObj, msgType);
60
- expect(o).toEqual(asObj);
61
- }), 1000);
62
- test('AllocInstrctn fixml object', () => __awaiter(void 0, void 0, void 0, function* () {
63
- const msgType = 'AllocInstrctn';
64
- const file = path.join(root, 'cme/alloc/Claiming Firm Requests Sub-allocation with Allocation Instructions/');
65
- const asObj = jsonHelper.fromJson(`${file}/object.json`, msgType);
66
- const o = yield testEncodeDecode(asObj, msgType);
67
- expect(o).toEqual(asObj);
68
- }), 1000);
69
- test('AllocRpt fixml object', () => __awaiter(void 0, void 0, void 0, function* () {
70
- const msgType = 'AllocRpt';
71
- const file = path.join(root, 'cme/alloc/Clearing System Notifies Allocation to the Claiming Firm - Cross-Exchange/');
72
- const asObj = jsonHelper.fromJson(`${file}/object.json`, msgType);
73
- const o = yield testEncodeDecode(asObj, msgType);
74
- expect(o).toEqual(asObj);
75
- }), 1000);
76
- test('TrdCaptRpt fixml object', () => __awaiter(void 0, void 0, void 0, function* () {
77
- const msgType = 'TrdCaptRpt';
78
- const file = path.join(root, 'cme/tc/Delivery Fixed Commodity Swap');
79
- const asObj = jsonHelper.fromJson(`${file}/object.json`, msgType);
80
- const o = yield testEncodeDecode(asObj, msgType);
81
- expect(o).toEqual(asObj);
82
- }), 1000);
83
- test('MktDataFull fixml object', () => __awaiter(void 0, void 0, void 0, function* () {
84
- const msgType = 'MktDataFull';
85
- const file = path.join(root, 'cme/md/futures');
86
- const asObj = jsonHelper.fromJson(`${file}/object.json`, msgType);
87
- const o = yield testEncodeDecode(asObj, msgType);
88
- expect(o).toEqual(asObj);
89
- }), 1000);
90
- test('UserReq logon fixml object', () => __awaiter(void 0, void 0, void 0, function* () {
91
- const msgType = 'UserReq';
92
- const file = path.join(root, 'cme/ur/logon');
93
- const asObj = jsonHelper.fromJson(`${file}/object.json`, msgType);
94
- const o = yield testEncodeDecode(asObj, msgType);
95
- expect(o).toEqual(asObj);
96
- }), 1000);
97
- test('UserReq logoff fixml object', () => __awaiter(void 0, void 0, void 0, function* () {
98
- const msgType = 'UserReq';
99
- const file = path.join(root, 'cme/ur/logoff');
100
- const asObj = jsonHelper.fromJson(`${file}/object.json`, msgType);
101
- const o = yield testEncodeDecode(asObj, msgType);
102
- expect(o).toEqual(asObj);
103
- }), 1000);
104
- test('TrdCaptRpt 2 fixml object', () => __awaiter(void 0, void 0, void 0, function* () {
105
- const msgType = 'TrdCaptRpt';
106
- const file = path.join(root, 'cme/tc/Initial Single Side Submission');
107
- const asObj = jsonHelper.fromJson(`${file}/object.json`, msgType);
108
- const o = yield testEncodeDecode(asObj, msgType);
109
- expect(o).toEqual(asObj);
110
- }), 1000);
111
- test('TrdCaptRpt 3 fixml object', () => __awaiter(void 0, void 0, void 0, function* () {
112
- const msgType = 'TrdCaptRpt';
113
- const file = path.join(root, 'cme/tc/Accepted Unmatched');
114
- const asObj = jsonHelper.fromJson(`${file}/object.json`, msgType);
115
- const o = yield testEncodeDecode(asObj, msgType);
116
- expect(o).toEqual(asObj);
117
- }), 1000);
118
- test('TrdCaptRptReq fixml object', () => __awaiter(void 0, void 0, void 0, function* () {
119
- const msgType = 'TrdCaptRptReq';
120
- const file = path.join(root, 'cme/tc/Trading Firm Continued Subscription');
121
- const asObj = jsonHelper.fromJson(`${file}/object.json`, msgType);
122
- const o = yield testEncodeDecode(asObj, msgType);
123
- expect(o).toEqual(asObj);
124
- }), 1000);
125
- test('Order fixml object', () => __awaiter(void 0, void 0, void 0, function* () {
126
- const msgType = 'Order';
127
- const file = path.join(root, 'om/nso');
128
- const asObj = jsonHelper.fromJson(`${file}/object.json`, msgType);
129
- const o = yield testEncodeDecode(asObj, msgType);
130
- expect(o).toEqual(asObj);
131
- }), 1000);
132
- test('ExecRpt fixml object', () => __awaiter(void 0, void 0, void 0, function* () {
133
- const msgType = 'ExecRpt';
134
- const file = path.join(root, 'om/er');
135
- const asObj = jsonHelper.fromJson(`${file}/object.json`, msgType);
136
- const o = yield testEncodeDecode(asObj, msgType);
137
- expect(o).toEqual(asObj);
138
- }), 1000);
139
- //# sourceMappingURL=repo-full-fixml-msg.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"repo-full-fixml-msg.test.js","sourceRoot":"","sources":["../../src/test/repo-full-fixml-msg.test.ts"],"names":[],"mappings":"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","sourcesContent":["import 'reflect-metadata'\r\n\r\nimport * as path from 'path'\r\nimport { ILooseObject } from '../collections/collection'\r\nimport { FixDefinitions } from '../dictionary/definition'\r\nimport { ISessionDescription, StringDuplex } from '../transport'\r\nimport { JsFixConfig } from '../config'\r\nimport { MsgView, ElasticBuffer, MsgParser } from '../buffer'\r\nimport { AsciiChars } from '../buffer/ascii'\r\nimport { FixmlEncoder, FiXmlParser } from '../buffer/fixml'\r\nimport { DefinitionFactory, JsonHelper } from '../util'\r\n\r\nlet definitions: FixDefinitions\r\nlet jsonHelper: JsonHelper\r\nlet sessionDescription: ISessionDescription\r\nconst root: string = path.join(__dirname, '../../data/examples/FIXML')\r\n\r\nbeforeAll(async () => {\r\n sessionDescription = require(path.join(root, '../../session/test-initiator.json'))\r\n definitions = await new DefinitionFactory().getDefinitions('repofixml')\r\n jsonHelper = new JsonHelper(definitions)\r\n}, 45000)\r\n\r\nasync function testEncodeDecode (asObj: ILooseObject, msgType: string): Promise<ILooseObject> {\r\n // encode to FIXML format from provided object.\r\n return new Promise(async (resolve, reject) => {\r\n const fe = new FixmlEncoder(new ElasticBuffer(), definitions)\r\n fe.encode(asObj, msgType)\r\n const fixml: string = fe.buffer.toString()\r\n const config = new JsFixConfig(null, definitions, sessionDescription, AsciiChars.Pipe)\r\n const xmlParser: MsgParser = new FiXmlParser(config, new StringDuplex(fixml).readable)\r\n if (asObj.Batch) {\r\n xmlParser.on('batch', (msgType: string, v: MsgView) => {\r\n const o: ILooseObject = v.toObject()\r\n resolve(o)\r\n })\r\n } else {\r\n xmlParser.on('msg', (msgType: string, v: MsgView) => {\r\n const o: ILooseObject = v.toObject()\r\n resolve(o)\r\n })\r\n }\r\n\r\n xmlParser.on('error', (e) => {\r\n reject(e)\r\n })\r\n })\r\n}\r\n\r\ntest('MktDataFull settle fixml object', async () => {\r\n const msgType: string = 'MktDataFull'\r\n const file: string = path.join(root,'cme/md/settle')\r\n const asObj: ILooseObject = jsonHelper.fromJson(`${file}/object.json`, msgType)\r\n const o: ILooseObject = await testEncodeDecode(asObj, msgType)\r\n expect(o).toEqual(asObj)\r\n}, 1000)\r\n\r\ntest('AllocInstrctn fixml object', async () => {\r\n const msgType: string = 'AllocInstrctn'\r\n const file: string = path.join(root,'cme/alloc/Claiming Firm Requests Sub-allocation with Allocation Instructions/')\r\n const asObj: ILooseObject = jsonHelper.fromJson(`${file}/object.json`, msgType)\r\n const o: ILooseObject = await testEncodeDecode(asObj, msgType)\r\n expect(o).toEqual(asObj)\r\n}, 1000)\r\n\r\ntest('AllocRpt fixml object', async () => {\r\n const msgType: string = 'AllocRpt'\r\n const file: string = path.join(root,'cme/alloc/Clearing System Notifies Allocation to the Claiming Firm - Cross-Exchange/')\r\n const asObj: ILooseObject = jsonHelper.fromJson(`${file}/object.json`, msgType)\r\n const o: ILooseObject = await testEncodeDecode(asObj, msgType)\r\n expect(o).toEqual(asObj)\r\n}, 1000)\r\n\r\ntest('TrdCaptRpt fixml object', async () => {\r\n const msgType: string = 'TrdCaptRpt'\r\n const file: string = path.join(root,'cme/tc/Delivery Fixed Commodity Swap')\r\n const asObj: ILooseObject = jsonHelper.fromJson(`${file}/object.json`, msgType)\r\n const o: ILooseObject = await testEncodeDecode(asObj, msgType)\r\n expect(o).toEqual(asObj)\r\n}, 1000)\r\n\r\ntest('MktDataFull fixml object', async () => {\r\n const msgType: string = 'MktDataFull'\r\n const file: string = path.join(root,'cme/md/futures')\r\n const asObj: ILooseObject = jsonHelper.fromJson(`${file}/object.json`, msgType)\r\n const o: ILooseObject = await testEncodeDecode(asObj, msgType)\r\n expect(o).toEqual(asObj)\r\n}, 1000)\r\n\r\ntest('UserReq logon fixml object', async () => {\r\n const msgType: string = 'UserReq'\r\n const file: string = path.join(root,'cme/ur/logon')\r\n const asObj: ILooseObject = jsonHelper.fromJson(`${file}/object.json`, msgType)\r\n const o: ILooseObject = await testEncodeDecode(asObj, msgType)\r\n expect(o).toEqual(asObj)\r\n}, 1000)\r\n\r\ntest('UserReq logoff fixml object', async () => {\r\n const msgType: string = 'UserReq'\r\n const file: string = path.join(root,'cme/ur/logoff')\r\n const asObj: ILooseObject = jsonHelper.fromJson(`${file}/object.json`, msgType)\r\n const o: ILooseObject = await testEncodeDecode(asObj, msgType)\r\n expect(o).toEqual(asObj)\r\n}, 1000)\r\n\r\ntest('TrdCaptRpt 2 fixml object', async () => {\r\n const msgType: string = 'TrdCaptRpt'\r\n const file: string = path.join(root,'cme/tc/Initial Single Side Submission')\r\n const asObj: ILooseObject = jsonHelper.fromJson(`${file}/object.json`, msgType)\r\n const o: ILooseObject = await testEncodeDecode(asObj, msgType)\r\n expect(o).toEqual(asObj)\r\n}, 1000)\r\n\r\ntest('TrdCaptRpt 3 fixml object', async () => {\r\n const msgType: string = 'TrdCaptRpt'\r\n const file: string = path.join(root,'cme/tc/Accepted Unmatched')\r\n const asObj: ILooseObject = jsonHelper.fromJson(`${file}/object.json`, msgType)\r\n const o: ILooseObject = await testEncodeDecode(asObj, msgType)\r\n expect(o).toEqual(asObj)\r\n}, 1000)\r\n\r\ntest('TrdCaptRptReq fixml object', async () => {\r\n const msgType: string = 'TrdCaptRptReq'\r\n const file: string = path.join(root,'cme/tc/Trading Firm Continued Subscription')\r\n const asObj: ILooseObject = jsonHelper.fromJson(`${file}/object.json`, msgType)\r\n const o: ILooseObject = await testEncodeDecode(asObj, msgType)\r\n expect(o).toEqual(asObj)\r\n}, 1000)\r\n\r\ntest('Order fixml object', async () => {\r\n const msgType: string = 'Order'\r\n const file: string = path.join(root,'om/nso')\r\n const asObj: ILooseObject = jsonHelper.fromJson(`${file}/object.json`, msgType)\r\n const o: ILooseObject = await testEncodeDecode(asObj, msgType)\r\n expect(o).toEqual(asObj)\r\n}, 1000)\r\n\r\ntest('ExecRpt fixml object', async () => {\r\n const msgType: string = 'ExecRpt'\r\n const file: string = path.join(root,'om/er')\r\n const asObj: ILooseObject = jsonHelper.fromJson(`${file}/object.json`, msgType)\r\n const o: ILooseObject = await testEncodeDecode(asObj, msgType)\r\n expect(o).toEqual(asObj)\r\n}, 1000)\r\n"]}
@@ -1 +0,0 @@
1
- import 'reflect-metadata';
@@ -1,73 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- require("reflect-metadata");
13
- const transport_1 = require("../transport");
14
- let state;
15
- let now;
16
- beforeEach(() => __awaiter(void 0, void 0, void 0, function* () {
17
- state = new transport_1.FixSessionState({ heartBeat: 30 });
18
- state.state = transport_1.SessionState.InitiationLogonResponse;
19
- now = new Date(2018, 0, 1, 20, 0, 0, 0);
20
- state.LastSentAt = now;
21
- state.lastReceivedAt = now;
22
- state.peerHeartBeatSecs = 30;
23
- state.lastPeerMsgSeqNum = 1;
24
- }));
25
- test('do nothing', () => {
26
- const action = state.calcAction(now);
27
- expect(action).toEqual(transport_1.TickAction.Nothing);
28
- });
29
- test('heartbeat', () => {
30
- const next = new Date(now.getTime() + 31 * 1000);
31
- state.lastReceivedAt = next;
32
- const action = state.calcAction(next);
33
- expect(state.timeToDie()).toEqual(false);
34
- expect(state.timeToHeartbeat()).toEqual(true);
35
- expect(state.timeToTerminate()).toEqual(false);
36
- expect(state.timeToTestRequest()).toEqual(false);
37
- expect(action).toEqual(transport_1.TickAction.Heartbeat);
38
- });
39
- test('testrequest', () => {
40
- const next = new Date(now.getTime() + 51 * 1000);
41
- state.LastSentAt = next;
42
- const action = state.calcAction(next);
43
- expect(state.timeToDie()).toEqual(false);
44
- expect(state.timeToHeartbeat()).toEqual(false);
45
- expect(state.timeToTerminate()).toEqual(false);
46
- expect(state.timeToTestRequest()).toEqual(true);
47
- expect(action).toEqual(transport_1.TickAction.TestRequest);
48
- });
49
- test('testrequest - no response', () => {
50
- const next = new Date(now.getTime() + 55 * 2 * 1000);
51
- state.LastSentAt = next;
52
- state.lastTestRequestAt = now;
53
- const action = state.calcAction(next);
54
- expect(state.timeToDie()).toEqual(false);
55
- expect(state.timeToHeartbeat()).toEqual(false);
56
- expect(state.timeToTerminate()).toEqual(true);
57
- expect(state.timeToTestRequest()).toEqual(true);
58
- expect(action).toEqual(transport_1.TickAction.TerminateOnError);
59
- });
60
- test('time to die - no logout response', () => {
61
- const next = new Date(now.getTime() + 20 * 1000);
62
- state.state = transport_1.SessionState.WaitingLogoutConfirm;
63
- state.LastSentAt = now;
64
- state.lastReceivedAt = now;
65
- state.logoutSentAt = now;
66
- const action = state.calcAction(next);
67
- expect(state.timeToDie()).toEqual(true);
68
- expect(state.timeToHeartbeat()).toEqual(false);
69
- expect(state.timeToTerminate()).toEqual(false);
70
- expect(state.timeToTestRequest()).toEqual(false);
71
- expect(action).toEqual(transport_1.TickAction.Stop);
72
- });
73
- //# sourceMappingURL=session-state.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"session-state.test.js","sourceRoot":"","sources":["../../src/test/session-state.test.ts"],"names":[],"mappings":"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","sourcesContent":["import 'reflect-metadata'\r\n\r\nimport { SessionState,TickAction, FixSessionState } from '../transport'\r\n\r\nlet state: FixSessionState\r\nlet now: Date\r\n\r\nbeforeEach(async () => {\r\n state = new FixSessionState({ heartBeat: 30 })\r\n state.state = SessionState.InitiationLogonResponse\r\n now = new Date(2018, 0, 1, 20, 0, 0, 0)\r\n state.LastSentAt = now\r\n state.lastReceivedAt = now\r\n state.peerHeartBeatSecs = 30\r\n state.lastPeerMsgSeqNum = 1\r\n})\r\n\r\ntest('do nothing', () => {\r\n const action: TickAction = state.calcAction(now)\r\n expect(action).toEqual(TickAction.Nothing)\r\n})\r\n\r\ntest('heartbeat', () => {\r\n const next = new Date(now.getTime() + 31 * 1000)\r\n state.lastReceivedAt = next\r\n const action: TickAction = state.calcAction(next)\r\n\r\n expect(state.timeToDie()).toEqual(false)\r\n expect(state.timeToHeartbeat()).toEqual(true)\r\n expect(state.timeToTerminate()).toEqual(false)\r\n expect(state.timeToTestRequest()).toEqual(false)\r\n\r\n expect(action).toEqual(TickAction.Heartbeat)\r\n})\r\n\r\ntest('testrequest', () => {\r\n const next = new Date(now.getTime() + 51 * 1000)\r\n state.LastSentAt = next\r\n const action: TickAction = state.calcAction(next)\r\n\r\n expect(state.timeToDie()).toEqual(false)\r\n expect(state.timeToHeartbeat()).toEqual(false)\r\n expect(state.timeToTerminate()).toEqual(false)\r\n expect(state.timeToTestRequest()).toEqual(true)\r\n\r\n expect(action).toEqual(TickAction.TestRequest)\r\n})\r\n\r\ntest('testrequest - no response', () => {\r\n const next = new Date(now.getTime() + 55 * 2 * 1000)\r\n state.LastSentAt = next\r\n state.lastTestRequestAt = now\r\n const action: TickAction = state.calcAction(next)\r\n\r\n expect(state.timeToDie()).toEqual(false)\r\n expect(state.timeToHeartbeat()).toEqual(false)\r\n expect(state.timeToTerminate()).toEqual(true)\r\n expect(state.timeToTestRequest()).toEqual(true)\r\n\r\n expect(action).toEqual(TickAction.TerminateOnError)\r\n})\r\n\r\ntest('time to die - no logout response', () => {\r\n const next = new Date(now.getTime() + 20 * 1000)\r\n state.state = SessionState.WaitingLogoutConfirm\r\n state.LastSentAt = now\r\n state.lastReceivedAt = now\r\n state.logoutSentAt = now\r\n const action: TickAction = state.calcAction(next)\r\n\r\n expect(state.timeToDie()).toEqual(true)\r\n expect(state.timeToHeartbeat()).toEqual(false)\r\n expect(state.timeToTerminate()).toEqual(false)\r\n expect(state.timeToTestRequest()).toEqual(false)\r\n\r\n expect(action).toEqual(TickAction.Stop)\r\n})\r\n"]}
@@ -1 +0,0 @@
1
- import 'reflect-metadata';