@api-client/core 0.9.21 → 0.9.23

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 (228) hide show
  1. package/build/browser.d.ts +11 -11
  2. package/build/browser.js +13 -16
  3. package/build/browser.js.map +1 -1
  4. package/build/index.d.ts +11 -11
  5. package/build/index.js +13 -16
  6. package/build/index.js.map +1 -1
  7. package/build/src/data/DataExtractor.d.ts +66 -0
  8. package/build/src/data/DataExtractor.js +177 -0
  9. package/build/src/data/DataExtractor.js.map +1 -0
  10. package/build/src/data/RequestDataExtractor.d.ts +4 -1
  11. package/build/src/data/RequestDataExtractor.js +13 -26
  12. package/build/src/data/RequestDataExtractor.js.map +1 -1
  13. package/build/src/models/Request.d.ts +2 -2
  14. package/build/src/models/Request.js +1 -1
  15. package/build/src/models/Request.js.map +1 -1
  16. package/build/src/models/RequestLog.d.ts +1 -1
  17. package/build/src/models/{http-actions → http-flows}/AssertionError.d.ts +0 -0
  18. package/build/src/models/{http-actions → http-flows}/AssertionError.js +0 -0
  19. package/build/src/models/http-flows/AssertionError.js.map +1 -0
  20. package/build/src/models/{http-actions → http-flows}/HttpAssertion.d.ts +0 -0
  21. package/build/src/models/{http-actions → http-flows}/HttpAssertion.js +0 -0
  22. package/build/src/models/http-flows/HttpAssertion.js.map +1 -0
  23. package/build/src/models/{http-actions → http-flows}/HttpFlows.d.ts +5 -38
  24. package/build/src/models/{http-actions → http-flows}/HttpFlows.js +4 -0
  25. package/build/src/models/http-flows/HttpFlows.js.map +1 -0
  26. package/build/src/models/{http-actions → http-flows}/HttpStep.d.ts +0 -0
  27. package/build/src/models/{http-actions → http-flows}/HttpStep.js +0 -0
  28. package/build/src/models/http-flows/HttpStep.js.map +1 -0
  29. package/build/src/models/{http-actions → http-flows}/LegacyTranslator.d.ts +2 -2
  30. package/build/src/models/{http-actions → http-flows}/LegacyTranslator.js +92 -46
  31. package/build/src/models/http-flows/LegacyTranslator.js.map +1 -0
  32. package/build/src/models/{http-actions → http-flows}/steps/assertion/EqualAssertion.d.ts +0 -0
  33. package/build/src/models/{http-actions → http-flows}/steps/assertion/EqualAssertion.js +0 -0
  34. package/build/src/models/http-flows/steps/assertion/EqualAssertion.js.map +1 -0
  35. package/build/src/models/{http-actions → http-flows}/steps/assertion/GreaterThanAssertion.d.ts +0 -0
  36. package/build/src/models/{http-actions → http-flows}/steps/assertion/GreaterThanAssertion.js +0 -0
  37. package/build/src/models/http-flows/steps/assertion/GreaterThanAssertion.js.map +1 -0
  38. package/build/src/models/{http-actions → http-flows}/steps/assertion/IncludesAssertion.d.ts +0 -0
  39. package/build/src/models/{http-actions → http-flows}/steps/assertion/IncludesAssertion.js +0 -0
  40. package/build/src/models/http-flows/steps/assertion/IncludesAssertion.js.map +1 -0
  41. package/build/src/models/{http-actions → http-flows}/steps/assertion/IsEmptyAssertion.d.ts +0 -0
  42. package/build/src/models/{http-actions → http-flows}/steps/assertion/IsEmptyAssertion.js +0 -0
  43. package/build/src/models/http-flows/steps/assertion/IsEmptyAssertion.js.map +1 -0
  44. package/build/src/models/{http-actions → http-flows}/steps/assertion/IsNotEmptyAssertion.d.ts +0 -0
  45. package/build/src/models/{http-actions → http-flows}/steps/assertion/IsNotEmptyAssertion.js +0 -0
  46. package/build/src/models/http-flows/steps/assertion/IsNotEmptyAssertion.js.map +1 -0
  47. package/build/src/models/{http-actions → http-flows}/steps/assertion/LengthOfAssertion.d.ts +0 -0
  48. package/build/src/models/{http-actions → http-flows}/steps/assertion/LengthOfAssertion.js +0 -0
  49. package/build/src/models/http-flows/steps/assertion/LengthOfAssertion.js.map +1 -0
  50. package/build/src/models/{http-actions → http-flows}/steps/assertion/LessThanAssertion.d.ts +0 -0
  51. package/build/src/models/{http-actions → http-flows}/steps/assertion/LessThanAssertion.js +0 -0
  52. package/build/src/models/http-flows/steps/assertion/LessThanAssertion.js.map +1 -0
  53. package/build/src/models/{http-actions → http-flows}/steps/assertion/MatchesAssertion.d.ts +0 -0
  54. package/build/src/models/{http-actions → http-flows}/steps/assertion/MatchesAssertion.js +0 -0
  55. package/build/src/models/http-flows/steps/assertion/MatchesAssertion.js.map +1 -0
  56. package/build/src/models/{http-actions → http-flows}/steps/assertion/MatchesSchemaAssertion.d.ts +0 -0
  57. package/build/src/models/{http-actions → http-flows}/steps/assertion/MatchesSchemaAssertion.js +0 -0
  58. package/build/src/models/http-flows/steps/assertion/MatchesSchemaAssertion.js.map +1 -0
  59. package/build/src/models/{http-actions → http-flows}/steps/assertion/NotEqualAssertion.d.ts +0 -0
  60. package/build/src/models/{http-actions → http-flows}/steps/assertion/NotEqualAssertion.js +0 -0
  61. package/build/src/models/http-flows/steps/assertion/NotEqualAssertion.js.map +1 -0
  62. package/build/src/models/{http-actions → http-flows}/steps/assertion/NotIncludesAssertion.d.ts +0 -0
  63. package/build/src/models/{http-actions → http-flows}/steps/assertion/NotIncludesAssertion.js +0 -0
  64. package/build/src/models/http-flows/steps/assertion/NotIncludesAssertion.js.map +1 -0
  65. package/build/src/models/{http-actions → http-flows}/steps/assertion/NotOkAssertion.d.ts +0 -0
  66. package/build/src/models/{http-actions → http-flows}/steps/assertion/NotOkAssertion.js +0 -0
  67. package/build/src/models/http-flows/steps/assertion/NotOkAssertion.js.map +1 -0
  68. package/build/src/models/{http-actions → http-flows}/steps/assertion/NotToBeAssertion.d.ts +0 -0
  69. package/build/src/models/{http-actions → http-flows}/steps/assertion/NotToBeAssertion.js +0 -0
  70. package/build/src/models/http-flows/steps/assertion/NotToBeAssertion.js.map +1 -0
  71. package/build/src/models/{http-actions → http-flows}/steps/assertion/OkAssertion.d.ts +0 -0
  72. package/build/src/models/{http-actions → http-flows}/steps/assertion/OkAssertion.js +0 -0
  73. package/build/src/models/http-flows/steps/assertion/OkAssertion.js.map +1 -0
  74. package/build/src/models/{http-actions → http-flows}/steps/assertion/ToBeAssertion.d.ts +0 -0
  75. package/build/src/models/{http-actions → http-flows}/steps/assertion/ToBeAssertion.js +0 -0
  76. package/build/src/models/http-flows/steps/assertion/ToBeAssertion.js.map +1 -0
  77. package/build/src/models/{http-actions → http-flows}/steps/assertion/index.d.ts +0 -0
  78. package/build/src/models/{http-actions → http-flows}/steps/assertion/index.js +0 -0
  79. package/build/src/models/http-flows/steps/assertion/index.js.map +1 -0
  80. package/build/src/models/{http-actions → http-flows}/steps/data/DeleteCookieStep.d.ts +5 -1
  81. package/build/src/models/{http-actions → http-flows}/steps/data/DeleteCookieStep.js +6 -1
  82. package/build/src/models/http-flows/steps/data/DeleteCookieStep.js.map +1 -0
  83. package/build/src/models/http-flows/steps/data/DeleteVariableStep.d.ts +36 -0
  84. package/build/src/models/http-flows/steps/data/DeleteVariableStep.js +44 -0
  85. package/build/src/models/http-flows/steps/data/DeleteVariableStep.js.map +1 -0
  86. package/build/src/models/{http-actions → http-flows}/steps/data/ReadDataSourceStep.d.ts +0 -0
  87. package/build/src/models/{http-actions → http-flows}/steps/data/ReadDataSourceStep.js +0 -0
  88. package/build/src/models/http-flows/steps/data/ReadDataSourceStep.js.map +1 -0
  89. package/build/src/models/{http-actions → http-flows}/steps/data/ReadDataStep.d.ts +0 -0
  90. package/build/src/models/{http-actions → http-flows}/steps/data/ReadDataStep.js +0 -0
  91. package/build/src/models/http-flows/steps/data/ReadDataStep.js.map +1 -0
  92. package/build/src/models/{http-actions → http-flows}/steps/data/ReadValueStep.d.ts +0 -0
  93. package/build/src/models/{http-actions → http-flows}/steps/data/ReadValueStep.js +0 -0
  94. package/build/src/models/http-flows/steps/data/ReadValueStep.js.map +1 -0
  95. package/build/src/models/{http-actions → http-flows}/steps/data/SetCookieStep.d.ts +2 -1
  96. package/build/src/models/{http-actions → http-flows}/steps/data/SetCookieStep.js +2 -1
  97. package/build/src/models/http-flows/steps/data/SetCookieStep.js.map +1 -0
  98. package/build/src/models/{http-actions → http-flows}/steps/data/SetDataStep.d.ts +0 -0
  99. package/build/src/models/{http-actions → http-flows}/steps/data/SetDataStep.js +0 -0
  100. package/build/src/models/http-flows/steps/data/SetDataStep.js.map +1 -0
  101. package/build/src/models/{http-actions → http-flows}/steps/data/SetVariableStep.d.ts +0 -0
  102. package/build/src/models/{http-actions → http-flows}/steps/data/SetVariableStep.js +0 -0
  103. package/build/src/models/http-flows/steps/data/SetVariableStep.js.map +1 -0
  104. package/build/src/models/{http-actions → http-flows}/steps/data/index.d.ts +1 -0
  105. package/build/src/models/{http-actions → http-flows}/steps/data/index.js +1 -0
  106. package/build/src/models/http-flows/steps/data/index.js.map +1 -0
  107. package/build/src/models/{http-actions → http-flows}/steps/transformation/AsLowerCaseStep.d.ts +0 -0
  108. package/build/src/models/{http-actions → http-flows}/steps/transformation/AsLowerCaseStep.js +0 -0
  109. package/build/src/models/http-flows/steps/transformation/AsLowerCaseStep.js.map +1 -0
  110. package/build/src/models/{http-actions → http-flows}/steps/transformation/AsNumberStep.d.ts +0 -0
  111. package/build/src/models/{http-actions → http-flows}/steps/transformation/AsNumberStep.js +0 -0
  112. package/build/src/models/http-flows/steps/transformation/AsNumberStep.js.map +1 -0
  113. package/build/src/models/{http-actions → http-flows}/steps/transformation/AsUpperCaseStep.d.ts +0 -0
  114. package/build/src/models/{http-actions → http-flows}/steps/transformation/AsUpperCaseStep.js +0 -0
  115. package/build/src/models/http-flows/steps/transformation/AsUpperCaseStep.js.map +1 -0
  116. package/build/src/models/{http-actions → http-flows}/steps/transformation/RoundStep.d.ts +0 -0
  117. package/build/src/models/{http-actions → http-flows}/steps/transformation/RoundStep.js +0 -0
  118. package/build/src/models/http-flows/steps/transformation/RoundStep.js.map +1 -0
  119. package/build/src/models/{http-actions → http-flows}/steps/transformation/SubstringStep.d.ts +0 -0
  120. package/build/src/models/{http-actions → http-flows}/steps/transformation/SubstringStep.js +0 -0
  121. package/build/src/models/http-flows/steps/transformation/SubstringStep.js.map +1 -0
  122. package/build/src/models/{http-actions → http-flows}/steps/transformation/TrimStep.d.ts +0 -0
  123. package/build/src/models/{http-actions → http-flows}/steps/transformation/TrimStep.js +0 -0
  124. package/build/src/models/http-flows/steps/transformation/TrimStep.js.map +1 -0
  125. package/build/src/models/{http-actions → http-flows}/steps/transformation/index.d.ts +0 -0
  126. package/build/src/models/{http-actions → http-flows}/steps/transformation/index.js +0 -0
  127. package/build/src/models/http-flows/steps/transformation/index.js.map +1 -0
  128. package/build/src/proxy/HttpProjectProxy.d.ts +4 -0
  129. package/build/src/proxy/HttpProjectProxy.js.map +1 -1
  130. package/build/src/proxy/RequestProxy.d.ts +6 -2
  131. package/build/src/proxy/RequestProxy.js.map +1 -1
  132. package/build/src/runtime/http-runner/ConditionCheck.d.ts +1 -1
  133. package/build/src/runtime/http-runner/HttpAssertionRunner.d.ts +7 -57
  134. package/build/src/runtime/http-runner/HttpAssertionRunner.js +24 -382
  135. package/build/src/runtime/http-runner/HttpAssertionRunner.js.map +1 -1
  136. package/build/src/runtime/http-runner/HttpFlowRunner.d.ts +10 -57
  137. package/build/src/runtime/http-runner/HttpFlowRunner.js +45 -203
  138. package/build/src/runtime/http-runner/HttpFlowRunner.js.map +1 -1
  139. package/build/src/runtime/http-runner/HttpFlows.d.ts +119 -0
  140. package/build/src/runtime/http-runner/HttpFlows.js +541 -0
  141. package/build/src/runtime/http-runner/HttpFlows.js.map +1 -0
  142. package/build/src/runtime/http-runner/HttpRequestRunner.d.ts +2 -2
  143. package/package.json +1 -1
  144. package/src/data/DataExtractor.ts +188 -0
  145. package/src/data/RequestDataExtractor.ts +14 -26
  146. package/src/models/Request.ts +3 -3
  147. package/src/models/RequestLog.ts +1 -1
  148. package/src/models/{http-actions → http-flows}/AssertionError.ts +0 -0
  149. package/src/models/{http-actions → http-flows}/HttpAssertion.ts +0 -0
  150. package/src/models/{http-actions → http-flows}/HttpFlows.ts +5 -39
  151. package/src/models/{http-actions → http-flows}/HttpStep.ts +0 -0
  152. package/src/models/{http-actions → http-flows}/LegacyTranslator.ts +89 -31
  153. package/src/models/{http-actions → http-flows}/steps/assertion/EqualAssertion.ts +0 -0
  154. package/src/models/{http-actions → http-flows}/steps/assertion/GreaterThanAssertion.ts +0 -0
  155. package/src/models/{http-actions → http-flows}/steps/assertion/IncludesAssertion.ts +0 -0
  156. package/src/models/{http-actions → http-flows}/steps/assertion/IsEmptyAssertion.ts +0 -0
  157. package/src/models/{http-actions → http-flows}/steps/assertion/IsNotEmptyAssertion.ts +0 -0
  158. package/src/models/{http-actions → http-flows}/steps/assertion/LengthOfAssertion.ts +0 -0
  159. package/src/models/{http-actions → http-flows}/steps/assertion/LessThanAssertion.ts +0 -0
  160. package/src/models/{http-actions → http-flows}/steps/assertion/MatchesAssertion.ts +0 -0
  161. package/src/models/{http-actions → http-flows}/steps/assertion/MatchesSchemaAssertion.ts +0 -0
  162. package/src/models/{http-actions → http-flows}/steps/assertion/NotEqualAssertion.ts +0 -0
  163. package/src/models/{http-actions → http-flows}/steps/assertion/NotIncludesAssertion.ts +0 -0
  164. package/src/models/{http-actions → http-flows}/steps/assertion/NotOkAssertion.ts +0 -0
  165. package/src/models/{http-actions → http-flows}/steps/assertion/NotToBeAssertion.ts +0 -0
  166. package/src/models/{http-actions → http-flows}/steps/assertion/OkAssertion.ts +0 -0
  167. package/src/models/{http-actions → http-flows}/steps/assertion/ToBeAssertion.ts +0 -0
  168. package/src/models/{http-actions → http-flows}/steps/data/DeleteCookieStep.ts +6 -1
  169. package/src/models/http-flows/steps/data/DeleteVariableStep.ts +78 -0
  170. package/src/models/{http-actions → http-flows}/steps/data/ReadDataSourceStep.ts +0 -0
  171. package/src/models/{http-actions → http-flows}/steps/data/ReadDataStep.ts +0 -0
  172. package/src/models/{http-actions → http-flows}/steps/data/ReadValueStep.ts +0 -0
  173. package/src/models/{http-actions → http-flows}/steps/data/SetCookieStep.ts +4 -2
  174. package/src/models/{http-actions → http-flows}/steps/data/SetDataStep.ts +0 -0
  175. package/src/models/{http-actions → http-flows}/steps/data/SetVariableStep.ts +0 -0
  176. package/src/models/{http-actions → http-flows}/steps/transformation/AsLowerCaseStep.ts +0 -0
  177. package/src/models/{http-actions → http-flows}/steps/transformation/AsNumberStep.ts +0 -0
  178. package/src/models/{http-actions → http-flows}/steps/transformation/AsUpperCaseStep.ts +0 -0
  179. package/src/models/{http-actions → http-flows}/steps/transformation/RoundStep.ts +0 -0
  180. package/src/models/{http-actions → http-flows}/steps/transformation/SubstringStep.ts +0 -0
  181. package/src/models/{http-actions → http-flows}/steps/transformation/TrimStep.ts +0 -0
  182. package/src/proxy/HttpProjectProxy.ts +4 -0
  183. package/src/proxy/RequestProxy.ts +6 -2
  184. package/src/runtime/http-runner/ConditionCheck.ts +1 -1
  185. package/src/runtime/http-runner/HttpAssertionRunner.ts +28 -410
  186. package/src/runtime/http-runner/HttpFlowRunner.ts +47 -212
  187. package/src/runtime/http-runner/HttpFlows.ts +576 -0
  188. package/src/runtime/http-runner/HttpRequestRunner.ts +2 -2
  189. package/build/src/data/DataUtils.d.ts +0 -40
  190. package/build/src/data/DataUtils.js +0 -106
  191. package/build/src/data/DataUtils.js.map +0 -1
  192. package/build/src/models/http-actions/AssertionError.js.map +0 -1
  193. package/build/src/models/http-actions/HttpAssertion.js.map +0 -1
  194. package/build/src/models/http-actions/HttpFlows.js.map +0 -1
  195. package/build/src/models/http-actions/HttpStep.js.map +0 -1
  196. package/build/src/models/http-actions/LegacyTranslator.js.map +0 -1
  197. package/build/src/models/http-actions/steps/assertion/EqualAssertion.js.map +0 -1
  198. package/build/src/models/http-actions/steps/assertion/GreaterThanAssertion.js.map +0 -1
  199. package/build/src/models/http-actions/steps/assertion/IncludesAssertion.js.map +0 -1
  200. package/build/src/models/http-actions/steps/assertion/IsEmptyAssertion.js.map +0 -1
  201. package/build/src/models/http-actions/steps/assertion/IsNotEmptyAssertion.js.map +0 -1
  202. package/build/src/models/http-actions/steps/assertion/LengthOfAssertion.js.map +0 -1
  203. package/build/src/models/http-actions/steps/assertion/LessThanAssertion.js.map +0 -1
  204. package/build/src/models/http-actions/steps/assertion/MatchesAssertion.js.map +0 -1
  205. package/build/src/models/http-actions/steps/assertion/MatchesSchemaAssertion.js.map +0 -1
  206. package/build/src/models/http-actions/steps/assertion/NotEqualAssertion.js.map +0 -1
  207. package/build/src/models/http-actions/steps/assertion/NotIncludesAssertion.js.map +0 -1
  208. package/build/src/models/http-actions/steps/assertion/NotOkAssertion.js.map +0 -1
  209. package/build/src/models/http-actions/steps/assertion/NotToBeAssertion.js.map +0 -1
  210. package/build/src/models/http-actions/steps/assertion/OkAssertion.js.map +0 -1
  211. package/build/src/models/http-actions/steps/assertion/ToBeAssertion.js.map +0 -1
  212. package/build/src/models/http-actions/steps/assertion/index.js.map +0 -1
  213. package/build/src/models/http-actions/steps/data/DeleteCookieStep.js.map +0 -1
  214. package/build/src/models/http-actions/steps/data/ReadDataSourceStep.js.map +0 -1
  215. package/build/src/models/http-actions/steps/data/ReadDataStep.js.map +0 -1
  216. package/build/src/models/http-actions/steps/data/ReadValueStep.js.map +0 -1
  217. package/build/src/models/http-actions/steps/data/SetCookieStep.js.map +0 -1
  218. package/build/src/models/http-actions/steps/data/SetDataStep.js.map +0 -1
  219. package/build/src/models/http-actions/steps/data/SetVariableStep.js.map +0 -1
  220. package/build/src/models/http-actions/steps/data/index.js.map +0 -1
  221. package/build/src/models/http-actions/steps/transformation/AsLowerCaseStep.js.map +0 -1
  222. package/build/src/models/http-actions/steps/transformation/AsNumberStep.js.map +0 -1
  223. package/build/src/models/http-actions/steps/transformation/AsUpperCaseStep.js.map +0 -1
  224. package/build/src/models/http-actions/steps/transformation/RoundStep.js.map +0 -1
  225. package/build/src/models/http-actions/steps/transformation/SubstringStep.js.map +0 -1
  226. package/build/src/models/http-actions/steps/transformation/TrimStep.js.map +0 -1
  227. package/build/src/models/http-actions/steps/transformation/index.js.map +0 -1
  228. package/src/data/DataUtils.ts +0 -108
@@ -1,40 +1,26 @@
1
- import { assert } from '@esm-bundle/chai';
2
- import { HttpRequest } from "../../models/HttpRequest.js";
3
- import { ErrorResponse } from "../../models/ErrorResponse.js";
4
- import { FlowRequestDataEnum, FlowResponseDataEnum, FlowSourceEnum } from "../../models/http-actions/HttpFlows.js";
5
- import { ReadDataSourceStep, ReadDataSourceStepKind } from "../../models/http-actions/steps/data/ReadDataSourceStep.js";
6
- import { ReadValueStep, ReadValueStepKind } from "../../models/http-actions/steps/data/ReadValueStep.js";
7
- import * as DataUtils from '../../data/DataUtils.js';
8
- import { HttpResponse } from "../../models/HttpResponse.js";
9
- import { Headers } from '../../lib/headers/Headers.js';
10
- import { JmespathReader } from "../../data/JmespathReader.js";
11
- import { XmlReader } from "../../data/XmlReader.js";
12
- import { UrlEncodedReader } from "../../data/UrlEncodedReader.js";
13
- import { AsLowerCaseStepKind } from "../../models/http-actions/steps/transformation/AsLowerCaseStep.js";
14
- import { AsUpperCaseStepKind } from "../../models/http-actions/steps/transformation/AsUpperCaseStep.js";
15
- import { AsNumberStepKind } from "../../models/http-actions/steps/transformation/AsNumberStep.js";
16
- import { RoundStepKind } from "../../models/http-actions/steps/transformation/RoundStep.js";
17
- import { SubstringStepKind } from "../../models/http-actions/steps/transformation/SubstringStep.js";
18
- import { TrimStepKind } from "../../models/http-actions/steps/transformation/TrimStep.js";
19
- import { EqualAssertionKind } from "../../models/http-actions/steps/assertion/EqualAssertion.js";
20
- import { NotEqualAssertionKind } from "../../models/http-actions/steps/assertion/NotEqualAssertion.js";
21
- import { ApiSchemaValues } from "../../amf/ApiSchemaValues.js";
22
- import { AssertionError } from "../../models/http-actions/AssertionError.js";
23
- import { GreaterThanAssertionKind } from "../../models/http-actions/steps/assertion/GreaterThanAssertion.js";
24
- import { LessThanAssertionKind } from "../../models/http-actions/steps/assertion/LessThanAssertion.js";
25
- import { IncludesAssertionKind } from "../../models/http-actions/steps/assertion/IncludesAssertion.js";
26
- import { NotIncludesAssertionKind } from "../../models/http-actions/steps/assertion/NotIncludesAssertion.js";
27
- import { OkAssertionKind } from "../../models/http-actions/steps/assertion/OkAssertion.js";
28
- import { NotOkAssertionKind } from "../../models/http-actions/steps/assertion/NotOkAssertion.js";
29
- import { ToBeAssertionKind, ToBeTypes } from '../../models/http-actions/steps/assertion/ToBeAssertion.js';
30
- import { NotToBeAssertionKind } from '../../models/http-actions/steps/assertion/NotToBeAssertion.js';
31
- import { IsEmptyAssertionKind } from '../../models/http-actions/steps/assertion/IsEmptyAssertion.js';
32
- import { IsNotEmptyAssertionKind } from '../../models/http-actions/steps/assertion/IsNotEmptyAssertion.js';
33
- import { LengthOfAssertionKind } from '../../models/http-actions/steps/assertion/LengthOfAssertion.js';
1
+ import { FlowRequestDataEnum, FlowResponseDataEnum, FlowSourceEnum } from "../../models/http-flows/HttpFlows.js";
2
+ import { ReadDataSourceStepKind } from "../../models/http-flows/steps/data/ReadDataSourceStep.js";
3
+ import { ReadValueStepKind } from "../../models/http-flows/steps/data/ReadValueStep.js";
4
+ import { AsLowerCaseStepKind } from "../../models/http-flows/steps/transformation/AsLowerCaseStep.js";
5
+ import { AsUpperCaseStepKind } from "../../models/http-flows/steps/transformation/AsUpperCaseStep.js";
6
+ import { AsNumberStepKind } from "../../models/http-flows/steps/transformation/AsNumberStep.js";
7
+ import { RoundStepKind } from "../../models/http-flows/steps/transformation/RoundStep.js";
8
+ import { SubstringStepKind } from "../../models/http-flows/steps/transformation/SubstringStep.js";
9
+ import { TrimStepKind } from "../../models/http-flows/steps/transformation/TrimStep.js";
10
+ import { EqualAssertionKind } from "../../models/http-flows/steps/assertion/EqualAssertion.js";
11
+ import { NotEqualAssertionKind } from "../../models/http-flows/steps/assertion/NotEqualAssertion.js";
12
+ import { AssertionError } from "../../models/http-flows/AssertionError.js";
13
+ import { GreaterThanAssertionKind } from "../../models/http-flows/steps/assertion/GreaterThanAssertion.js";
14
+ import { LessThanAssertionKind } from "../../models/http-flows/steps/assertion/LessThanAssertion.js";
15
+ import { IncludesAssertionKind } from "../../models/http-flows/steps/assertion/IncludesAssertion.js";
16
+ import { NotIncludesAssertionKind } from "../../models/http-flows/steps/assertion/NotIncludesAssertion.js";
17
+ import { OkAssertionKind } from "../../models/http-flows/steps/assertion/OkAssertion.js";
18
+ import { NotOkAssertionKind } from "../../models/http-flows/steps/assertion/NotOkAssertion.js";
19
+ import { HttpFlows } from './HttpFlows.js';
34
20
  /**
35
21
  * A class that perform assertions that have been defined on an HTTP request.
36
22
  */
37
- export class HttpAssertionRunner {
23
+ export class HttpAssertionRunner extends HttpFlows {
38
24
  report = [];
39
25
  /**
40
26
  *
@@ -54,6 +40,9 @@ export class HttpAssertionRunner {
54
40
  }
55
41
  async runAssertion(request, response, assertion) {
56
42
  const { steps } = assertion;
43
+ if (!Array.isArray(steps) || !steps.length) {
44
+ return;
45
+ }
57
46
  // this keeps a value from the last step to be passed to the next step.
58
47
  let lastResult = {
59
48
  value: undefined,
@@ -61,7 +50,7 @@ export class HttpAssertionRunner {
61
50
  let error;
62
51
  for (const step of steps) {
63
52
  try {
64
- lastResult = await this.runStep(request, response, step, lastResult);
53
+ lastResult = await this.runStep(request, step, lastResult, response);
65
54
  }
66
55
  catch (e) {
67
56
  const typed = e;
@@ -187,352 +176,5 @@ export class HttpAssertionRunner {
187
176
  const { path } = step;
188
177
  return path || '';
189
178
  }
190
- async runStep(request, response, step, input) {
191
- switch (step.kind) {
192
- // data reading
193
- case ReadDataSourceStepKind: return this.readDataSource(request, response, step);
194
- case ReadValueStepKind: return this.readValue(input, step);
195
- // transformations
196
- case AsLowerCaseStepKind: return this.toLowerCase(input);
197
- case AsUpperCaseStepKind: return this.toUpperCase(input);
198
- case AsNumberStepKind: return this.asNumber(input);
199
- case RoundStepKind: return this.round(input, step);
200
- case TrimStepKind: return this.trim(input);
201
- case SubstringStepKind: return this.substring(input, step);
202
- // assertions
203
- case EqualAssertionKind: return this.assertEqual(input, step);
204
- case NotEqualAssertionKind: return this.assertNotEqual(input, step);
205
- case GreaterThanAssertionKind: return this.assertGreaterThan(input, step);
206
- case LessThanAssertionKind: return this.assertLessThan(input, step);
207
- case IncludesAssertionKind: return this.assertIncludes(input, step);
208
- case NotIncludesAssertionKind: return this.assertNotIncludes(input, step);
209
- case OkAssertionKind: return this.assertOk(input);
210
- case NotOkAssertionKind: return this.assertNotOk(input);
211
- case ToBeAssertionKind: return this.toBe(input, step);
212
- case NotToBeAssertionKind: return this.notToBe(input, step);
213
- case IsEmptyAssertionKind: return this.isEmpty(input);
214
- case IsNotEmptyAssertionKind: return this.isNotEmpty(input);
215
- case LengthOfAssertionKind: return this.lengthOf(input, step);
216
- default: return { value: undefined };
217
- }
218
- }
219
- /**
220
- * Produces the data source.
221
- */
222
- async readDataSource(request, response, step) {
223
- const instance = new ReadDataSourceStep(step);
224
- if (instance.enabled === false || !instance.checkValidity()) {
225
- return { value: undefined };
226
- }
227
- const { source, data } = step;
228
- if (source === FlowSourceEnum.request) {
229
- if (data === FlowRequestDataEnum.url) {
230
- return {
231
- value: request.url,
232
- type: data,
233
- };
234
- }
235
- if (data === FlowRequestDataEnum.headers) {
236
- return {
237
- value: request.headers,
238
- type: data,
239
- };
240
- }
241
- if (data === FlowRequestDataEnum.method) {
242
- return {
243
- value: request.method,
244
- type: data,
245
- };
246
- }
247
- if (data === FlowRequestDataEnum.body) {
248
- const instance = new HttpRequest(request);
249
- const value = await this.processBody(instance);
250
- return {
251
- ...value,
252
- type: data,
253
- };
254
- }
255
- }
256
- if (source === FlowSourceEnum.response) {
257
- if (data === FlowResponseDataEnum.url) {
258
- return {
259
- value: request.url,
260
- type: data,
261
- };
262
- }
263
- if (data === FlowResponseDataEnum.headers) {
264
- return {
265
- value: response.headers,
266
- type: data,
267
- };
268
- }
269
- if (data === FlowResponseDataEnum.status) {
270
- return {
271
- value: response.status,
272
- type: data,
273
- };
274
- }
275
- if (data === FlowResponseDataEnum.statusText) {
276
- return {
277
- value: response.statusText,
278
- type: data,
279
- };
280
- }
281
- if (data === FlowResponseDataEnum.body) {
282
- let instance;
283
- if (ErrorResponse.isErrorResponse(response)) {
284
- instance = new ErrorResponse(response);
285
- }
286
- else {
287
- instance = new HttpResponse(response);
288
- }
289
- const value = await this.processBody(instance);
290
- return {
291
- ...value,
292
- type: data,
293
- };
294
- }
295
- }
296
- return { value: undefined };
297
- }
298
- async processBody(input) {
299
- const { headers } = input;
300
- if (!headers) {
301
- return { value: undefined };
302
- }
303
- const body = await input.readPayloadAsString();
304
- if (!body) {
305
- return { value: undefined };
306
- }
307
- const parser = new Headers(headers);
308
- const mime = parser.get('content-type');
309
- if (!mime) {
310
- return { value: undefined };
311
- }
312
- return {
313
- value: body,
314
- bodyMime: mime,
315
- };
316
- }
317
- /**
318
- * Produces the value from the current input.
319
- */
320
- async readValue(input, step) {
321
- const instance = new ReadValueStep(step);
322
- if (instance.enabled === false || !instance.checkValidity() || input.value === undefined || input.value === null) {
323
- return { value: undefined };
324
- }
325
- const { path } = step;
326
- const { type, value } = input;
327
- const args = path ? path.split('.') : [];
328
- if (type === FlowRequestDataEnum.url || type === FlowResponseDataEnum.url) {
329
- if (!value) {
330
- return { value: undefined };
331
- }
332
- const v = String(input.value);
333
- return {
334
- value: DataUtils.getDataUrl(v, args),
335
- };
336
- }
337
- if (type === FlowRequestDataEnum.headers || type === FlowResponseDataEnum.headers) {
338
- if (!value) {
339
- return { value: undefined };
340
- }
341
- const v = String(input.value);
342
- return {
343
- value: DataUtils.getDataHeaders(v, args),
344
- };
345
- }
346
- if (type === FlowRequestDataEnum.body || type === FlowResponseDataEnum.body) {
347
- if (!input.bodyMime || !path) {
348
- return { value: undefined };
349
- }
350
- let reader;
351
- if (input.bodyMime.includes('json')) {
352
- reader = new JmespathReader();
353
- }
354
- else if (input.bodyMime.includes('xml')) {
355
- reader = new XmlReader();
356
- }
357
- else if (input.bodyMime.includes('x-www-form-urlencoded')) {
358
- reader = new UrlEncodedReader();
359
- }
360
- if (!reader) {
361
- return { value: undefined };
362
- }
363
- await reader.writePayload(String(value));
364
- const readValue = await reader.getValue(path);
365
- return {
366
- value: readValue,
367
- };
368
- }
369
- if (type === FlowResponseDataEnum.status) {
370
- const v = Number(input.value);
371
- if (Number.isNaN(v)) {
372
- return { value: undefined };
373
- }
374
- return {
375
- value: v,
376
- };
377
- }
378
- if (type === FlowResponseDataEnum.statusText) {
379
- if (!value) {
380
- return { value: undefined };
381
- }
382
- return {
383
- value,
384
- };
385
- }
386
- return { value: undefined };
387
- }
388
- async toLowerCase(input) {
389
- if (input.value === null || input.value === undefined) {
390
- return { value: undefined };
391
- }
392
- const value = String(input.value);
393
- return { value: value.toLowerCase() };
394
- }
395
- async toUpperCase(input) {
396
- if (input.value === null || input.value === undefined) {
397
- return { value: undefined };
398
- }
399
- const value = String(input.value);
400
- return { value: value.toUpperCase() };
401
- }
402
- async asNumber(input) {
403
- if (input.value === null || input.value === undefined) {
404
- return { value: undefined };
405
- }
406
- const value = String(input.value);
407
- const parsed = Number(value);
408
- if (Number.isNaN(parsed)) {
409
- return { value: undefined };
410
- }
411
- return { value: parsed };
412
- }
413
- async round(input, step) {
414
- if (input.value === null || input.value === undefined) {
415
- return { value: undefined };
416
- }
417
- const value = String(input.value);
418
- const parsed = typeof input.value === 'number' ? input.value : Number(value);
419
- if (Number.isNaN(parsed)) {
420
- return { value: undefined };
421
- }
422
- return { value: parsed.toFixed(step.precision) };
423
- }
424
- async trim(input) {
425
- if (input.value === null || input.value === undefined) {
426
- return { value: undefined };
427
- }
428
- const value = String(input.value);
429
- return { ...input, value: value.trim() };
430
- }
431
- async substring(input, step) {
432
- if (input.value === null || input.value === undefined) {
433
- return { value: undefined };
434
- }
435
- if (typeof step.start !== 'number') {
436
- return input;
437
- }
438
- const value = String(input.value);
439
- return { ...input, value: value.substring(step.start, step.end) };
440
- }
441
- async assertEqual(input, step) {
442
- const { value } = input;
443
- if (step.strict) {
444
- const comparator = ApiSchemaValues.readTypedValue(step.value, step.dataType);
445
- assert.strictEqual(value, comparator);
446
- }
447
- else {
448
- assert.equal(String(value), step.value);
449
- }
450
- return input;
451
- }
452
- async assertNotEqual(input, step) {
453
- const { value } = input;
454
- if (step.strict) {
455
- const comparator = ApiSchemaValues.readTypedValue(step.value, step.dataType);
456
- assert.notStrictEqual(value, comparator);
457
- }
458
- else {
459
- assert.notEqual(value, step.value);
460
- }
461
- return input;
462
- }
463
- async assertGreaterThan(input, step) {
464
- assert.typeOf(input.value, 'number');
465
- const value = input.value;
466
- if (step.equal) {
467
- assert.isAtLeast(value, step.value);
468
- }
469
- else {
470
- assert.isAbove(value, step.value);
471
- }
472
- return input;
473
- }
474
- async assertLessThan(input, step) {
475
- assert.typeOf(input.value, 'number');
476
- const value = input.value;
477
- if (step.equal) {
478
- assert.isAtMost(value, step.value);
479
- }
480
- else {
481
- assert.isBelow(value, step.value);
482
- }
483
- return input;
484
- }
485
- async assertIncludes(input, step) {
486
- if (this.isPrimitive(input.value)) {
487
- assert.include(String(input.value), String(step.value));
488
- }
489
- else {
490
- assert.include(JSON.stringify(input.value), String(step.value));
491
- }
492
- return input;
493
- }
494
- async assertNotIncludes(input, step) {
495
- if (this.isPrimitive(input.value)) {
496
- assert.notInclude(String(input.value), String(step.value));
497
- }
498
- else {
499
- assert.notInclude(JSON.stringify(input.value), String(step.value));
500
- }
501
- return input;
502
- }
503
- async assertOk(input) {
504
- assert.ok(input.value);
505
- return input;
506
- }
507
- async assertNotOk(input) {
508
- assert.notOk(input.value);
509
- return input;
510
- }
511
- async toBe(input, step) {
512
- assert.typeOf(input.value, step.value);
513
- return input;
514
- }
515
- async notToBe(input, step) {
516
- if (Array.isArray(input.value) && step.value === ToBeTypes.object) {
517
- assert(false, 'expected [Array] to be an object');
518
- }
519
- assert.notTypeOf(input.value, step.value);
520
- return input;
521
- }
522
- async isEmpty(input) {
523
- assert.isEmpty(input.value);
524
- return input;
525
- }
526
- async isNotEmpty(input) {
527
- assert.isNotEmpty(input.value);
528
- return input;
529
- }
530
- async lengthOf(input, step) {
531
- assert.lengthOf(input.value, step.value);
532
- return input;
533
- }
534
- isPrimitive(value) {
535
- return (typeof value !== 'object' && typeof value !== 'function') || value === null;
536
- }
537
179
  }
538
180
  //# sourceMappingURL=HttpAssertionRunner.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"HttpAssertionRunner.js","sourceRoot":"","sources":["../../../../src/runtime/http-runner/HttpAssertionRunner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HttpAssertionRunner.js","sourceRoot":"","sources":["../../../../src/runtime/http-runner/HttpAssertionRunner.ts"],"names":[],"mappings":"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"}
@@ -1,67 +1,20 @@
1
- import { CookieJar } from "../../cookies/CookieJar.js";
2
1
  import { IHttpRequest } from "../../models/HttpRequest.js";
3
2
  import { ISentRequest } from "../../models/SentRequest.js";
4
3
  import { IResponse } from "../../models/Response.js";
5
4
  import { IErrorResponse } from "../../models/ErrorResponse.js";
6
- import { IHttpAction, IHttpFlow, IHttpCondition } from '../../models/http-actions/HttpFlows.js';
7
- import { IHttpStep } from "../../models/http-actions/HttpStep.js";
8
- import { IReadDataStep } from "../../models/http-actions/steps/data/ReadDataStep.js";
9
- import { ISetDataStep } from "../../models/http-actions/steps/data/SetDataStep.js";
10
- import { ISetVariableStep } from "../../models/http-actions/steps/data/SetVariableStep.js";
11
- import { ISetCookieStep } from "../../models/http-actions/steps/data/SetCookieStep.js";
12
- import { IDeleteCookieStep } from "../../models/http-actions/steps/data/DeleteCookieStep.js";
5
+ import { IHttpAction, IHttpFlow } from '../../models/http-flows/HttpFlows.js';
6
+ import { IHttpStep } from "../../models/http-flows/HttpStep.js";
7
+ import { HttpFlows } from "./HttpFlows.js";
13
8
  export type FlowValue = string | number | boolean | null | undefined | unknown;
14
- export declare class HttpFlowRunner {
9
+ export declare class HttpFlowRunner extends HttpFlows {
15
10
  /**
16
- * The cumulative list of all variables to be applied to the request and other properties.
17
- * The variables must be already processed for variables in values (evaluated).
18
- *
19
- * These variables are passed by reference. Changes made anywhere to the variables will result
20
- * with updating this list.
11
+ * Runs flows before the HTTP request is sent to the remote machine.
12
+ * The request has to be pre-processed, that is, variables should already be applied to it.
21
13
  */
22
- variables?: Record<string, string>;
23
- /**
24
- * An instance of a cookie jar (store) to put/read cookies.
25
- */
26
- cookies?: CookieJar;
27
14
  request(request: IHttpRequest, flows?: IHttpFlow[]): Promise<void>;
28
15
  response(request: IHttpRequest | ISentRequest, response: IResponse | IErrorResponse, flows?: IHttpFlow[]): Promise<void>;
29
- _runAction(action: IHttpAction, request: IHttpRequest | ISentRequest, response?: IResponse | IErrorResponse): Promise<void>;
30
- _satisfied(condition: IHttpCondition, request: IHttpRequest | ISentRequest, response?: IResponse | IErrorResponse): Promise<boolean>;
31
- _runStep(step: IHttpStep, input: FlowValue, request: IHttpRequest | ISentRequest, response?: IResponse | IErrorResponse): Promise<FlowValue>;
32
- /**
33
- * A step that reads data from the request, response, or variables.
34
- *
35
- * @param step The step configuration.
36
- * @param request The HttpRequest or the SentRequest (for responses)
37
- * @param response When available, the response data
38
- * @returns The read value or undefined.
39
- */
40
- _runReadDataStep(step: IReadDataStep, request: IHttpRequest | ISentRequest, response?: IResponse | IErrorResponse): Promise<string | number | undefined>;
41
- /**
42
- * A step that returns a pre-configured value.
43
- *
44
- * @param step The step configuration.
45
- * @returns The read value with applied data type.
46
- */
47
- _runSetDataStep(step: ISetDataStep): FlowValue;
48
- /**
49
- * A step that sets a variable in the current environment.
50
- *
51
- * @param step The step configuration.
52
- * @param value The value to set. A value that is `null` or `undefined` deletes the variable.
53
- */
54
- _runSetVariableStep(step: ISetVariableStep, value: FlowValue): FlowValue;
55
- /**
56
- * A step that sets a cookie.
57
- *
58
- * @param step The step configuration.
59
- * @param value The value to sent on the cookie.
60
- * @param request The request object.
61
- */
62
- _runSetCookieStep(step: ISetCookieStep, value: FlowValue, request: IHttpRequest | ISentRequest): Promise<FlowValue>;
63
- /**
64
- * A step to delete cookies from the cookie jar.
65
- */
66
- _runDeleteCookieStep(step: IDeleteCookieStep, request: IHttpRequest | ISentRequest): Promise<FlowValue>;
16
+ protected runFlows(request: IHttpRequest | ISentRequest, flows: IHttpFlow[], response?: IResponse | IErrorResponse): Promise<void>;
17
+ runAction(action: IHttpAction, request: IHttpRequest | ISentRequest, response?: IResponse | IErrorResponse): Promise<void>;
18
+ checkCondition(request: IHttpRequest | ISentRequest, condition?: IHttpAction, response?: IResponse | IErrorResponse): Promise<boolean>;
19
+ protected runSteps(steps: IHttpStep[], request: IHttpRequest | ISentRequest, response?: IResponse | IErrorResponse): Promise<void>;
67
20
  }