@n1k1t/mock-server 0.1.61 → 0.1.62

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 (559) hide show
  1. package/lib/package.json +1 -1
  2. package/package.json +1 -1
  3. package/bin/index.ts +0 -33
  4. package/coverage/clover.xml +0 -1372
  5. package/coverage/cobertura-coverage.xml +0 -3466
  6. package/coverage/coverage-final.json +0 -76
  7. package/coverage/lcov-report/base.css +0 -224
  8. package/coverage/lcov-report/block-navigation.js +0 -87
  9. package/coverage/lcov-report/client/errors/connection.error.ts.html +0 -106
  10. package/coverage/lcov-report/client/errors/index.html +0 -161
  11. package/coverage/lcov-report/client/errors/index.ts.html +0 -97
  12. package/coverage/lcov-report/client/errors/internal-server.error.ts.html +0 -115
  13. package/coverage/lcov-report/client/errors/validation.error.ts.html +0 -115
  14. package/coverage/lcov-report/client/helpers/expectations.ts.html +0 -766
  15. package/coverage/lcov-report/client/helpers/index.html +0 -131
  16. package/coverage/lcov-report/client/helpers/index.ts.html +0 -88
  17. package/coverage/lcov-report/client/index.html +0 -161
  18. package/coverage/lcov-report/client/index.ts.html +0 -100
  19. package/coverage/lcov-report/client/methods/expectations-group.update.method.ts.html +0 -193
  20. package/coverage/lcov-report/client/methods/expectations.create.method.ts.html +0 -202
  21. package/coverage/lcov-report/client/methods/expectations.delete.method.ts.html +0 -184
  22. package/coverage/lcov-report/client/methods/expectations.update.method.ts.html +0 -241
  23. package/coverage/lcov-report/client/methods/index.html +0 -191
  24. package/coverage/lcov-report/client/methods/index.ts.html +0 -103
  25. package/coverage/lcov-report/client/methods/ping.method.ts.html +0 -160
  26. package/coverage/lcov-report/client/models/client.ts.html +0 -340
  27. package/coverage/lcov-report/client/models/index.html +0 -146
  28. package/coverage/lcov-report/client/models/index.ts.html +0 -91
  29. package/coverage/lcov-report/client/models/method.ts.html +0 -235
  30. package/coverage/lcov-report/client/onsite.ts.html +0 -172
  31. package/coverage/lcov-report/client/remote.ts.html +0 -187
  32. package/coverage/lcov-report/client/utils.ts.html +0 -211
  33. package/coverage/lcov-report/config/index.html +0 -131
  34. package/coverage/lcov-report/config/index.ts.html +0 -97
  35. package/coverage/lcov-report/config/model.ts.html +0 -226
  36. package/coverage/lcov-report/expectations/__utils__/index.html +0 -116
  37. package/coverage/lcov-report/expectations/__utils__/index.ts.html +0 -268
  38. package/coverage/lcov-report/expectations/index.html +0 -146
  39. package/coverage/lcov-report/expectations/index.ts.html +0 -94
  40. package/coverage/lcov-report/expectations/models/expectation.ts.html +0 -373
  41. package/coverage/lcov-report/expectations/models/index.html +0 -161
  42. package/coverage/lcov-report/expectations/models/index.ts.html +0 -94
  43. package/coverage/lcov-report/expectations/models/operator.ts.html +0 -352
  44. package/coverage/lcov-report/expectations/models/storage.ts.html +0 -211
  45. package/coverage/lcov-report/expectations/operators/and.operator.ts.html +0 -196
  46. package/coverage/lcov-report/expectations/operators/exec.operator.ts.html +0 -160
  47. package/coverage/lcov-report/expectations/operators/has.operator.ts.html +0 -778
  48. package/coverage/lcov-report/expectations/operators/if.operator.ts.html +0 -316
  49. package/coverage/lcov-report/expectations/operators/index.html +0 -281
  50. package/coverage/lcov-report/expectations/operators/index.ts.html +0 -118
  51. package/coverage/lcov-report/expectations/operators/merge.operator.ts.html +0 -379
  52. package/coverage/lcov-report/expectations/operators/not.operator.ts.html +0 -199
  53. package/coverage/lcov-report/expectations/operators/or.operator.ts.html +0 -196
  54. package/coverage/lcov-report/expectations/operators/remove.operator.ts.html +0 -238
  55. package/coverage/lcov-report/expectations/operators/root.operator.ts.html +0 -238
  56. package/coverage/lcov-report/expectations/operators/set.operator.ts.html +0 -436
  57. package/coverage/lcov-report/expectations/operators/switch.operator.ts.html +0 -463
  58. package/coverage/lcov-report/expectations/types.ts.html +0 -766
  59. package/coverage/lcov-report/expectations/utils.ts.html +0 -802
  60. package/coverage/lcov-report/favicon.png +0 -0
  61. package/coverage/lcov-report/index.html +0 -431
  62. package/coverage/lcov-report/logger/index.html +0 -131
  63. package/coverage/lcov-report/logger/index.ts.html +0 -325
  64. package/coverage/lcov-report/logger/utils.ts.html +0 -160
  65. package/coverage/lcov-report/meta/index.html +0 -146
  66. package/coverage/lcov-report/meta/index.ts.html +0 -103
  67. package/coverage/lcov-report/meta/model.ts.html +0 -172
  68. package/coverage/lcov-report/meta/storage.ts.html +0 -145
  69. package/coverage/lcov-report/prettify.css +0 -1
  70. package/coverage/lcov-report/prettify.js +0 -2
  71. package/coverage/lcov-report/server/expectations/__utils__/index.html +0 -116
  72. package/coverage/lcov-report/server/expectations/__utils__/index.ts.html +0 -199
  73. package/coverage/lcov-report/server/expectations/index.html +0 -131
  74. package/coverage/lcov-report/server/expectations/operators/and.operator.ts.html +0 -103
  75. package/coverage/lcov-report/server/expectations/operators/exec.operator.ts.html +0 -139
  76. package/coverage/lcov-report/server/expectations/operators/has.operator.ts.html +0 -358
  77. package/coverage/lcov-report/server/expectations/operators/if.operator.ts.html +0 -130
  78. package/coverage/lcov-report/server/expectations/operators/index.html +0 -266
  79. package/coverage/lcov-report/server/expectations/operators/index.ts.html +0 -112
  80. package/coverage/lcov-report/server/expectations/operators/merge.operator.ts.html +0 -193
  81. package/coverage/lcov-report/server/expectations/operators/not.operator.ts.html +0 -100
  82. package/coverage/lcov-report/server/expectations/operators/or.operator.ts.html +0 -115
  83. package/coverage/lcov-report/server/expectations/operators/remove.operator.ts.html +0 -169
  84. package/coverage/lcov-report/server/expectations/operators/set.operator.ts.html +0 -208
  85. package/coverage/lcov-report/server/expectations/operators/utils.ts.html +0 -346
  86. package/coverage/lcov-report/server/expectations/types.ts.html +0 -517
  87. package/coverage/lcov-report/server/expectations/utils.ts.html +0 -358
  88. package/coverage/lcov-report/server/models/containers/index.html +0 -161
  89. package/coverage/lcov-report/server/models/containers/index.ts.html +0 -91
  90. package/coverage/lcov-report/server/models/containers/model.ts.html +0 -328
  91. package/coverage/lcov-report/server/models/containers/storage.ts.html +0 -256
  92. package/coverage/lcov-report/server/models/containers/utils.ts.html +0 -97
  93. package/coverage/lcov-report/server/models/context/index.html +0 -146
  94. package/coverage/lcov-report/server/models/context/index.ts.html +0 -514
  95. package/coverage/lcov-report/server/models/context/snapshot.ts.html +0 -529
  96. package/coverage/lcov-report/server/models/context/utils.ts.html +0 -382
  97. package/coverage/lcov-report/server/models/endpoint.ts.html +0 -304
  98. package/coverage/lcov-report/server/models/exchanges/index.html +0 -131
  99. package/coverage/lcov-report/server/models/exchanges/index.ts.html +0 -88
  100. package/coverage/lcov-report/server/models/exchanges/socket-io.ts.html +0 -154
  101. package/coverage/lcov-report/server/models/executor/errors/index.html +0 -116
  102. package/coverage/lcov-report/server/models/executor/errors/index.ts.html +0 -130
  103. package/coverage/lcov-report/server/models/executor/index.html +0 -116
  104. package/coverage/lcov-report/server/models/executor/index.ts.html +0 -1018
  105. package/coverage/lcov-report/server/models/history/index.html +0 -146
  106. package/coverage/lcov-report/server/models/history/index.ts.html +0 -91
  107. package/coverage/lcov-report/server/models/history/model.ts.html +0 -331
  108. package/coverage/lcov-report/server/models/history/storage.ts.html +0 -184
  109. package/coverage/lcov-report/server/models/index.html +0 -161
  110. package/coverage/lcov-report/server/models/index.ts.html +0 -115
  111. package/coverage/lcov-report/server/models/providers/index.html +0 -146
  112. package/coverage/lcov-report/server/models/providers/index.ts.html +0 -91
  113. package/coverage/lcov-report/server/models/providers/model.ts.html +0 -211
  114. package/coverage/lcov-report/server/models/providers/storage.ts.html +0 -172
  115. package/coverage/lcov-report/server/models/reply.ts.html +0 -115
  116. package/coverage/lcov-report/server/models/router.ts.html +0 -313
  117. package/coverage/lcov-report/server/models/transports/index.html +0 -146
  118. package/coverage/lcov-report/server/models/transports/index.ts.html +0 -91
  119. package/coverage/lcov-report/server/models/transports/model.ts.html +0 -112
  120. package/coverage/lcov-report/server/models/transports/storage.ts.html +0 -124
  121. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  122. package/coverage/lcov-report/sorter.js +0 -196
  123. package/coverage/lcov-report/utils/common.ts.html +0 -187
  124. package/coverage/lcov-report/utils/index.html +0 -176
  125. package/coverage/lcov-report/utils/index.ts.html +0 -97
  126. package/coverage/lcov-report/utils/json.ts.html +0 -193
  127. package/coverage/lcov-report/utils/regexp.ts.html +0 -97
  128. package/coverage/lcov-report/utils/validation.ts.html +0 -190
  129. package/coverage/lcov.info +0 -3012
  130. package/discardedTests.txt +0 -35606
  131. package/images/preview.png +0 -0
  132. package/images/strategy.png +0 -0
  133. package/keploy.yml +0 -64
  134. package/lib/src/client/errors/connection.error.spec.d.ts +0 -2
  135. package/lib/src/client/errors/connection.error.spec.d.ts.map +0 -1
  136. package/lib/src/client/errors/connection.error.spec.js +0 -12
  137. package/lib/src/client/errors/connection.error.spec.js.map +0 -1
  138. package/lib/src/client/errors/internal-server.error.spec.d.ts +0 -2
  139. package/lib/src/client/errors/internal-server.error.spec.d.ts.map +0 -1
  140. package/lib/src/client/errors/internal-server.error.spec.js +0 -12
  141. package/lib/src/client/errors/internal-server.error.spec.js.map +0 -1
  142. package/lib/src/client/errors/validation.error.spec.d.ts +0 -2
  143. package/lib/src/client/errors/validation.error.spec.d.ts.map +0 -1
  144. package/lib/src/client/errors/validation.error.spec.js +0 -10
  145. package/lib/src/client/errors/validation.error.spec.js.map +0 -1
  146. package/lib/src/client/models/client.spec.d.ts +0 -2
  147. package/lib/src/client/models/client.spec.d.ts.map +0 -1
  148. package/lib/src/client/models/client.spec.js +0 -244
  149. package/lib/src/client/models/client.spec.js.map +0 -1
  150. package/lib/src/client/onsite.spec.d.ts +0 -2
  151. package/lib/src/client/onsite.spec.d.ts.map +0 -1
  152. package/lib/src/client/onsite.spec.js +0 -23
  153. package/lib/src/client/onsite.spec.js.map +0 -1
  154. package/lib/src/client/remote.spec.d.ts +0 -2
  155. package/lib/src/client/remote.spec.d.ts.map +0 -1
  156. package/lib/src/client/remote.spec.js +0 -16
  157. package/lib/src/client/remote.spec.js.map +0 -1
  158. package/lib/src/client/utils.spec.d.ts +0 -2
  159. package/lib/src/client/utils.spec.d.ts.map +0 -1
  160. package/lib/src/client/utils.spec.js +0 -57
  161. package/lib/src/client/utils.spec.js.map +0 -1
  162. package/lib/src/expectations/models/storage.spec.d.ts +0 -2
  163. package/lib/src/expectations/models/storage.spec.d.ts.map +0 -1
  164. package/lib/src/expectations/models/storage.spec.js +0 -57
  165. package/lib/src/expectations/models/storage.spec.js.map +0 -1
  166. package/lib/src/expectations/operators/and.operator.spec.d.ts +0 -2
  167. package/lib/src/expectations/operators/and.operator.spec.d.ts.map +0 -1
  168. package/lib/src/expectations/operators/and.operator.spec.js +0 -83
  169. package/lib/src/expectations/operators/and.operator.spec.js.map +0 -1
  170. package/lib/src/expectations/operators/exec.operator.spec.d.ts +0 -2
  171. package/lib/src/expectations/operators/exec.operator.spec.d.ts.map +0 -1
  172. package/lib/src/expectations/operators/exec.operator.spec.js +0 -68
  173. package/lib/src/expectations/operators/exec.operator.spec.js.map +0 -1
  174. package/lib/src/expectations/operators/has.operator.spec.d.ts +0 -2
  175. package/lib/src/expectations/operators/has.operator.spec.d.ts.map +0 -1
  176. package/lib/src/expectations/operators/has.operator.spec.js +0 -444
  177. package/lib/src/expectations/operators/has.operator.spec.js.map +0 -1
  178. package/lib/src/expectations/operators/if.operator.spec.d.ts +0 -2
  179. package/lib/src/expectations/operators/if.operator.spec.d.ts.map +0 -1
  180. package/lib/src/expectations/operators/if.operator.spec.js +0 -132
  181. package/lib/src/expectations/operators/if.operator.spec.js.map +0 -1
  182. package/lib/src/expectations/operators/merge.operator.spec.d.ts +0 -2
  183. package/lib/src/expectations/operators/merge.operator.spec.d.ts.map +0 -1
  184. package/lib/src/expectations/operators/merge.operator.spec.js +0 -75
  185. package/lib/src/expectations/operators/merge.operator.spec.js.map +0 -1
  186. package/lib/src/expectations/operators/not.operator.spec.d.ts +0 -2
  187. package/lib/src/expectations/operators/not.operator.spec.d.ts.map +0 -1
  188. package/lib/src/expectations/operators/not.operator.spec.js +0 -46
  189. package/lib/src/expectations/operators/not.operator.spec.js.map +0 -1
  190. package/lib/src/expectations/operators/or.operator.spec.d.ts +0 -2
  191. package/lib/src/expectations/operators/or.operator.spec.d.ts.map +0 -1
  192. package/lib/src/expectations/operators/or.operator.spec.js +0 -84
  193. package/lib/src/expectations/operators/or.operator.spec.js.map +0 -1
  194. package/lib/src/expectations/operators/remove.operator.spec.d.ts +0 -2
  195. package/lib/src/expectations/operators/remove.operator.spec.d.ts.map +0 -1
  196. package/lib/src/expectations/operators/remove.operator.spec.js +0 -67
  197. package/lib/src/expectations/operators/remove.operator.spec.js.map +0 -1
  198. package/lib/src/expectations/operators/root.operator.spec.d.ts +0 -2
  199. package/lib/src/expectations/operators/root.operator.spec.d.ts.map +0 -1
  200. package/lib/src/expectations/operators/root.operator.spec.js +0 -29
  201. package/lib/src/expectations/operators/root.operator.spec.js.map +0 -1
  202. package/lib/src/expectations/operators/set.operator.spec.d.ts +0 -2
  203. package/lib/src/expectations/operators/set.operator.spec.d.ts.map +0 -1
  204. package/lib/src/expectations/operators/set.operator.spec.js +0 -111
  205. package/lib/src/expectations/operators/set.operator.spec.js.map +0 -1
  206. package/lib/src/expectations/operators/switch.operator.spec.d.ts +0 -2
  207. package/lib/src/expectations/operators/switch.operator.spec.d.ts.map +0 -1
  208. package/lib/src/expectations/operators/switch.operator.spec.js +0 -139
  209. package/lib/src/expectations/operators/switch.operator.spec.js.map +0 -1
  210. package/lib/src/expectations/utils/location.spec.d.ts +0 -2
  211. package/lib/src/expectations/utils/location.spec.d.ts.map +0 -1
  212. package/lib/src/expectations/utils/location.spec.js +0 -62
  213. package/lib/src/expectations/utils/location.spec.js.map +0 -1
  214. package/lib/src/expectations/utils/schema.spec.d.ts +0 -2
  215. package/lib/src/expectations/utils/schema.spec.d.ts.map +0 -1
  216. package/lib/src/expectations/utils/schema.spec.js +0 -19
  217. package/lib/src/expectations/utils/schema.spec.js.map +0 -1
  218. package/lib/src/meta/model.spec.d.ts +0 -2
  219. package/lib/src/meta/model.spec.d.ts.map +0 -1
  220. package/lib/src/meta/model.spec.js +0 -28
  221. package/lib/src/meta/model.spec.js.map +0 -1
  222. package/lib/src/meta/storage.spec.d.ts +0 -2
  223. package/lib/src/meta/storage.spec.d.ts.map +0 -1
  224. package/lib/src/meta/storage.spec.js +0 -19
  225. package/lib/src/meta/storage.spec.js.map +0 -1
  226. package/lib/src/server/models/containers/model.spec.d.ts +0 -2
  227. package/lib/src/server/models/containers/model.spec.d.ts.map +0 -1
  228. package/lib/src/server/models/containers/model.spec.js +0 -79
  229. package/lib/src/server/models/containers/model.spec.js.map +0 -1
  230. package/lib/src/server/models/containers/storage.spec.d.ts +0 -2
  231. package/lib/src/server/models/containers/storage.spec.d.ts.map +0 -1
  232. package/lib/src/server/models/containers/storage.spec.js +0 -39
  233. package/lib/src/server/models/containers/storage.spec.js.map +0 -1
  234. package/lib/src/server/models/context/index.spec.d.ts +0 -2
  235. package/lib/src/server/models/context/index.spec.d.ts.map +0 -1
  236. package/lib/src/server/models/context/index.spec.js +0 -143
  237. package/lib/src/server/models/context/index.spec.js.map +0 -1
  238. package/lib/src/server/models/context/snapshot.spec.d.ts +0 -2
  239. package/lib/src/server/models/context/snapshot.spec.d.ts.map +0 -1
  240. package/lib/src/server/models/context/snapshot.spec.js +0 -75
  241. package/lib/src/server/models/context/snapshot.spec.js.map +0 -1
  242. package/lib/src/server/models/context/utils.spec.d.ts +0 -2
  243. package/lib/src/server/models/context/utils.spec.d.ts.map +0 -1
  244. package/lib/src/server/models/context/utils.spec.js +0 -69
  245. package/lib/src/server/models/context/utils.spec.js.map +0 -1
  246. package/lib/src/server/models/endpoint.spec.d.ts +0 -2
  247. package/lib/src/server/models/endpoint.spec.d.ts.map +0 -1
  248. package/lib/src/server/models/endpoint.spec.js +0 -28
  249. package/lib/src/server/models/endpoint.spec.js.map +0 -1
  250. package/lib/src/server/models/exchanges/socket-io.spec.d.ts +0 -2
  251. package/lib/src/server/models/exchanges/socket-io.spec.d.ts.map +0 -1
  252. package/lib/src/server/models/exchanges/socket-io.spec.js +0 -12
  253. package/lib/src/server/models/exchanges/socket-io.spec.js.map +0 -1
  254. package/lib/src/server/models/executor/errors/index.spec.d.ts +0 -2
  255. package/lib/src/server/models/executor/errors/index.spec.d.ts.map +0 -1
  256. package/lib/src/server/models/executor/errors/index.spec.js +0 -23
  257. package/lib/src/server/models/executor/errors/index.spec.js.map +0 -1
  258. package/lib/src/server/models/executor/index.spec.d.ts +0 -2
  259. package/lib/src/server/models/executor/index.spec.d.ts.map +0 -1
  260. package/lib/src/server/models/executor/index.spec.js +0 -137
  261. package/lib/src/server/models/executor/index.spec.js.map +0 -1
  262. package/lib/src/server/models/history/model.spec.d.ts +0 -2
  263. package/lib/src/server/models/history/model.spec.d.ts.map +0 -1
  264. package/lib/src/server/models/history/model.spec.js +0 -30
  265. package/lib/src/server/models/history/model.spec.js.map +0 -1
  266. package/lib/src/server/models/history/storage.spec.d.ts +0 -2
  267. package/lib/src/server/models/history/storage.spec.d.ts.map +0 -1
  268. package/lib/src/server/models/history/storage.spec.js +0 -42
  269. package/lib/src/server/models/history/storage.spec.js.map +0 -1
  270. package/lib/src/server/models/providers/model.spec.d.ts +0 -2
  271. package/lib/src/server/models/providers/model.spec.d.ts.map +0 -1
  272. package/lib/src/server/models/providers/model.spec.js +0 -13
  273. package/lib/src/server/models/providers/model.spec.js.map +0 -1
  274. package/lib/src/server/models/providers/storage.spec.d.ts +0 -2
  275. package/lib/src/server/models/providers/storage.spec.d.ts.map +0 -1
  276. package/lib/src/server/models/providers/storage.spec.js +0 -19
  277. package/lib/src/server/models/providers/storage.spec.js.map +0 -1
  278. package/lib/src/server/models/reply.spec.d.ts +0 -2
  279. package/lib/src/server/models/reply.spec.d.ts.map +0 -1
  280. package/lib/src/server/models/reply.spec.js +0 -20
  281. package/lib/src/server/models/reply.spec.js.map +0 -1
  282. package/lib/src/server/models/router.spec.d.ts +0 -2
  283. package/lib/src/server/models/router.spec.d.ts.map +0 -1
  284. package/lib/src/server/models/router.spec.js +0 -46
  285. package/lib/src/server/models/router.spec.js.map +0 -1
  286. package/lib/src/server/models/transports/storage.spec.d.ts +0 -2
  287. package/lib/src/server/models/transports/storage.spec.d.ts.map +0 -1
  288. package/lib/src/server/models/transports/storage.spec.js +0 -13
  289. package/lib/src/server/models/transports/storage.spec.js.map +0 -1
  290. package/lib/src/server/services/analytics.service.spec.d.ts +0 -2
  291. package/lib/src/server/services/analytics.service.spec.d.ts.map +0 -1
  292. package/lib/src/server/services/analytics.service.spec.js +0 -35
  293. package/lib/src/server/services/analytics.service.spec.js.map +0 -1
  294. package/lib/src/server/services/metrics.service.spec.d.ts +0 -2
  295. package/lib/src/server/services/metrics.service.spec.d.ts.map +0 -1
  296. package/lib/src/server/services/metrics.service.spec.js +0 -35
  297. package/lib/src/server/services/metrics.service.spec.js.map +0 -1
  298. package/lib/src/utils/index.spec.d.ts +0 -2
  299. package/lib/src/utils/index.spec.d.ts.map +0 -1
  300. package/lib/src/utils/index.spec.js +0 -30
  301. package/lib/src/utils/index.spec.js.map +0 -1
  302. package/lib/tsconfig.tsbuildinfo +0 -1
  303. package/lib/vite.config.d.ts +0 -3
  304. package/lib/vite.config.d.ts.map +0 -1
  305. package/lib/vite.config.js +0 -57
  306. package/lib/vite.config.js.map +0 -1
  307. package/src/client/errors/connection.error.spec.ts +0 -10
  308. package/src/client/errors/connection.error.ts +0 -7
  309. package/src/client/errors/index.ts +0 -4
  310. package/src/client/errors/internal-server.error.spec.ts +0 -12
  311. package/src/client/errors/internal-server.error.ts +0 -10
  312. package/src/client/errors/types.ts +0 -3
  313. package/src/client/errors/validation.error.spec.ts +0 -9
  314. package/src/client/errors/validation.error.ts +0 -10
  315. package/src/client/helpers/expectations.ts +0 -227
  316. package/src/client/helpers/index.ts +0 -1
  317. package/src/client/index.ts +0 -5
  318. package/src/client/methods/expectations-group.update.method.ts +0 -36
  319. package/src/client/methods/expectations.create.method.ts +0 -39
  320. package/src/client/methods/expectations.delete.method.ts +0 -33
  321. package/src/client/methods/expectations.update.method.ts +0 -58
  322. package/src/client/methods/index.ts +0 -6
  323. package/src/client/methods/ping.method.ts +0 -25
  324. package/src/client/models/__snapshots__/client.spec.ts.snap +0 -1294
  325. package/src/client/models/client.spec.ts +0 -316
  326. package/src/client/models/client.ts +0 -85
  327. package/src/client/models/index.ts +0 -2
  328. package/src/client/models/method.ts +0 -50
  329. package/src/client/onsite.spec.ts +0 -23
  330. package/src/client/onsite.ts +0 -29
  331. package/src/client/remote.spec.ts +0 -15
  332. package/src/client/remote.ts +0 -34
  333. package/src/client/types.ts +0 -31
  334. package/src/client/utils.spec.ts +0 -60
  335. package/src/client/utils.ts +0 -41
  336. package/src/config/index.ts +0 -34
  337. package/src/config/model.ts +0 -24
  338. package/src/expectations/__utils__/index.ts +0 -61
  339. package/src/expectations/errors/index.ts +0 -7
  340. package/src/expectations/index.ts +0 -3
  341. package/src/expectations/models/expectation.ts +0 -96
  342. package/src/expectations/models/index.ts +0 -3
  343. package/src/expectations/models/operator.ts +0 -89
  344. package/src/expectations/models/storage.spec.ts +0 -70
  345. package/src/expectations/models/storage.ts +0 -42
  346. package/src/expectations/operators/and.operator.spec.ts +0 -59
  347. package/src/expectations/operators/and.operator.ts +0 -37
  348. package/src/expectations/operators/exec.operator.spec.ts +0 -47
  349. package/src/expectations/operators/exec.operator.ts +0 -25
  350. package/src/expectations/operators/has.operator.spec.ts +0 -514
  351. package/src/expectations/operators/has.operator.ts +0 -230
  352. package/src/expectations/operators/if.operator.spec.ts +0 -116
  353. package/src/expectations/operators/if.operator.ts +0 -77
  354. package/src/expectations/operators/index.ts +0 -11
  355. package/src/expectations/operators/merge.operator.spec.ts +0 -48
  356. package/src/expectations/operators/merge.operator.ts +0 -97
  357. package/src/expectations/operators/not.operator.spec.ts +0 -12
  358. package/src/expectations/operators/not.operator.ts +0 -38
  359. package/src/expectations/operators/or.operator.spec.ts +0 -60
  360. package/src/expectations/operators/or.operator.ts +0 -37
  361. package/src/expectations/operators/remove.operator.spec.ts +0 -40
  362. package/src/expectations/operators/remove.operator.ts +0 -50
  363. package/src/expectations/operators/root.operator.spec.ts +0 -26
  364. package/src/expectations/operators/root.operator.ts +0 -51
  365. package/src/expectations/operators/set.operator.spec.ts +0 -96
  366. package/src/expectations/operators/set.operator.ts +0 -116
  367. package/src/expectations/operators/switch.operator.spec.ts +0 -157
  368. package/src/expectations/operators/switch.operator.ts +0 -126
  369. package/src/expectations/types.ts +0 -225
  370. package/src/expectations/utils/index.ts +0 -3
  371. package/src/expectations/utils/json.ts +0 -22
  372. package/src/expectations/utils/location.spec.ts +0 -64
  373. package/src/expectations/utils/location.ts +0 -180
  374. package/src/expectations/utils/schema.spec.ts +0 -17
  375. package/src/expectations/utils/schema.ts +0 -60
  376. package/src/gui/app/components/chart.component/index.ts +0 -173
  377. package/src/gui/app/components/chart.component/style.scss +0 -4
  378. package/src/gui/app/components/checkbox-area.component/index.ts +0 -101
  379. package/src/gui/app/components/checkbox-area.component/item.component.ts +0 -72
  380. package/src/gui/app/components/checkbox-area.component/style.scss +0 -19
  381. package/src/gui/app/components/checkbox-area.component/template.hbs +0 -3
  382. package/src/gui/app/components/curtain.component/index.ts +0 -19
  383. package/src/gui/app/components/curtain.component/style.scss +0 -14
  384. package/src/gui/app/components/empty.component/index.ts +0 -10
  385. package/src/gui/app/components/empty.component/style.scss +0 -34
  386. package/src/gui/app/components/empty.component/template.hbs +0 -6
  387. package/src/gui/app/components/expectation.component/index.ts +0 -60
  388. package/src/gui/app/components/expectation.component/style.scss +0 -5
  389. package/src/gui/app/components/expectation.component/template.hbs +0 -5
  390. package/src/gui/app/components/header.component/index.ts +0 -81
  391. package/src/gui/app/components/header.component/style.scss +0 -46
  392. package/src/gui/app/components/header.component/template.hbs +0 -15
  393. package/src/gui/app/components/history.component/index.ts +0 -86
  394. package/src/gui/app/components/history.component/style.scss +0 -5
  395. package/src/gui/app/components/history.component/template.hbs +0 -62
  396. package/src/gui/app/components/index.ts +0 -11
  397. package/src/gui/app/components/loader.component/index.ts +0 -12
  398. package/src/gui/app/components/loader.component/style.scss +0 -39
  399. package/src/gui/app/components/panel.component/index.ts +0 -52
  400. package/src/gui/app/components/panel.component/style.scss +0 -60
  401. package/src/gui/app/components/panel.component/template.hbs +0 -13
  402. package/src/gui/app/components/popups.component/index.ts +0 -26
  403. package/src/gui/app/components/popups.component/style.scss +0 -51
  404. package/src/gui/app/components/popups.component/template.hbs +0 -9
  405. package/src/gui/app/components/search.component/index.ts +0 -67
  406. package/src/gui/app/components/search.component/style.scss +0 -43
  407. package/src/gui/app/components/search.component/template.hbs +0 -7
  408. package/src/gui/app/components/viewer.component/index.ts +0 -28
  409. package/src/gui/app/components/viewer.component/style.scss +0 -38
  410. package/src/gui/app/components/viewer.component/template.hbs +0 -3
  411. package/src/gui/app/context.ts +0 -76
  412. package/src/gui/app/handlebars/helpers.ts +0 -32
  413. package/src/gui/app/handlebars/index.ts +0 -11
  414. package/src/gui/app/handlebars/partials/expectation-meta.hbs +0 -53
  415. package/src/gui/app/handlebars/partials/index.ts +0 -2
  416. package/src/gui/app/handlebars/partials/truncated.hbs +0 -10
  417. package/src/gui/app/handlebars/utils.ts +0 -9
  418. package/src/gui/app/main.ts +0 -38
  419. package/src/gui/app/models/button.ts +0 -41
  420. package/src/gui/app/models/client-storage.ts +0 -21
  421. package/src/gui/app/models/component.ts +0 -79
  422. package/src/gui/app/models/context.ts +0 -14
  423. package/src/gui/app/models/dynamic-storage.ts +0 -36
  424. package/src/gui/app/models/form.ts +0 -75
  425. package/src/gui/app/models/index.ts +0 -7
  426. package/src/gui/app/models/section.ts +0 -82
  427. package/src/gui/app/sections/analytics.section/index.ts +0 -97
  428. package/src/gui/app/sections/analytics.section/style.scss +0 -1
  429. package/src/gui/app/sections/analytics.section/template.hbs +0 -6
  430. package/src/gui/app/sections/expectations.section/index.ts +0 -179
  431. package/src/gui/app/sections/expectations.section/style.scss +0 -1
  432. package/src/gui/app/sections/expectations.section/template.hbs +0 -15
  433. package/src/gui/app/sections/history.section/index.ts +0 -175
  434. package/src/gui/app/sections/history.section/style.scss +0 -10
  435. package/src/gui/app/sections/history.section/templates/actions.hbs +0 -5
  436. package/src/gui/app/sections/history.section/templates/section.hbs +0 -15
  437. package/src/gui/app/sections/index.ts +0 -4
  438. package/src/gui/app/sections/settings.section/index.ts +0 -63
  439. package/src/gui/app/sections/settings.section/style.scss +0 -24
  440. package/src/gui/app/sections/settings.section/templates/cache.hbs +0 -6
  441. package/src/gui/app/sections/settings.section/templates/section.hbs +0 -6
  442. package/src/gui/app/sections/settings.section/templates/stats.hbs +0 -6
  443. package/src/gui/app/setup.ts +0 -7
  444. package/src/gui/app/tsconfig.json +0 -20
  445. package/src/gui/app/types/dev.ts +0 -6
  446. package/src/gui/app/types/index.ts +0 -1
  447. package/src/gui/app/types/window.global.ts +0 -9
  448. package/src/gui/app/utils.ts +0 -15
  449. package/src/gui/assets/fa-all.css +0 -5
  450. package/src/gui/assets/fa-regular-400.woff2 +0 -0
  451. package/src/gui/assets/fa-solid-900.woff2 +0 -0
  452. package/src/gui/assets/favicon.png +0 -0
  453. package/src/gui/index.html +0 -18
  454. package/src/gui/styles/_constants.scss +0 -11
  455. package/src/gui/styles/_elements.scss +0 -216
  456. package/src/gui/styles/_soon.scss +0 -35
  457. package/src/gui/styles/main.scss +0 -245
  458. package/src/index.ts +0 -9
  459. package/src/logger/index.ts +0 -80
  460. package/src/logger/types.ts +0 -4
  461. package/src/logger/utils.ts +0 -25
  462. package/src/meta/index.ts +0 -6
  463. package/src/meta/model.spec.ts +0 -28
  464. package/src/meta/model.ts +0 -29
  465. package/src/meta/storage.spec.ts +0 -18
  466. package/src/meta/storage.ts +0 -20
  467. package/src/server/endpoints/cache.delete.endpoint.ts +0 -54
  468. package/src/server/endpoints/cache.usage.get.endpoint.ts +0 -12
  469. package/src/server/endpoints/config.get.endpoint.ts +0 -10
  470. package/src/server/endpoints/expectations-group.update.endpoint.ts +0 -32
  471. package/src/server/endpoints/expectations.create.endpoint.ts +0 -23
  472. package/src/server/endpoints/expectations.delete.endpoint.ts +0 -12
  473. package/src/server/endpoints/expectations.get-list.endpoint.ts +0 -15
  474. package/src/server/endpoints/expectations.update.endpoint.ts +0 -29
  475. package/src/server/endpoints/gui.endpoint.ts +0 -76
  476. package/src/server/endpoints/history.delete.endpoint.ts +0 -10
  477. package/src/server/endpoints/history.get-list.endpoint.ts +0 -15
  478. package/src/server/endpoints/index.ts +0 -18
  479. package/src/server/endpoints/metrics.endpoint.ts +0 -12
  480. package/src/server/endpoints/ping.endpoint.ts +0 -7
  481. package/src/server/endpoints/stats.endpoint.ts +0 -20
  482. package/src/server/index.ts +0 -182
  483. package/src/server/models/containers/index.ts +0 -2
  484. package/src/server/models/containers/model.spec.ts +0 -81
  485. package/src/server/models/containers/model.ts +0 -79
  486. package/src/server/models/containers/storage.spec.ts +0 -41
  487. package/src/server/models/containers/storage.ts +0 -59
  488. package/src/server/models/containers/utils.ts +0 -4
  489. package/src/server/models/context/index.spec.ts +0 -171
  490. package/src/server/models/context/index.ts +0 -136
  491. package/src/server/models/context/snapshot.spec.ts +0 -84
  492. package/src/server/models/context/snapshot.ts +0 -148
  493. package/src/server/models/context/types.ts +0 -65
  494. package/src/server/models/context/utils.spec.ts +0 -77
  495. package/src/server/models/context/utils.ts +0 -99
  496. package/src/server/models/endpoint.spec.ts +0 -28
  497. package/src/server/models/endpoint.ts +0 -69
  498. package/src/server/models/exchanges/index.ts +0 -1
  499. package/src/server/models/exchanges/socket-io.spec.ts +0 -13
  500. package/src/server/models/exchanges/socket-io.ts +0 -14
  501. package/src/server/models/executor/errors/index.spec.ts +0 -23
  502. package/src/server/models/executor/errors/index.ts +0 -15
  503. package/src/server/models/executor/index.spec.ts +0 -148
  504. package/src/server/models/executor/index.ts +0 -297
  505. package/src/server/models/history/index.ts +0 -2
  506. package/src/server/models/history/model.spec.ts +0 -35
  507. package/src/server/models/history/model.ts +0 -82
  508. package/src/server/models/history/storage.spec.ts +0 -41
  509. package/src/server/models/history/storage.ts +0 -38
  510. package/src/server/models/index.ts +0 -11
  511. package/src/server/models/providers/index.ts +0 -2
  512. package/src/server/models/providers/model.spec.ts +0 -11
  513. package/src/server/models/providers/model.ts +0 -33
  514. package/src/server/models/providers/storage.spec.ts +0 -21
  515. package/src/server/models/providers/storage.ts +0 -34
  516. package/src/server/models/reply.spec.ts +0 -17
  517. package/src/server/models/reply.ts +0 -10
  518. package/src/server/models/router.spec.ts +0 -50
  519. package/src/server/models/router.ts +0 -79
  520. package/src/server/models/service.ts +0 -5
  521. package/src/server/models/transports/index.ts +0 -2
  522. package/src/server/models/transports/model.ts +0 -9
  523. package/src/server/models/transports/storage.spec.ts +0 -14
  524. package/src/server/models/transports/storage.ts +0 -13
  525. package/src/server/services/analytics.service.spec.ts +0 -38
  526. package/src/server/services/analytics.service.ts +0 -58
  527. package/src/server/services/index.ts +0 -2
  528. package/src/server/services/metrics.service.spec.ts +0 -42
  529. package/src/server/services/metrics.service.ts +0 -46
  530. package/src/server/transports/http.transport/context.ts +0 -72
  531. package/src/server/transports/http.transport/executor.ts +0 -156
  532. package/src/server/transports/http.transport/index.ts +0 -53
  533. package/src/server/transports/index.ts +0 -3
  534. package/src/server/transports/internal/http.transport/context.ts +0 -50
  535. package/src/server/transports/internal/http.transport/executor.ts +0 -56
  536. package/src/server/transports/internal/http.transport/index.ts +0 -23
  537. package/src/server/transports/internal/http.transport/reply.ts +0 -82
  538. package/src/server/transports/internal/index.ts +0 -2
  539. package/src/server/transports/internal/io.transport/context.ts +0 -40
  540. package/src/server/transports/internal/io.transport/executor.ts +0 -27
  541. package/src/server/transports/internal/io.transport/index.ts +0 -36
  542. package/src/server/transports/internal/io.transport/reply.ts +0 -26
  543. package/src/server/transports/internal/utils.ts +0 -6
  544. package/src/server/transports/ws.transport/context.ts +0 -90
  545. package/src/server/transports/ws.transport/executor.ts +0 -64
  546. package/src/server/transports/ws.transport/index.ts +0 -105
  547. package/src/server/types/index.ts +0 -32
  548. package/src/server/utils/index.ts +0 -35
  549. package/src/utils/index.spec.ts +0 -31
  550. package/src/utils/index.ts +0 -51
  551. package/test/index.ts +0 -299
  552. package/test/providers/index.ts +0 -2
  553. package/test/providers/root.ts +0 -241
  554. package/test/providers/statics.ts +0 -37
  555. package/tsconfig.json +0 -108
  556. package/tsconfig.tsbuildinfo +0 -1
  557. package/types/common.ts +0 -127
  558. package/types/index.ts +0 -1
  559. package/vite.config.ts +0 -64
@@ -1,171 +0,0 @@
1
- import { IRequestContextIncoming, RequestContext } from './index';
2
-
3
- class TestRequestContext extends RequestContext {
4
- public incoming: IRequestContextIncoming = {
5
- type: 'plain',
6
- path: '/',
7
- method: 'NONE',
8
- headers: {},
9
- };
10
-
11
- public snapshot = this.compileSnapshot();
12
- }
13
-
14
- // Test generated using Keploy
15
- test('switchStatus method should correctly change status and return the instance', () => {
16
- const providerMock = { storages: { containers: {}, history: { register: jest.fn() } }, server: { databases: { redis: {} }, exchanges: { io: { publish: jest.fn() } } } };
17
- const configurationMock = { transport: {}, event: {} };
18
- const context = new TestRequestContext(<any>providerMock, configurationMock);
19
- const result = context.switchStatus('handling');
20
- expect(context.status).toBe('handling');
21
- expect(result).toBe(context);
22
- });
23
-
24
-
25
- // Test generated using Keploy
26
- test('compileSnapshot method should create a valid snapshot with proper properties', () => {
27
- const providerMock = { storages: { containers: {}, history: { register: jest.fn() } }, server: { databases: { redis: {} }, exchanges: { io: { publish: jest.fn() } } } };
28
- const configurationMock = { transport: {}, event: {} };
29
- const context = new TestRequestContext(<any>providerMock, configurationMock);
30
- context.incoming = <any>{ type: 'testType' };
31
-
32
- const snapshot = context.compileSnapshot();
33
-
34
- expect(snapshot.transport).toBe(context.transport);
35
- expect(snapshot.event).toBe(context.event);
36
- expect(snapshot.flags).toEqual(context.flags);
37
- expect(snapshot.incoming).toEqual(context.incoming);
38
- expect(snapshot.outgoing.stream).toBeDefined();
39
- expect(snapshot.incoming.stream).toBeDefined();
40
- });
41
-
42
-
43
- // Test generated using Keploy
44
- test('compileHistory method should register history with the correct snapshot', () => {
45
- const providerMock = {
46
- storages: {
47
- containers: {},
48
- history: {
49
- register: jest.fn().mockReturnValue({})
50
- }
51
- },
52
- server: {
53
- databases: { redis: {} },
54
- exchanges: { io: { publish: jest.fn() } }
55
- }
56
- };
57
- const configurationMock = { transport: {}, event: {} };
58
- const context = new TestRequestContext(<any>providerMock, configurationMock);
59
- context.incoming = <any>{ type: 'testType' };
60
- const history = context.compileHistory();
61
-
62
- expect(providerMock.storages.history.register).toHaveBeenCalledWith(expect.objectContaining({
63
- timestamp: context.timestamp,
64
- snapshot: expect.anything()
65
- }));
66
- expect(history).toBe((<jest.Mock>context.provider.storages.history.register).mock.results[0].value);
67
- });
68
-
69
-
70
- // Test generated using Keploy
71
- test('compileCacheConfiguration returns disabled when cache is not enabled or expectation is missing', () => {
72
- const providerMock = {
73
- storages: { containers: {} },
74
- server: {
75
- databases: { redis: null },
76
- exchanges: { io: { publish: jest.fn() } }
77
- }
78
- };
79
- const configurationMock = { transport: {}, event: {} };
80
- const context = new TestRequestContext(<any>providerMock, configurationMock);
81
- context.snapshot = <any>{
82
- cache: { isEnabled: false },
83
- incoming: { type: 'GET' },
84
- outgoing: {}
85
- };
86
-
87
- const result = context.compileCacheConfiguration();
88
-
89
- expect(result).toEqual({ isEnabled: false });
90
- });
91
-
92
-
93
- // Test generated using Keploy
94
- test('hasStatuses method correctly identifies if current status is in the given list', () => {
95
- const providerMock = {
96
- storages: { containers: {}, history: { register: jest.fn() } },
97
- server: { databases: { redis: {} }, exchanges: { io: { publish: jest.fn() } } }
98
- };
99
- const configurationMock = { transport: {}, event: {} };
100
- const context = new TestRequestContext(<any>providerMock, configurationMock);
101
- context.switchStatus('completed');
102
-
103
- const result = context.hasStatuses(['registered', 'completed']);
104
-
105
- expect(result).toBe(true);
106
- });
107
-
108
-
109
- // Test generated using Keploy
110
- test('complete method completes streams and switches status to completed', () => {
111
- const providerMock = {
112
- storages: {
113
- containers: {},
114
- history: { register: jest.fn() }
115
- },
116
- server: {
117
- databases: { redis: {} },
118
- exchanges: { io: { publish: jest.fn() } }
119
- }
120
- };
121
- const configurationMock = { transport: {}, event: {} };
122
- const context = new TestRequestContext(<any>providerMock, configurationMock);
123
- context.incoming = <any>{ type: 'testType' };
124
- context.snapshot = <any>{
125
- outgoing: {}
126
- };
127
- context.complete();
128
-
129
- expect(context.hasStatuses(['completed'])).toBe(true);
130
- expect(context.streams.incoming.isStopped).toBe(true);
131
- expect(context.streams.outgoing.isStopped).toBe(true);
132
- });
133
-
134
- // Test generated using Keploy
135
- test('assign method correctly assigns properties to the context', () => {
136
- const providerMock = { storages: { containers: {}, history: { register: jest.fn() } }, server: { databases: { redis: {} }, exchanges: { io: { publish: jest.fn() } } } };
137
- const configurationMock = { transport: {}, event: {} };
138
- const context = new TestRequestContext(<any>providerMock, configurationMock);
139
- const payload = <any>{ incoming: { type: 'newType' }, outgoing: { type: 'newOutgoing' } };
140
-
141
- context.assign(payload);
142
-
143
- expect(context.incoming).toEqual(payload.incoming);
144
- expect(context.outgoing).toEqual(payload.outgoing);
145
- });
146
-
147
-
148
- // Test generated using Keploy
149
- test('skip method switches status to skipped', () => {
150
- const providerMock = { storages: { containers: {}, history: { register: jest.fn() } }, server: { databases: { redis: {} }, exchanges: { io: { publish: jest.fn() } } } };
151
- const configurationMock = { transport: {}, event: {} };
152
- const context = new TestRequestContext(<any>providerMock, configurationMock);
153
-
154
- context.skip();
155
-
156
- expect(context.status).toBe('skipped');
157
- });
158
-
159
-
160
- // Test generated using Keploy
161
- test('handle method switches status to handling', () => {
162
- const providerMock = { storages: { containers: {}, history: { register: jest.fn() } }, server: { databases: { redis: {} }, exchanges: { io: { publish: jest.fn() } } } };
163
- const configurationMock = { transport: {}, event: {} };
164
- const context = new TestRequestContext(<any>providerMock, configurationMock);
165
-
166
- context.handle();
167
-
168
- expect(context.status).toBe('handling');
169
- });
170
-
171
-
@@ -1,136 +0,0 @@
1
- import { ReplaySubject } from 'rxjs';
2
- import { Value } from '@n1k1t/typebox/value';
3
- import _ from 'lodash';
4
-
5
- import type { IRequestContextIncoming, IRequestContextOutgoing, TRequestContextCacheConfigurationCompiled } from './types';
6
- import type { IServerContext } from '../../types';
7
- import type { Expectation } from '../../../expectations';
8
- import type { Provider } from '../providers';
9
- import type { History } from '../history';
10
-
11
- import { RequestContextSnapshot } from './snapshot';
12
- import { metaStorage } from '../../../meta';
13
- import { cast } from '../../../utils';
14
-
15
- export * from './snapshot';
16
- export * from './types';
17
- export * from './utils';
18
-
19
- export abstract class RequestContext<TContext extends IServerContext<any> = IServerContext<any>> {
20
- public TContext!: TContext;
21
- public TShared!: keyof Pick<RequestContext, 'incoming' | 'outgoing' | 'snapshot' | 'expectation' | 'history'>;
22
-
23
- public abstract incoming: IRequestContextIncoming;
24
- public abstract snapshot: RequestContextSnapshot<TContext>;
25
-
26
- public status = cast<'registered' | 'handling' | 'skipped' | 'completed'>('registered');
27
-
28
- public streams = {
29
- incoming: new ReplaySubject(Infinity, 5000),
30
- outgoing: new ReplaySubject(Infinity, 5000),
31
- };
32
-
33
- public transport: TContext['transport'] = this.configuration.transport;
34
- public event: TContext['event'] = this.configuration.event;
35
- public flags: Partial<Record<TContext['flag'], boolean>> = {};
36
-
37
- public expectation?: Expectation<any>;
38
- public outgoing?: IRequestContextOutgoing;
39
- public history?: History;
40
-
41
- public timestamp = Date.now();
42
- public meta = metaStorage.generate();
43
-
44
- constructor(public provider: Provider<IServerContext<any>>, private configuration: Pick<TContext, 'transport' | 'event'>) {
45
- this.streams.incoming.subscribe({ error: () => null, next: (data) => this.history?.pushMessage('incoming', data) });
46
- this.streams.outgoing.subscribe({ error: () => null, next: (data) => this.history?.pushMessage('outgoing', data) });
47
- }
48
-
49
- public switchStatus(status: RequestContext['status']): this {
50
- this.status = status;
51
- return this;
52
- }
53
-
54
- public hasStatuses(status: RequestContext['status'][]): boolean {
55
- return status.includes(this.status);
56
- }
57
-
58
- /** Compiles snapshot of own payload to work with expectations */
59
- public compileSnapshot(): RequestContextSnapshot<TContext> {
60
- const snapshot = RequestContextSnapshot.build<IServerContext<any>>({
61
- transport: this.transport,
62
-
63
- event: this.event,
64
- flags: this.flags,
65
-
66
- incoming: this.incoming,
67
- outgoing: this.outgoing ?? { type: this.incoming.type, status: 0, headers: {} },
68
-
69
- storage: this.provider.storages.containers,
70
- cache: { isEnabled: this.provider.server.databases.redis !== null },
71
- });
72
-
73
- snapshot.incoming.stream = this.streams.incoming.asObservable();
74
- snapshot.outgoing.stream = this.streams.outgoing.asObservable();
75
-
76
- return snapshot;
77
- };
78
-
79
- /** Compiles history model with own snapshot for GUI */
80
- public compileHistory(): History {
81
- return this.provider.storages.history.register({
82
- timestamp: this.timestamp,
83
- snapshot: this.compileSnapshot().assign({ messages: [] }).clone(),
84
- });
85
- }
86
-
87
- /** Compiles cache configuration using own snapshot and expectation */
88
- public compileCacheConfiguration(): TRequestContextCacheConfigurationCompiled {
89
- if (!this.snapshot.cache.isEnabled || !this.expectation?.forward?.cache) {
90
- return { isEnabled: false };
91
- }
92
-
93
- const payload = this.snapshot.cache.key ?? _.pick(this.snapshot.incoming, ['path', 'method', 'data', 'query']);
94
- const prefix = this.snapshot.cache.prefix ?? this.expectation?.forward?.cache?.prefix;
95
- const key = typeof payload === 'object' ? Value.Hash(payload).toString() : String(payload);
96
- const ttl = this.snapshot.cache.ttl ?? this.expectation.forward.cache.ttl ?? 3600;
97
-
98
- return { prefix, ttl, key: `${prefix ?? ''}${key}`, isEnabled: true };
99
- }
100
-
101
- /** Provides payload parts into context */
102
- public assign<T extends Partial<Pick<RequestContext<any>, RequestContext<any>['TShared']>>>(payload: T) {
103
- return Object.assign(this, payload);
104
- }
105
-
106
- /** Marks context as skipped to prevent further handling in executors */
107
- public skip() {
108
- return this.switchStatus('skipped');
109
- }
110
-
111
- /** Marks context as handling */
112
- public handle() {
113
- return this.switchStatus('handling');
114
- }
115
-
116
- /** Marks context as completed, completes streams, provides outgoing payload from the own snapshot and publishes history */
117
- public complete() {
118
- if (this.hasStatuses(['completed'])) {
119
- return this;
120
- }
121
-
122
- this.streams.incoming.complete();
123
- this.streams.outgoing.complete();
124
-
125
- if (!this.outgoing) {
126
- this.outgoing = this.snapshot.outgoing;
127
- }
128
-
129
- if (this.history?.hasStatus('pending')) {
130
- this.history.actualizeSnapshot(this.snapshot.assign({ outgoing: this.outgoing })).complete();
131
- this.provider.server.exchanges.io.publish('history:updated', this.history.toPlain());
132
- }
133
-
134
- return this.switchStatus('completed');
135
- }
136
- }
@@ -1,84 +0,0 @@
1
- import { RequestContextSnapshot } from './snapshot';
2
-
3
- // Test generated using Keploy
4
- it('should correctly assign new values to the instance', () => {
5
- const instance = new RequestContextSnapshot({
6
- transport: 'http',
7
- event: 'connect',
8
- incoming: <any>{},
9
- outgoing: <any>{},
10
- storage: <any>{},
11
- flags: {}
12
- });
13
-
14
- instance.assign({ transport: 'https', flags: { newFlag: true } });
15
-
16
- expect(instance.transport).toBe('https');
17
- expect(instance.flags?.newFlag).toBe(true);
18
- });
19
-
20
- // Test generated using Keploy
21
- it('should return only the specified keys', () => {
22
- const instance = new RequestContextSnapshot({
23
- transport: 'http',
24
- event: 'connect',
25
- incoming: <any>{},
26
- outgoing: <any>{},
27
- storage: <any>{},
28
- flags: {}
29
- });
30
-
31
- const picked = instance.pick(['transport', 'flags']);
32
- expect(picked).toEqual({
33
- transport: 'http',
34
- flags: {}
35
- });
36
- });
37
-
38
- // Test generated using Keploy
39
- it('should omit specified keys', () => {
40
- const instance = new RequestContextSnapshot({
41
- transport: 'http',
42
- event: 'connect',
43
- incoming: <any>{},
44
- outgoing: <any>{},
45
- storage: <any>{},
46
- flags: {}
47
- });
48
-
49
- const omitted = instance.omit(<never[]>['transport']);
50
- expect(omitted.transport).toBeUndefined();
51
- expect(omitted.event).toBe('connect');
52
- });
53
-
54
- // Test generated using Keploy
55
- it('should unset specified keys', () => {
56
- const instance = new RequestContextSnapshot({
57
- transport: 'http',
58
- event: 'connect',
59
- incoming: <any>{},
60
- outgoing: <any>{},
61
- storage: <any>{},
62
- flags: {}
63
- });
64
-
65
- instance.unset(['transport']);
66
- expect(instance.transport).toBeUndefined();
67
- });
68
-
69
- // Test generated using Keploy
70
- it('should clone the instance correctly', () => {
71
- const instance = new RequestContextSnapshot({
72
- transport: 'http',
73
- event: 'connect',
74
- incoming: <any>{},
75
- outgoing: <any>{},
76
- storage: <any>{},
77
- flags: {}
78
- });
79
-
80
- const cloneInstance = instance.clone();
81
- expect(cloneInstance).not.toBe(instance);
82
- expect(cloneInstance.transport).toBe(instance.transport);
83
- });
84
-
@@ -1,148 +0,0 @@
1
- import rfdc from 'rfdc';
2
- import _ from 'lodash';
3
-
4
- import type { Container, ContainersStorage } from '../containers';
5
- import type { IServerContext } from '../../types';
6
- import type {
7
- IRequestContextCacheConfiguration,
8
- IRequestContextIncoming,
9
- IRequestContextOutgoing,
10
- IRequestContextMessage,
11
- IRequestContextForwarded,
12
- } from './types';
13
-
14
- const clone = rfdc();
15
-
16
- export class RequestContextSnapshot<TContext extends IServerContext<any> = IServerContext<any>> {
17
- public TPlain!: Omit<RequestContextSnapshot['configuration'], 'container' | 'storage' | 'forwarded'> & {
18
- transport: TContext['transport'];
19
-
20
- incoming: {
21
- dataRaw?: string;
22
- };
23
-
24
- outgoing: {
25
- dataRaw?: string;
26
- };
27
-
28
- forwarded?: Omit<IRequestContextForwarded, 'incoming' | 'outgoing'> & {
29
- incoming: Omit<IRequestContextIncoming, 'dataRaw'> & {
30
- dataRaw?: string;
31
- };
32
-
33
- outgoing?: Omit<IRequestContextOutgoing, 'dataRaw'> & {
34
- dataRaw?: string;
35
- };
36
- };
37
-
38
- container?: Container['TPlain'];
39
- error?: RequestContextSnapshot['error'];
40
- };
41
-
42
- public transport: TContext['transport'] = this.configuration.transport;
43
- public event: TContext['event'] = this.configuration.event;
44
- public flags: Partial<Record<TContext['flag'], boolean>> = this.configuration.flags;
45
-
46
- public storage: ContainersStorage = this.configuration.storage;
47
-
48
- public cache: IRequestContextCacheConfiguration = this.configuration.cache ?? { isEnabled: false };
49
- public state: object = this.configuration.state ?? {};
50
-
51
- public incoming: IRequestContextIncoming = this.configuration.incoming;
52
- public outgoing: IRequestContextOutgoing = this.configuration.outgoing;
53
-
54
- public forwarded?: IRequestContextForwarded = this.configuration.forwarded;
55
- public messages?: IRequestContextMessage[] = this.configuration.messages;
56
-
57
- public container?: Container<any> = this.configuration.container;
58
- public seed?: number = this.configuration.seed;
59
-
60
- public error?: {
61
- code?: string;
62
- message?: string;
63
- isManual?: boolean;
64
- };
65
-
66
- constructor(
67
- private configuration:
68
- & Pick<TContext, 'transport' | 'event'>
69
- & Pick<RequestContextSnapshot, 'incoming' | 'outgoing' | 'event' | 'storage' | 'flags'>
70
- & Partial<Pick<RequestContextSnapshot, 'messages' | 'state' | 'seed' | 'container' | 'forwarded' | 'error' | 'cache'>>
71
- ) {}
72
-
73
- public assign<T extends Partial<RequestContextSnapshot['configuration']>>(payload: T) {
74
- return Object.assign(this, payload);
75
- }
76
-
77
- public pick<K extends keyof RequestContextSnapshot['configuration']>(keys: K[]): Pick<RequestContextSnapshot, K> {
78
- return _.pick(this, keys);
79
- }
80
-
81
- public omit<K extends keyof RequestContextSnapshot['configuration']>(keys: K[]): Omit<RequestContextSnapshot, K> {
82
- return <Omit<RequestContextSnapshot, K>>_.omit(this, keys);
83
- }
84
-
85
- public unset<K extends keyof RequestContextSnapshot['configuration']>(keys: K[]): Omit<RequestContextSnapshot, K> {
86
- keys.forEach((key) => _.unset(this, key));
87
- return <Omit<RequestContextSnapshot, K>>this;
88
- }
89
-
90
- public clone(): this {
91
- return <this>RequestContextSnapshot.build({
92
- ..._.omit(this, ['incoming', 'outgoing']),
93
-
94
- incoming: Object.assign(clone(_.omit(this.incoming, ['stream', 'dataRaw'])), {
95
- stream: this.incoming.stream,
96
- dataRaw: this.incoming.dataRaw?.subarray(),
97
- }),
98
-
99
- outgoing: Object.assign(clone(_.omit(this.outgoing, ['stream', 'dataRaw'])), {
100
- stream: this.outgoing.stream,
101
- dataRaw: this.outgoing.dataRaw?.subarray(),
102
- }),
103
- });
104
- }
105
-
106
- public toPlain(): RequestContextSnapshot['TPlain'] {
107
- return {
108
- transport: this.transport,
109
- event: this.event,
110
- flags: this.flags,
111
-
112
- state: this.state,
113
- cache: this.cache,
114
-
115
- seed: this.seed,
116
- container: this.container?.toPlain(),
117
-
118
- incoming: Object.assign(_.omit(this.incoming, ['stream']), {
119
- dataRaw: this.incoming.dataRaw?.toString(),
120
- }),
121
-
122
- outgoing: Object.assign(_.omit(this.outgoing, ['stream']), {
123
- dataRaw: this.outgoing.dataRaw?.toString(),
124
- }),
125
-
126
- ...(this.forwarded && {
127
- forwarded: Object.assign(_.omit(this.forwarded, ['incoming', 'outgoing']), {
128
- incoming: Object.assign(_.omit(this.forwarded.incoming, ['dataRaw']), {
129
- dataRaw: this.forwarded.incoming.dataRaw?.toString(),
130
- }),
131
-
132
- ...(this.forwarded.outgoing && {
133
- outgoing: Object.assign(_.omit(this.forwarded.outgoing, ['dataRaw']), {
134
- dataRaw: this.forwarded.outgoing.dataRaw?.toString(),
135
- }),
136
- }),
137
- }),
138
- }),
139
-
140
- messages: this.messages,
141
- error: this.error,
142
- };
143
- }
144
-
145
- static build<TContext extends IServerContext<any>>(configuration: RequestContextSnapshot<TContext>['configuration']) {
146
- return new RequestContextSnapshot<TContext>(configuration);
147
- }
148
- }
@@ -1,65 +0,0 @@
1
- import type { Observable } from 'rxjs';
2
-
3
- import type { TRequestPayloadType } from '../../types';
4
- import type { SetRequiredKeys } from '../../../../types';
5
-
6
- export interface IRequestContextIncoming {
7
- type: TRequestPayloadType;
8
- path: string;
9
- method: string;
10
- headers: Record<string, string>;
11
-
12
- query?: Record<string, unknown>;
13
- stream?: Observable<unknown>;
14
-
15
- data?: unknown;
16
- dataRaw?: Buffer;
17
-
18
- delay?: number;
19
- error?: 'ECONNABORTED';
20
- }
21
-
22
- export interface IRequestContextOutgoing {
23
- type: TRequestPayloadType;
24
- status: number;
25
- headers: Record<string, string>;
26
-
27
- data?: unknown;
28
- dataRaw?: Buffer;
29
-
30
- stream?: Observable<unknown>;
31
- }
32
-
33
- export interface IRequestContextMessage {
34
- id: number;
35
- location: 'incoming' | 'outgoing';
36
-
37
- timestamp: number;
38
- data: unknown;
39
- }
40
-
41
- export interface IRequestContextForwarded {
42
- incoming: IRequestContextIncoming;
43
- outgoing?: IRequestContextOutgoing;
44
-
45
- messages?: Pick<IRequestContextMessage, 'location' | 'data'>[];
46
- isCached?: boolean;
47
- }
48
-
49
- export interface IRequestContextCache {
50
- outgoing: Omit<IRequestContextOutgoing, 'dataRaw'> & { dataRaw?: string };
51
- messages?: Pick<IRequestContextMessage, 'location' | 'data'>[];
52
- }
53
-
54
- export interface IRequestContextCacheConfiguration {
55
- isEnabled: boolean;
56
- prefix?: string;
57
- key?: string | object;
58
-
59
- /** Seconds */
60
- ttl?: number;
61
- }
62
-
63
- export type TRequestContextCacheConfigurationCompiled =
64
- | { isEnabled: false }
65
- | { isEnabled: true, key: string } & SetRequiredKeys<IRequestContextCacheConfiguration, 'ttl'>;
@@ -1,77 +0,0 @@
1
- import { extractPayloadType } from './utils';
2
- import { parsePayload } from './utils';
3
- import { serializePayload } from './utils';
4
- import { IncomingMessage } from 'http';
5
- import { extractHttpIncommingContext } from './utils';
6
-
7
- // Test generated using Keploy
8
- test('should return json when content type is application/json', () => {
9
- const headers = {
10
- 'Content-Type': 'application/json'
11
- };
12
- const result = extractPayloadType(headers);
13
- expect(result).toBe('json');
14
- });
15
-
16
- // Test generated using Keploy
17
- test('should return xml when content type is application/xml', () => {
18
- const headers = {
19
- 'Content-Type': 'application/xml'
20
- };
21
- const result = extractPayloadType(headers);
22
- expect(result).toBe('xml');
23
- });
24
-
25
- // Test generated using Keploy
26
- test('should return undefined when type is unsupported', () => {
27
- const result = parsePayload('plain', Buffer.from('test data'));
28
- expect(result).toBeUndefined();
29
- });
30
-
31
- // Test generated using Keploy
32
- test('should serialize payload to JSON buffer', () => {
33
- const payload = { key: 'value' };
34
- const result = serializePayload('json', payload);
35
- expect(result).toEqual(Buffer.from(JSON.stringify(payload)));
36
- });
37
-
38
- // Test generated using Keploy
39
- test('should serialize payload to XML buffer', () => {
40
- const payload = { key: 'value' };
41
- const result = serializePayload('xml', payload);
42
- expect(result).toEqual(expect.any(Buffer));
43
- });
44
-
45
- // Test generated using Keploy
46
- test('test_parsePayload_validJson', () => {
47
- const payload = Buffer.from(JSON.stringify({ key: 'value' }));
48
- const result = parsePayload('json', payload);
49
- expect(result).toEqual({ key: 'value' });
50
- });
51
-
52
- // Test generated using Keploy
53
- const xmlPayload = Buffer.from('<root><key>value</key></root>');
54
- const result = parsePayload('xml', xmlPayload);
55
- expect(result).toEqual({ root: { key: 'value' } });
56
-
57
- // Test generated using Keploy
58
- test('test_extractPayloadType_emptyHeaders', () => {
59
- const headers = {};
60
- const result = extractPayloadType(headers);
61
- expect(result).toBeNull();
62
- });
63
-
64
- // Test generated using Keploy
65
- test('test_extractHttpIncommingContext_missingBody', async () => {
66
- const request = <IncomingMessage><unknown>{
67
- url: '/test?param=value',
68
- method: 'POST',
69
- headers: {
70
- 'Content-Type': 'application/json'
71
- },
72
- body: undefined
73
- };
74
-
75
- const result = await extractHttpIncommingContext(request);
76
- expect(result.data).toBeUndefined();
77
- });