@pact-foundation/pact 16.3.1 → 16.4.0

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 (213) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/CONTRIBUTING.md +2 -2
  3. package/package.json +16 -24
  4. package/src/common/graphQL/configurationError.js +2 -22
  5. package/src/common/graphQL/configurationError.js.map +1 -1
  6. package/src/common/graphQL/graphQL.d.ts +2 -2
  7. package/src/common/graphQL/graphQL.js +11 -14
  8. package/src/common/graphQL/graphQL.js.map +1 -1
  9. package/src/common/graphQL/graphQLQueryError.js +2 -22
  10. package/src/common/graphQL/graphQLQueryError.js.map +1 -1
  11. package/src/common/logger.js +9 -9
  12. package/src/common/logger.js.map +1 -1
  13. package/src/common/matchingRules.d.ts +1 -1
  14. package/src/common/matchingRules.js +21 -21
  15. package/src/common/matchingRules.js.map +1 -1
  16. package/src/common/net.js +36 -42
  17. package/src/common/net.js.map +1 -1
  18. package/src/common/net.spec.js +41 -53
  19. package/src/common/net.spec.js.map +1 -1
  20. package/src/common/request.js +33 -82
  21. package/src/common/request.js.map +1 -1
  22. package/src/common/request.spec.js +26 -26
  23. package/src/common/request.spec.js.map +1 -1
  24. package/src/common/spec.js +3 -4
  25. package/src/common/spec.js.map +1 -1
  26. package/src/dsl/apolloGraphql.js +7 -25
  27. package/src/dsl/apolloGraphql.js.map +1 -1
  28. package/src/dsl/apolloGraphql.spec.js +21 -18
  29. package/src/dsl/apolloGraphql.spec.js.map +1 -1
  30. package/src/dsl/graphql.d.ts +2 -2
  31. package/src/dsl/graphql.js +29 -48
  32. package/src/dsl/graphql.js.map +1 -1
  33. package/src/dsl/graphql.spec.js +81 -66
  34. package/src/dsl/graphql.spec.js.map +1 -1
  35. package/src/dsl/interaction.d.ts +2 -2
  36. package/src/dsl/interaction.js +41 -48
  37. package/src/dsl/interaction.js.map +1 -1
  38. package/src/dsl/interaction.spec.js +77 -70
  39. package/src/dsl/interaction.spec.js.map +1 -1
  40. package/src/dsl/matchers.d.ts +1 -1
  41. package/src/dsl/matchers.js +19 -31
  42. package/src/dsl/matchers.js.map +1 -1
  43. package/src/dsl/matchers.spec.js +199 -208
  44. package/src/dsl/matchers.spec.js.map +1 -1
  45. package/src/dsl/message.d.ts +3 -3
  46. package/src/dsl/options.d.ts +3 -3
  47. package/src/dsl/verifier/proxy/hooks.d.ts +2 -2
  48. package/src/dsl/verifier/proxy/hooks.js +42 -112
  49. package/src/dsl/verifier/proxy/hooks.js.map +1 -1
  50. package/src/dsl/verifier/proxy/hooks.spec.js +84 -199
  51. package/src/dsl/verifier/proxy/hooks.spec.js.map +1 -1
  52. package/src/dsl/verifier/proxy/messages.d.ts +2 -2
  53. package/src/dsl/verifier/proxy/messages.js +88 -106
  54. package/src/dsl/verifier/proxy/messages.js.map +1 -1
  55. package/src/dsl/verifier/proxy/parseBody.d.ts +1 -1
  56. package/src/dsl/verifier/proxy/parseBody.js +2 -2
  57. package/src/dsl/verifier/proxy/parseBody.js.map +1 -1
  58. package/src/dsl/verifier/proxy/parseBody.spec.js +31 -76
  59. package/src/dsl/verifier/proxy/parseBody.spec.js.map +1 -1
  60. package/src/dsl/verifier/proxy/proxy.d.ts +2 -2
  61. package/src/dsl/verifier/proxy/proxy.js +22 -26
  62. package/src/dsl/verifier/proxy/proxy.js.map +1 -1
  63. package/src/dsl/verifier/proxy/proxy.spec.js +14 -14
  64. package/src/dsl/verifier/proxy/proxy.spec.js.map +1 -1
  65. package/src/dsl/verifier/proxy/proxyRequest.d.ts +3 -3
  66. package/src/dsl/verifier/proxy/proxyRequest.js +7 -7
  67. package/src/dsl/verifier/proxy/proxyRequest.js.map +1 -1
  68. package/src/dsl/verifier/proxy/proxyRequest.spec.js +49 -64
  69. package/src/dsl/verifier/proxy/proxyRequest.spec.js.map +1 -1
  70. package/src/dsl/verifier/proxy/stateHandler/setupStates.d.ts +3 -3
  71. package/src/dsl/verifier/proxy/stateHandler/setupStates.js +14 -18
  72. package/src/dsl/verifier/proxy/stateHandler/setupStates.js.map +1 -1
  73. package/src/dsl/verifier/proxy/stateHandler/setupStates.spec.js +76 -159
  74. package/src/dsl/verifier/proxy/stateHandler/setupStates.spec.js.map +1 -1
  75. package/src/dsl/verifier/proxy/stateHandler/stateHandler.d.ts +2 -2
  76. package/src/dsl/verifier/proxy/stateHandler/stateHandler.js +23 -72
  77. package/src/dsl/verifier/proxy/stateHandler/stateHandler.js.map +1 -1
  78. package/src/dsl/verifier/proxy/stateHandler/stateHandler.spec.js +37 -85
  79. package/src/dsl/verifier/proxy/stateHandler/stateHandler.spec.js.map +1 -1
  80. package/src/dsl/verifier/proxy/tracer.d.ts +1 -1
  81. package/src/dsl/verifier/proxy/tracer.js +42 -35
  82. package/src/dsl/verifier/proxy/tracer.js.map +1 -1
  83. package/src/dsl/verifier/proxy/types.d.ts +5 -5
  84. package/src/dsl/verifier/types.d.ts +3 -3
  85. package/src/dsl/verifier/verifier.d.ts +1 -1
  86. package/src/dsl/verifier/verifier.js +49 -56
  87. package/src/dsl/verifier/verifier.js.map +1 -1
  88. package/src/dsl/verifier/verifier.spec.js +76 -93
  89. package/src/dsl/verifier/verifier.spec.js.map +1 -1
  90. package/src/errors/configurationError.js +2 -22
  91. package/src/errors/configurationError.js.map +1 -1
  92. package/src/errors/graphQLQueryError.js +2 -22
  93. package/src/errors/graphQLQueryError.js.map +1 -1
  94. package/src/errors/matcherError.js +2 -22
  95. package/src/errors/matcherError.js.map +1 -1
  96. package/src/errors/verificationError.js +2 -22
  97. package/src/errors/verificationError.js.map +1 -1
  98. package/src/httpPact/ffi.d.ts +2 -2
  99. package/src/httpPact/ffi.js +28 -29
  100. package/src/httpPact/ffi.js.map +1 -1
  101. package/src/httpPact/ffi.spec.js +30 -31
  102. package/src/httpPact/ffi.spec.js.map +1 -1
  103. package/src/httpPact/index.d.ts +3 -3
  104. package/src/httpPact/index.js +92 -149
  105. package/src/httpPact/index.js.map +1 -1
  106. package/src/httpPact/index.spec.js +75 -125
  107. package/src/httpPact/index.spec.js.map +1 -1
  108. package/src/httpPact/tracing.js +20 -28
  109. package/src/httpPact/tracing.js.map +1 -1
  110. package/src/index.js +1 -1
  111. package/src/index.js.map +1 -1
  112. package/src/messageConsumerPact.d.ts +3 -3
  113. package/src/messageConsumerPact.js +50 -51
  114. package/src/messageConsumerPact.js.map +1 -1
  115. package/src/messageConsumerPact.spec.js +50 -49
  116. package/src/messageConsumerPact.spec.js.map +1 -1
  117. package/src/messageProviderPact.d.ts +3 -3
  118. package/src/messageProviderPact.js +68 -85
  119. package/src/messageProviderPact.js.map +1 -1
  120. package/src/messageProviderPact.spec.js +75 -66
  121. package/src/messageProviderPact.spec.js.map +1 -1
  122. package/src/pact.integration.spec.js +243 -313
  123. package/src/pact.integration.spec.js.map +1 -1
  124. package/src/v3/display.d.ts +1 -1
  125. package/src/v3/display.js +44 -58
  126. package/src/v3/display.js.map +1 -1
  127. package/src/v3/ffi.js +15 -15
  128. package/src/v3/ffi.js.map +1 -1
  129. package/src/v3/ffi.spec.js +8 -8
  130. package/src/v3/ffi.spec.js.map +1 -1
  131. package/src/v3/graphql/graphQL.d.ts +4 -4
  132. package/src/v3/graphql/graphQL.js +50 -75
  133. package/src/v3/graphql/graphQL.js.map +1 -1
  134. package/src/v3/matchers.d.ts +2 -2
  135. package/src/v3/matchers.js +112 -147
  136. package/src/v3/matchers.js.map +1 -1
  137. package/src/v3/matchers.spec.js +168 -187
  138. package/src/v3/matchers.spec.js.map +1 -1
  139. package/src/v3/pact.d.ts +2 -2
  140. package/src/v3/pact.js +103 -151
  141. package/src/v3/pact.js.map +1 -1
  142. package/src/v3/types.d.ts +1 -1
  143. package/src/v3/xml/xmlBuilder.d.ts +1 -3
  144. package/src/v3/xml/xmlBuilder.js +7 -9
  145. package/src/v3/xml/xmlBuilder.js.map +1 -1
  146. package/src/v3/xml/xmlElement.d.ts +2 -2
  147. package/src/v3/xml/xmlElement.js +24 -41
  148. package/src/v3/xml/xmlElement.js.map +1 -1
  149. package/src/v3/xml/xmlElement.spec.js +23 -25
  150. package/src/v3/xml/xmlElement.spec.js.map +1 -1
  151. package/src/v3/xml/xmlNode.js +2 -5
  152. package/src/v3/xml/xmlNode.js.map +1 -1
  153. package/src/v3/xml/xmlText.d.ts +1 -1
  154. package/src/v3/xml/xmlText.js +9 -25
  155. package/src/v3/xml/xmlText.js.map +1 -1
  156. package/src/v4/graphql/graphQLInteractionWithRequest.d.ts +4 -4
  157. package/src/v4/graphql/graphQLInteractionWithRequest.js +21 -17
  158. package/src/v4/graphql/graphQLInteractionWithRequest.js.map +1 -1
  159. package/src/v4/graphql/graphQLRequestBuilder.d.ts +3 -3
  160. package/src/v4/graphql/graphQLRequestBuilder.js +18 -20
  161. package/src/v4/graphql/graphQLRequestBuilder.js.map +1 -1
  162. package/src/v4/graphql/index.d.ts +6 -6
  163. package/src/v4/graphql/index.js +21 -17
  164. package/src/v4/graphql/index.js.map +1 -1
  165. package/src/v4/graphql/types.d.ts +5 -5
  166. package/src/v4/http/index.d.ts +2 -2
  167. package/src/v4/http/index.js +48 -93
  168. package/src/v4/http/index.js.map +1 -1
  169. package/src/v4/http/interactionWithCompleteRequest.d.ts +4 -7
  170. package/src/v4/http/interactionWithCompleteRequest.js +6 -10
  171. package/src/v4/http/interactionWithCompleteRequest.js.map +1 -1
  172. package/src/v4/http/interactionWithPlugin.d.ts +3 -3
  173. package/src/v4/http/interactionWithPlugin.js +14 -11
  174. package/src/v4/http/interactionWithPlugin.js.map +1 -1
  175. package/src/v4/http/interactionWithPluginRequest.d.ts +2 -2
  176. package/src/v4/http/interactionWithPluginRequest.js +11 -8
  177. package/src/v4/http/interactionWithPluginRequest.js.map +1 -1
  178. package/src/v4/http/interactionWithPluginResponse.d.ts +2 -2
  179. package/src/v4/http/interactionWithPluginResponse.js +10 -48
  180. package/src/v4/http/interactionWithPluginResponse.js.map +1 -1
  181. package/src/v4/http/interactionWithRequest.d.ts +2 -2
  182. package/src/v4/http/interactionWithRequest.js +11 -8
  183. package/src/v4/http/interactionWithRequest.js.map +1 -1
  184. package/src/v4/http/interactionWithResponse.d.ts +2 -2
  185. package/src/v4/http/interactionWithResponse.js +10 -48
  186. package/src/v4/http/interactionWithResponse.js.map +1 -1
  187. package/src/v4/http/requestBuilder.d.ts +3 -3
  188. package/src/v4/http/requestBuilder.js +32 -34
  189. package/src/v4/http/requestBuilder.js.map +1 -1
  190. package/src/v4/http/requestWithPluginBuilder.d.ts +2 -2
  191. package/src/v4/http/requestWithPluginBuilder.js +26 -46
  192. package/src/v4/http/requestWithPluginBuilder.js.map +1 -1
  193. package/src/v4/http/responseBuilder.d.ts +3 -3
  194. package/src/v4/http/responseBuilder.js +24 -25
  195. package/src/v4/http/responseBuilder.js.map +1 -1
  196. package/src/v4/http/responseWithPluginBuilder.d.ts +1 -1
  197. package/src/v4/http/responseWithPluginBuilder.js +5 -25
  198. package/src/v4/http/responseWithPluginBuilder.js.map +1 -1
  199. package/src/v4/http/types.d.ts +3 -2
  200. package/src/v4/http/unconfiguredInteraction.d.ts +6 -5
  201. package/src/v4/http/unconfiguredInteraction.js +31 -26
  202. package/src/v4/http/unconfiguredInteraction.js.map +1 -1
  203. package/src/v4/index.d.ts +4 -4
  204. package/src/v4/index.js +31 -35
  205. package/src/v4/index.js.map +1 -1
  206. package/src/v4/message/asynchronousMessage.d.ts +7 -6
  207. package/src/v4/message/asynchronousMessage.js +157 -190
  208. package/src/v4/message/asynchronousMessage.js.map +1 -1
  209. package/src/v4/message/index.d.ts +7 -6
  210. package/src/v4/message/index.js +188 -217
  211. package/src/v4/message/index.js.map +1 -1
  212. package/src/v4/message/types.d.ts +5 -3
  213. package/src/v4/types.d.ts +3 -3
package/src/v4/index.js CHANGED
@@ -15,61 +15,57 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  exports.Pact = exports.PactV4 = void 0;
18
- var pact_core_1 = require("@pact-foundation/pact-core");
19
- var unconfiguredInteraction_1 = require("./http/unconfiguredInteraction");
20
- var package_json_1 = require("../../package.json");
21
- var message_1 = require("./message");
22
- var v3_1 = require("../v3");
23
- var graphql_1 = require("./graphql");
24
- var asynchronousMessage_1 = require("./message/asynchronousMessage");
25
- var PactV4 = /** @class */ (function () {
26
- function PactV4(opts) {
18
+ const pact_core_1 = require("@pact-foundation/pact-core");
19
+ const unconfiguredInteraction_1 = require("./http/unconfiguredInteraction");
20
+ const package_json_1 = require("../../package.json");
21
+ const message_1 = require("./message");
22
+ const v3_1 = require("../v3");
23
+ const graphql_1 = require("./graphql");
24
+ const asynchronousMessage_1 = require("./message/asynchronousMessage");
25
+ class PactV4 {
26
+ opts;
27
+ pact;
28
+ constructor(opts) {
27
29
  this.opts = opts;
28
30
  this.setup();
31
+ }
32
+ setup() {
33
+ this.pact = (0, pact_core_1.makeConsumerPact)(this.opts.consumer, this.opts.provider, this.opts.spec ?? v3_1.SpecificationVersion.SPECIFICATION_VERSION_V4, this.opts.logLevel ?? 'info');
29
34
  this.pact.addMetadata('pact-js', 'version', package_json_1.version);
30
35
  }
31
- PactV4.prototype.setup = function () {
32
- var _a, _b;
33
- this.pact = (0, pact_core_1.makeConsumerPact)(this.opts.consumer, this.opts.provider, (_a = this.opts.spec) !== null && _a !== void 0 ? _a : v3_1.SpecificationVersion.SPECIFICATION_VERSION_V4, (_b = this.opts.logLevel) !== null && _b !== void 0 ? _b : 'info');
34
- };
35
- PactV4.prototype.addInteraction = function () {
36
- var _this = this;
37
- return new unconfiguredInteraction_1.UnconfiguredInteraction(this.pact, this.pact.newInteraction(''), this.opts, function () {
36
+ addInteraction() {
37
+ return new unconfiguredInteraction_1.UnconfiguredInteraction(this.pact, this.pact.newInteraction(''), this.opts, () => {
38
38
  // This function needs to be called if the PactV4 object is to be re-used (commonly expected by users)
39
39
  // Because of the type-state model used here, it's a bit awkward as we need to thread this through
40
40
  // to children, ultimately to be called on the "executeTest" stage.
41
- _this.setup();
41
+ this.setup();
42
42
  });
43
- };
44
- PactV4.prototype.addSynchronousInteraction = function (description) {
45
- var _this = this;
46
- return new message_1.UnconfiguredSynchronousMessage(this.pact, this.pact.newSynchronousMessage(description), this.opts, function () {
43
+ }
44
+ addSynchronousInteraction(description) {
45
+ return new message_1.UnconfiguredSynchronousMessage(this.pact, this.pact.newSynchronousMessage(description), this.opts, () => {
47
46
  // This function needs to be called if the PactV4 object is to be re-used (commonly expected by users)
48
47
  // Because of the type-state model used here, it's a bit awkward as we need to thread this through
49
48
  // to children, ultimately to be called on the "executeTest" stage.
50
- _this.setup();
49
+ this.setup();
51
50
  });
52
- };
53
- PactV4.prototype.addAsynchronousInteraction = function () {
54
- var _this = this;
55
- return new asynchronousMessage_1.UnconfiguredAsynchronousMessage(this.pact, this.pact.newAsynchronousMessage(''), this.opts, function () {
51
+ }
52
+ addAsynchronousInteraction() {
53
+ return new asynchronousMessage_1.UnconfiguredAsynchronousMessage(this.pact, this.pact.newAsynchronousMessage(''), this.opts, () => {
56
54
  // This function needs to be called if the PactV4 object is to be re-used (commonly expected by users)
57
55
  // Because of the type-state model used here, it's a bit awkward as we need to thread this through
58
56
  // to children, ultimately to be called on the "executeTest" stage.
59
- _this.setup();
57
+ this.setup();
60
58
  });
61
- };
62
- PactV4.prototype.addGraphQLInteraction = function () {
63
- var _this = this;
64
- return new graphql_1.UnconfiguredGraphQLInteraction(this.pact, this.pact.newInteraction(''), this.opts, function () {
59
+ }
60
+ addGraphQLInteraction() {
61
+ return new graphql_1.UnconfiguredGraphQLInteraction(this.pact, this.pact.newInteraction(''), this.opts, () => {
65
62
  // This function needs to be called if the PactV4 object is to be re-used (commonly expected by users)
66
63
  // Because of the type-state model used here, it's a bit awkward as we need to thread this through
67
64
  // to children, ultimately to be called on the "executeTest" stage.
68
- _this.setup();
65
+ this.setup();
69
66
  });
70
- };
71
- return PactV4;
72
- }());
67
+ }
68
+ }
73
69
  exports.PactV4 = PactV4;
74
70
  exports.Pact = PactV4;
75
71
  __exportStar(require("./graphql"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/v4/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,wDAA4E;AAC5E,0EAAyE;AAGzE,mDAAmE;AAKnE,qCAA2D;AAC3D,4BAA6C;AAE7C,qCAA2D;AAC3D,qEAAgF;AAEhF;IAGE,gBAAoB,IAAmB;QAAnB,SAAI,GAAJ,IAAI,CAAe;QACrC,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,SAAS,EAAE,sBAAkB,CAAC,CAAC;IAClE,CAAC;IAED,sBAAK,GAAL;;QACE,IAAI,CAAC,IAAI,GAAG,IAAA,4BAAgB,EAC1B,IAAI,CAAC,IAAI,CAAC,QAAQ,EAClB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAClB,MAAA,IAAI,CAAC,IAAI,CAAC,IAAI,mCAAI,yBAAoB,CAAC,wBAAwB,EAC/D,MAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,mCAAI,MAAM,CAC7B,CAAC;IACJ,CAAC;IAED,+BAAc,GAAd;QAAA,iBAYC;QAXC,OAAO,IAAI,iDAAuB,CAChC,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,EAC5B,IAAI,CAAC,IAAI,EACT;YACE,sGAAsG;YACtG,kGAAkG;YAClG,mEAAmE;YACnE,KAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CACF,CAAC;IACJ,CAAC;IAED,0CAAyB,GAAzB,UACE,WAAmB;QADrB,iBAcC;QAXC,OAAO,IAAI,wCAA8B,CACvC,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,EAC5C,IAAI,CAAC,IAAI,EACT;YACE,sGAAsG;YACtG,kGAAkG;YAClG,mEAAmE;YACnE,KAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CACF,CAAC;IACJ,CAAC;IAED,2CAA0B,GAA1B;QAAA,iBAYC;QAXC,OAAO,IAAI,qDAA+B,CACxC,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,EAAE,CAAC,EACpC,IAAI,CAAC,IAAI,EACT;YACE,sGAAsG;YACtG,kGAAkG;YAClG,mEAAmE;YACnE,KAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CACF,CAAC;IACJ,CAAC;IAED,sCAAqB,GAArB;QAAA,iBAYC;QAXC,OAAO,IAAI,wCAA8B,CACvC,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,EAC5B,IAAI,CAAC,IAAI,EACT;YACE,sGAAsG;YACtG,kGAAkG;YAClG,mEAAmE;YACnE,KAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CACF,CAAC;IACJ,CAAC;IACH,aAAC;AAAD,CAAC,AA1ED,IA0EC;AA1EY,wBAAM;AA4EA,sBAAI;AACvB,4CAA0B;AAC1B,kDAAgC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/v4/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,0DAGoC;AACpC,4EAAyE;AAGzE,qDAAmE;AAKnE,uCAA2D;AAC3D,8BAA6C;AAE7C,uCAA2D;AAC3D,uEAAgF;AAEhF,MAAa,MAAM;IAGG;IAFZ,IAAI,CAAgB;IAE5B,YAAoB,IAAmB;QAAnB,SAAI,GAAJ,IAAI,CAAe;QACrC,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED,KAAK;QACH,IAAI,CAAC,IAAI,GAAG,IAAA,4BAAgB,EAC1B,IAAI,CAAC,IAAI,CAAC,QAAQ,EAClB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAClB,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,yBAAoB,CAAC,wBAAwB,EAC/D,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,MAAM,CAC7B,CAAC;QACF,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,SAAS,EAAE,sBAAkB,CAAC,CAAC;IAClE,CAAC;IAED,cAAc;QACZ,OAAO,IAAI,iDAAuB,CAChC,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,EAC5B,IAAI,CAAC,IAAI,EACT,GAAG,EAAE;YACH,sGAAsG;YACtG,kGAAkG;YAClG,mEAAmE;YACnE,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CACF,CAAC;IACJ,CAAC;IAED,yBAAyB,CACvB,WAAmB;QAEnB,OAAO,IAAI,wCAA8B,CACvC,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,EAC5C,IAAI,CAAC,IAAI,EACT,GAAG,EAAE;YACH,sGAAsG;YACtG,kGAAkG;YAClG,mEAAmE;YACnE,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CACF,CAAC;IACJ,CAAC;IAED,0BAA0B;QACxB,OAAO,IAAI,qDAA+B,CACxC,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,EAAE,CAAC,EACpC,IAAI,CAAC,IAAI,EACT,GAAG,EAAE;YACH,sGAAsG;YACtG,kGAAkG;YAClG,mEAAmE;YACnE,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CACF,CAAC;IACJ,CAAC;IAED,qBAAqB;QACnB,OAAO,IAAI,wCAA8B,CACvC,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,EAC5B,IAAI,CAAC,IAAI,EACT,GAAG,EAAE;YACH,sGAAsG;YACtG,kGAAkG;YAClG,mEAAmE;YACnE,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CACF,CAAC;IACJ,CAAC;CACF;AA1ED,wBA0EC;AAEkB,sBAAI;AACvB,4CAA0B;AAC1B,kDAAgC"}
@@ -1,9 +1,9 @@
1
- import { Metadata } from '../../dsl/message';
2
- import { AnyJson, JsonMap } from '../../common/jsonTypes';
3
- import { PluginConfig, AsynchronousMessage, TransportConfig, V4AsynchronousMessageWithPlugin, V4AsynchronousMessageWithPluginContents, V4AsynchronousMessageWithTransport, V4UnconfiguredAsynchronousMessage, V4AsynchronousMessageWithContent, V4AsynchronousMessageBuilderFunc, V4AsynchronousMessageBuilder, Comment, CustomComment } from './types';
4
- import { AsynchronousMessage as PactCoreAsynchronousMessage, ConsumerPact } from '@pact-foundation/pact-core';
5
- import { PactV4Options } from '../http/types';
6
- import { Rules } from '../../v3/types';
1
+ import type { Metadata } from '../../dsl/message';
2
+ import type { AnyJson, JsonMap } from '../../common/jsonTypes';
3
+ import type { PluginConfig, AsynchronousMessage, TransportConfig, V4AsynchronousMessageWithPlugin, V4AsynchronousMessageWithPluginContents, V4AsynchronousMessageWithTransport, V4UnconfiguredAsynchronousMessage, V4AsynchronousMessageWithContent, V4AsynchronousMessageBuilderFunc, V4AsynchronousMessageBuilder, Comment, CustomComment } from './types';
4
+ import type { AsynchronousMessage as PactCoreAsynchronousMessage, ConsumerPact } from '@pact-foundation/pact-core';
5
+ import type { PactV4Options } from '../http/types';
6
+ import type { Rules } from '../../v3/types';
7
7
  type Message = {
8
8
  requestIsBinary: boolean;
9
9
  interaction: PactCoreAsynchronousMessage;
@@ -20,6 +20,7 @@ export declare class UnconfiguredAsynchronousMessage implements V4UnconfiguredAs
20
20
  pending(pending?: boolean): V4UnconfiguredAsynchronousMessage;
21
21
  comment(comment: Comment | CustomComment): V4UnconfiguredAsynchronousMessage;
22
22
  testName(name: string): V4UnconfiguredAsynchronousMessage;
23
+ reference(group: string, name: string, value: string): V4UnconfiguredAsynchronousMessage;
23
24
  usingPlugin(config: PluginConfig): V4AsynchronousMessageWithPlugin;
24
25
  }
25
26
  export declare class AsynchronousMessageWithPlugin implements V4AsynchronousMessageWithPlugin {
@@ -1,53 +1,22 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __generator = (this && this.__generator) || function (thisArg, body) {
12
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
13
- return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
- function verb(n) { return function (v) { return step([n, v]); }; }
15
- function step(op) {
16
- if (f) throw new TypeError("Generator is already executing.");
17
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
- if (y = 0, t) op = [op[0] & 2, t.value];
20
- switch (op[0]) {
21
- case 0: case 1: t = op; break;
22
- case 4: _.label++; return { value: op[1], done: false };
23
- case 5: _.label++; y = op[1]; op = [0]; continue;
24
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
- default:
26
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
- if (t[2]) _.ops.pop();
31
- _.trys.pop(); continue;
32
- }
33
- op = body.call(thisArg, _);
34
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
- }
37
- };
38
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
39
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
40
4
  };
41
5
  Object.defineProperty(exports, "__esModule", { value: true });
42
6
  exports.AsynchronousMessageWithTransport = exports.AsynchronousMessageWithPluginContents = exports.AsynchronousMessageWithContent = exports.AsynchronousMessageBuilder = exports.AsynchronousMessageWithPlugin = exports.UnconfiguredAsynchronousMessage = void 0;
43
- var ramda_1 = require("ramda");
44
- var configurationError_1 = __importDefault(require("../../errors/configurationError"));
45
- var display_1 = require("../../v3/display");
46
- var matchingRules_1 = require("../../common/matchingRules");
47
- var logger_1 = __importDefault(require("../../common/logger"));
48
- var defaultPactDir = './pacts';
49
- var UnconfiguredAsynchronousMessage = /** @class */ (function () {
50
- function UnconfiguredAsynchronousMessage(pact, interaction, opts, cleanupFn) {
7
+ const ramda_1 = require("ramda");
8
+ const configurationError_1 = __importDefault(require("../../errors/configurationError"));
9
+ const display_1 = require("../../v3/display");
10
+ const matchingRules_1 = require("../../common/matchingRules");
11
+ const logger_1 = __importDefault(require("../../common/logger"));
12
+ const defaultPactDir = './pacts';
13
+ class UnconfiguredAsynchronousMessage {
14
+ pact;
15
+ interaction;
16
+ opts;
17
+ cleanupFn;
18
+ message;
19
+ constructor(pact, interaction, opts, cleanupFn) {
51
20
  this.pact = pact;
52
21
  this.interaction = interaction;
53
22
  this.opts = opts;
@@ -57,12 +26,12 @@ var UnconfiguredAsynchronousMessage = /** @class */ (function () {
57
26
  interaction: this.interaction,
58
27
  };
59
28
  }
60
- UnconfiguredAsynchronousMessage.prototype.expectsToReceive = function (description, builder) {
29
+ expectsToReceive(description, builder) {
61
30
  this.interaction.expectsToReceive(description);
62
31
  builder(new AsynchronousMessageBuilder(this.pact, this.message, this.opts));
63
32
  return new AsynchronousMessageWithContent(this.pact, this.message, this.opts, this.cleanupFn);
64
- };
65
- UnconfiguredAsynchronousMessage.prototype.given = function (state, parameters) {
33
+ }
34
+ given(state, parameters) {
66
35
  if (parameters) {
67
36
  this.message.interaction.givenWithParams(state, JSON.stringify(parameters));
68
37
  }
@@ -70,123 +39,141 @@ var UnconfiguredAsynchronousMessage = /** @class */ (function () {
70
39
  this.message.interaction.given(state);
71
40
  }
72
41
  return this;
73
- };
74
- UnconfiguredAsynchronousMessage.prototype.pending = function (pending) {
75
- if (pending === void 0) { pending = true; }
42
+ }
43
+ pending(pending = true) {
76
44
  this.message.interaction.setPending(pending);
77
45
  return this;
78
- };
79
- UnconfiguredAsynchronousMessage.prototype.comment = function (comment) {
46
+ }
47
+ comment(comment) {
80
48
  if (typeof comment === 'string') {
81
49
  this.message.interaction.addTextComment(comment);
82
50
  return this;
83
51
  }
84
52
  this.message.interaction.setComment(comment.key, comment.value);
85
53
  return this;
86
- };
87
- UnconfiguredAsynchronousMessage.prototype.testName = function (name) {
54
+ }
55
+ testName(name) {
88
56
  this.message.interaction.setInteractionTestName(name);
89
57
  return this;
90
- };
91
- UnconfiguredAsynchronousMessage.prototype.usingPlugin = function (config) {
58
+ }
59
+ reference(group, name, value) {
60
+ this.message.interaction.addInteractionReference(group, name, value);
61
+ return this;
62
+ }
63
+ usingPlugin(config) {
92
64
  this.pact.addPlugin(config.plugin, config.version);
93
65
  return new AsynchronousMessageWithPlugin(this.pact, this.message, this.opts, this.cleanupFn);
94
- };
95
- return UnconfiguredAsynchronousMessage;
96
- }());
66
+ }
67
+ }
97
68
  exports.UnconfiguredAsynchronousMessage = UnconfiguredAsynchronousMessage;
98
- var AsynchronousMessageWithPlugin = /** @class */ (function () {
99
- function AsynchronousMessageWithPlugin(pact, message, opts, cleanupFn) {
69
+ class AsynchronousMessageWithPlugin {
70
+ pact;
71
+ message;
72
+ opts;
73
+ cleanupFn;
74
+ constructor(pact, message, opts, cleanupFn) {
100
75
  this.pact = pact;
101
76
  this.message = message;
102
77
  this.opts = opts;
103
78
  this.cleanupFn = cleanupFn;
104
79
  }
105
- AsynchronousMessageWithPlugin.prototype.expectsToReceive = function (description) {
80
+ expectsToReceive(description) {
106
81
  this.message.interaction.expectsToReceive(description);
107
82
  return this;
108
- };
109
- AsynchronousMessageWithPlugin.prototype.usingPlugin = function (config) {
83
+ }
84
+ usingPlugin(config) {
110
85
  this.pact.addPlugin(config.plugin, config.version);
111
86
  return this;
112
- };
113
- AsynchronousMessageWithPlugin.prototype.withPluginContents = function (contents, contentType) {
87
+ }
88
+ withPluginContents(contents, contentType) {
114
89
  this.message.interaction.withPluginRequestInteractionContents(contentType, contents);
115
90
  return new AsynchronousMessageWithPluginContents(this.pact, this.message, this.opts, this.cleanupFn);
116
- };
117
- return AsynchronousMessageWithPlugin;
118
- }());
91
+ }
92
+ }
119
93
  exports.AsynchronousMessageWithPlugin = AsynchronousMessageWithPlugin;
120
- var AsynchronousMessageBuilder = /** @class */ (function () {
121
- function AsynchronousMessageBuilder(pact, message, opts) {
94
+ class AsynchronousMessageBuilder {
95
+ pact;
96
+ message;
97
+ opts;
98
+ constructor(pact, message, opts) {
122
99
  this.pact = pact;
123
100
  this.message = message;
124
101
  this.opts = opts;
125
102
  }
126
- AsynchronousMessageBuilder.prototype.withMetadata = function (metadata) {
127
- var _this = this;
103
+ withMetadata(metadata) {
128
104
  if ((0, ramda_1.isEmpty)(metadata)) {
129
105
  throw new configurationError_1.default('You must provide valid metadata for the Message, or none at all');
130
106
  }
131
- (0, ramda_1.forEachObjIndexed)(function (v, k) {
132
- _this.message.interaction.withMetadata("".concat(k), JSON.stringify(v));
107
+ (0, ramda_1.forEachObjIndexed)((v, k) => {
108
+ this.message.interaction.withMetadata(`${k}`, JSON.stringify(v));
133
109
  }, metadata);
134
110
  return this;
135
- };
136
- AsynchronousMessageBuilder.prototype.withContent = function (contentType, body) {
111
+ }
112
+ withContent(contentType, body) {
137
113
  this.message.interaction.withBinaryContents(body, contentType);
138
114
  this.message.requestIsBinary = true;
139
115
  return this;
140
- };
141
- AsynchronousMessageBuilder.prototype.withJSONContent = function (content) {
116
+ }
117
+ withJSONContent(content) {
142
118
  if ((0, ramda_1.isEmpty)(content)) {
143
119
  throw new configurationError_1.default('You must provide a valid JSON document or primitive for the Message.');
144
120
  }
145
121
  this.message.interaction.withContents(JSON.stringify(content), 'application/json');
146
122
  return this;
147
- };
148
- AsynchronousMessageBuilder.prototype.withMatchingRules = function (rules) {
123
+ }
124
+ withMatchingRules(rules) {
149
125
  (0, matchingRules_1.validateRules)(rules);
150
- var ffiRules = (0, matchingRules_1.convertRulesToFFI)(rules);
126
+ const ffiRules = (0, matchingRules_1.convertRulesToFFI)(rules);
151
127
  this.message.interaction.withMatchingRules(JSON.stringify(ffiRules));
152
128
  return this;
153
- };
154
- return AsynchronousMessageBuilder;
155
- }());
129
+ }
130
+ }
156
131
  exports.AsynchronousMessageBuilder = AsynchronousMessageBuilder;
157
- var AsynchronousMessageWithContent = /** @class */ (function () {
158
- function AsynchronousMessageWithContent(pact, message, opts, cleanupFn) {
132
+ class AsynchronousMessageWithContent {
133
+ pact;
134
+ message;
135
+ opts;
136
+ cleanupFn;
137
+ constructor(pact, message, opts, cleanupFn) {
159
138
  this.pact = pact;
160
139
  this.message = message;
161
140
  this.opts = opts;
162
141
  this.cleanupFn = cleanupFn;
163
142
  }
164
- AsynchronousMessageWithContent.prototype.executeTest = function (integrationTest) {
143
+ executeTest(integrationTest) {
165
144
  return executeNonTransportTest(this.pact, this.opts, this.message, integrationTest, this.cleanupFn);
166
- };
167
- return AsynchronousMessageWithContent;
168
- }());
145
+ }
146
+ }
169
147
  exports.AsynchronousMessageWithContent = AsynchronousMessageWithContent;
170
- var AsynchronousMessageWithPluginContents = /** @class */ (function () {
171
- function AsynchronousMessageWithPluginContents(pact, message, opts, cleanupFn) {
148
+ class AsynchronousMessageWithPluginContents {
149
+ pact;
150
+ message;
151
+ opts;
152
+ cleanupFn;
153
+ constructor(pact, message, opts, cleanupFn) {
172
154
  this.pact = pact;
173
155
  this.message = message;
174
156
  this.opts = opts;
175
157
  this.cleanupFn = cleanupFn;
176
158
  }
177
- AsynchronousMessageWithPluginContents.prototype.executeTest = function (integrationTest) {
159
+ executeTest(integrationTest) {
178
160
  return executeNonTransportTest(this.pact, this.opts, this.message, integrationTest, this.cleanupFn);
179
- };
180
- AsynchronousMessageWithPluginContents.prototype.startTransport = function (transport, address, // IP Address or hostname
161
+ }
162
+ startTransport(transport, address, // IP Address or hostname
181
163
  config) {
182
- var port = this.pact.pactffiCreateMockServerForTransport(address, transport, config ? JSON.stringify(config) : '');
164
+ const port = this.pact.pactffiCreateMockServerForTransport(address, transport, config ? JSON.stringify(config) : '');
183
165
  return new AsynchronousMessageWithTransport(this.pact, this.message, this.opts, port, address, this.cleanupFn);
184
- };
185
- return AsynchronousMessageWithPluginContents;
186
- }());
166
+ }
167
+ }
187
168
  exports.AsynchronousMessageWithPluginContents = AsynchronousMessageWithPluginContents;
188
- var AsynchronousMessageWithTransport = /** @class */ (function () {
189
- function AsynchronousMessageWithTransport(pact, message, opts, port, address, cleanupFn) {
169
+ class AsynchronousMessageWithTransport {
170
+ pact;
171
+ message;
172
+ opts;
173
+ port;
174
+ address;
175
+ cleanupFn;
176
+ constructor(pact, message, opts, port, address, cleanupFn) {
190
177
  this.pact = pact;
191
178
  this.message = message;
192
179
  this.opts = opts;
@@ -196,59 +183,47 @@ var AsynchronousMessageWithTransport = /** @class */ (function () {
196
183
  }
197
184
  // TODO: this is basically the same as the HTTP variant, except only with a different test function wrapper
198
185
  // extract these into smaller, testable chunks and re-use them
199
- AsynchronousMessageWithTransport.prototype.executeTest = function (integrationTest) {
200
- return __awaiter(this, void 0, void 0, function () {
201
- var val, error, e_1, matchingResults, errors, success, errorMessage;
202
- return __generator(this, function (_a) {
203
- switch (_a.label) {
204
- case 0:
205
- _a.trys.push([0, 2, , 3]);
206
- return [4 /*yield*/, integrationTest({ port: this.port, address: this.address }, {})];
207
- case 1:
208
- // TODO: need to pull this body from the plugin interaction
209
- val = _a.sent();
210
- return [3 /*break*/, 3];
211
- case 2:
212
- e_1 = _a.sent();
213
- error = e_1;
214
- return [3 /*break*/, 3];
215
- case 3:
216
- matchingResults = this.pact.mockServerMismatches(this.port);
217
- errors = (0, display_1.filterMissingFeatureFlag)(matchingResults);
218
- success = this.pact.mockServerMatchedSuccessfully(this.port);
219
- // Scenario: Pact validation failed
220
- if (!success && errors.length > 0) {
221
- errorMessage = 'Test failed for the following reasons:';
222
- errorMessage += "\n\n ".concat((0, display_1.generateMockServerError)(matchingResults, '\t'));
223
- cleanup(false, this.pact, this.opts, this.cleanupFn, this.port, true);
224
- // If the tests throws an error, we need to rethrow the error, but print out
225
- // any additional mock server errors to help the user understand what happened
226
- // (The proximate cause here is often the HTTP 500 from the mock server,
227
- // where the HTTP client then throws)
228
- if (error) {
229
- logger_1.default.error(errorMessage);
230
- throw error;
231
- }
232
- // Test didn't throw, so we need to ensure the test fails
233
- return [2 /*return*/, Promise.reject(new Error(errorMessage))];
234
- }
235
- // Scenario: test threw an error, but Pact validation was OK (error in client or test)
236
- if (error) {
237
- cleanup(false, this.pact, this.opts, this.cleanupFn, this.port, true);
238
- throw error;
239
- }
240
- // Scenario: Pact validation passed, test didn't throw - return the callback value
241
- cleanup(true, this.pact, this.opts, this.cleanupFn, this.port, true);
242
- return [2 /*return*/, val];
243
- }
244
- });
245
- });
246
- };
247
- return AsynchronousMessageWithTransport;
248
- }());
186
+ async executeTest(integrationTest) {
187
+ let val;
188
+ let error;
189
+ try {
190
+ // TODO: need to pull this body from the plugin interaction
191
+ val = await integrationTest({ port: this.port, address: this.address }, {});
192
+ }
193
+ catch (e) {
194
+ error = e instanceof Error ? e : new Error(String(e));
195
+ }
196
+ const matchingResults = this.pact.mockServerMismatches(this.port);
197
+ const errors = (0, display_1.filterMissingFeatureFlag)(matchingResults);
198
+ const success = this.pact.mockServerMatchedSuccessfully(this.port);
199
+ // Scenario: Pact validation failed
200
+ if (!success && errors.length > 0) {
201
+ let errorMessage = 'Test failed for the following reasons:';
202
+ errorMessage += `\n\n ${(0, display_1.generateMockServerError)(matchingResults, '\t')}`;
203
+ cleanup(false, this.pact, this.opts, this.cleanupFn, this.port, true);
204
+ // If the tests throws an error, we need to rethrow the error, but print out
205
+ // any additional mock server errors to help the user understand what happened
206
+ // (The proximate cause here is often the HTTP 500 from the mock server,
207
+ // where the HTTP client then throws)
208
+ if (error) {
209
+ logger_1.default.error(errorMessage);
210
+ throw error;
211
+ }
212
+ // Test didn't throw, so we need to ensure the test fails
213
+ return Promise.reject(new Error(errorMessage));
214
+ }
215
+ // Scenario: test threw an error, but Pact validation was OK (error in client or test)
216
+ if (error) {
217
+ cleanup(false, this.pact, this.opts, this.cleanupFn, this.port, true);
218
+ throw error;
219
+ }
220
+ // Scenario: Pact validation passed, test didn't throw - return the callback value
221
+ cleanup(true, this.pact, this.opts, this.cleanupFn, this.port, true);
222
+ return val;
223
+ }
224
+ }
249
225
  exports.AsynchronousMessageWithTransport = AsynchronousMessageWithTransport;
250
- var cleanup = function (success, pact, opts, cleanupFn, port, transport) {
251
- if (transport === void 0) { transport = false; }
226
+ const cleanup = (success, pact, opts, cleanupFn, port, transport = false) => {
252
227
  if (success) {
253
228
  if (transport && port) {
254
229
  pact.writePactFileForPluginServer(port, opts.dir || defaultPactDir, true);
@@ -263,40 +238,32 @@ var cleanup = function (success, pact, opts, cleanupFn, port, transport) {
263
238
  pact.cleanupPlugins();
264
239
  cleanupFn();
265
240
  };
266
- var executeNonTransportTest = function (pact, opts, message, integrationTest, cleanupFn) { return __awaiter(void 0, void 0, void 0, function () {
267
- var val, error, rawInteraction, _a, content, contentType, encoded, m, e_2;
268
- return __generator(this, function (_b) {
269
- switch (_b.label) {
270
- case 0:
271
- _b.trys.push([0, 2, , 3]);
272
- rawInteraction = JSON.parse(message.interaction.reifyMessage());
273
- _a = rawInteraction.contents, content = _a.content, contentType = _a.contentType, encoded = _a.encoded;
274
- m = {
275
- contents: {
276
- content: !message.requestIsBinary
277
- ? content
278
- : Buffer.from(content, 'base64'),
279
- },
280
- metadata: rawInteraction.metadata,
281
- };
282
- return [4 /*yield*/, integrationTest(m)];
283
- case 1:
284
- val = _b.sent();
285
- return [3 /*break*/, 3];
286
- case 2:
287
- e_2 = _b.sent();
288
- error = e_2;
289
- return [3 /*break*/, 3];
290
- case 3:
291
- // Scenario: test threw an error, but Pact validation was OK (error in client or test)
292
- if (error) {
293
- cleanup(false, pact, opts, cleanupFn);
294
- throw error;
295
- }
296
- // Scenario: Pact validation passed, test didn't throw - return the callback value
297
- cleanup(true, pact, opts, cleanupFn);
298
- return [2 /*return*/, val];
299
- }
300
- });
301
- }); };
241
+ const executeNonTransportTest = async (pact, opts, message, integrationTest, cleanupFn) => {
242
+ let val;
243
+ let error;
244
+ try {
245
+ const rawInteraction = JSON.parse(message.interaction.reifyMessage());
246
+ const { content } = rawInteraction.contents;
247
+ const m = {
248
+ contents: {
249
+ content: !message.requestIsBinary
250
+ ? content
251
+ : Buffer.from(content, 'base64'),
252
+ },
253
+ metadata: rawInteraction.metadata,
254
+ };
255
+ val = await integrationTest(m);
256
+ }
257
+ catch (e) {
258
+ error = e instanceof Error ? e : new Error(String(e));
259
+ }
260
+ // Scenario: test threw an error, but Pact validation was OK (error in client or test)
261
+ if (error) {
262
+ cleanup(false, pact, opts, cleanupFn);
263
+ throw error;
264
+ }
265
+ // Scenario: Pact validation passed, test didn't throw - return the callback value
266
+ cleanup(true, pact, opts, cleanupFn);
267
+ return val;
268
+ };
302
269
  //# sourceMappingURL=asynchronousMessage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"asynchronousMessage.js","sourceRoot":"","sources":["../../../../src/v4/message/asynchronousMessage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"asynchronousMessage.js","sourceRoot":"","sources":["../../../../src/v4/message/asynchronousMessage.ts"],"names":[],"mappings":";;;;;;AAqBA,iCAAmD;AACnD,yFAAiE;AACjE,8CAG0B;AAC1B,8DAA8E;AAE9E,iEAAyC;AAEzC,MAAM,cAAc,GAAG,SAAS,CAAC;AA0BjC,MAAa,+BAA+B;IAM9B;IACA;IACA;IACA;IANF,OAAO,CAAU;IAE3B,YACY,IAAkB,EAClB,WAAwC,EACxC,IAAmB,EACnB,SAAqB;QAHrB,SAAI,GAAJ,IAAI,CAAc;QAClB,gBAAW,GAAX,WAAW,CAA6B;QACxC,SAAI,GAAJ,IAAI,CAAe;QACnB,cAAS,GAAT,SAAS,CAAY;QAE/B,IAAI,CAAC,OAAO,GAAG;YACb,eAAe,EAAE,KAAK;YACtB,WAAW,EAAE,IAAI,CAAC,WAAW;SAC9B,CAAC;IACJ,CAAC;IAED,gBAAgB,CACd,WAAmB,EACnB,OAAyC;QAEzC,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;QAE/C,OAAO,CAAC,IAAI,0BAA0B,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAE5E,OAAO,IAAI,8BAA8B,CACvC,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,SAAS,CACf,CAAC;IACJ,CAAC;IAED,KAAK,CACH,KAAa,EACb,UAAoB;QAEpB,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,eAAe,CACtC,KAAK,EACL,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAC3B,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACxC,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CAAC,OAAO,GAAG,IAAI;QACpB,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAE7C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CAAC,OAAgC;QACtC,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAChC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;YACjD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QAEhE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,QAAQ,CAAC,IAAY;QACnB,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;QAEtD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,SAAS,CACP,KAAa,EACb,IAAY,EACZ,KAAa;QAEb,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,uBAAuB,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QAErE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,WAAW,CAAC,MAAoB;QAC9B,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QAEnD,OAAO,IAAI,6BAA6B,CACtC,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,SAAS,CACf,CAAC;IACJ,CAAC;CACF;AA5FD,0EA4FC;AAED,MAAa,6BAA6B;IAI5B;IACA;IACA;IACA;IAJZ,YACY,IAAkB,EAClB,OAAgB,EAChB,IAAmB,EACnB,SAAqB;QAHrB,SAAI,GAAJ,IAAI,CAAc;QAClB,YAAO,GAAP,OAAO,CAAS;QAChB,SAAI,GAAJ,IAAI,CAAe;QACnB,cAAS,GAAT,SAAS,CAAY;IAC9B,CAAC;IAEJ,gBAAgB,CAAC,WAAmB;QAClC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;QAEvD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,WAAW,CAAC,MAAoB;QAC9B,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QAEnD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,kBAAkB,CAChB,QAAgB,EAChB,WAAmB;QAEnB,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,oCAAoC,CAC3D,WAAW,EACX,QAAQ,CACT,CAAC;QAEF,OAAO,IAAI,qCAAqC,CAC9C,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,SAAS,CACf,CAAC;IACJ,CAAC;CACF;AAtCD,sEAsCC;AAED,MAAa,0BAA0B;IAIzB;IACA;IACA;IAHZ,YACY,IAAkB,EAClB,OAAgB,EAChB,IAAmB;QAFnB,SAAI,GAAJ,IAAI,CAAc;QAClB,YAAO,GAAP,OAAO,CAAS;QAChB,SAAI,GAAJ,IAAI,CAAe;IAC5B,CAAC;IAEJ,YAAY,CAAC,QAAkB;QAC7B,IAAI,IAAA,eAAO,EAAC,QAAQ,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,4BAAkB,CAC1B,iEAAiE,CAClE,CAAC;QACJ,CAAC;QAED,IAAA,yBAAiB,EAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACzB,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QACnE,CAAC,EAAE,QAAQ,CAAC,CAAC;QAEb,OAAO,IAAI,CAAC;IACd,CAAC;IAED,WAAW,CAAC,WAAmB,EAAE,IAAY;QAC3C,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,kBAAkB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAC/D,IAAI,CAAC,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;QAEpC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,eAAe,CAAC,OAAgB;QAC9B,IAAI,IAAA,eAAO,EAAC,OAAO,CAAC,EAAE,CAAC;YACrB,MAAM,IAAI,4BAAkB,CAC1B,sEAAsE,CACvE,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,YAAY,CACnC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EACvB,kBAAkB,CACnB,CAAC;QAEF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,iBAAiB,CAAC,KAAY;QAC5B,IAAA,6BAAa,EAAC,KAAK,CAAC,CAAC;QACrB,MAAM,QAAQ,GAAG,IAAA,iCAAiB,EAAC,KAAK,CAAC,CAAC;QAC1C,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;QAErE,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAnDD,gEAmDC;AAED,MAAa,8BAA8B;IAI7B;IACA;IACA;IACA;IAJZ,YACY,IAAkB,EAClB,OAAgB,EAChB,IAAmB,EACnB,SAAqB;QAHrB,SAAI,GAAJ,IAAI,CAAc;QAClB,YAAO,GAAP,OAAO,CAAS;QAChB,SAAI,GAAJ,IAAI,CAAe;QACnB,cAAS,GAAT,SAAS,CAAY;IAC9B,CAAC;IAEJ,WAAW,CACT,eAAuD;QAEvD,OAAO,uBAAuB,CAC5B,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,OAAO,EACZ,eAAe,EACf,IAAI,CAAC,SAAS,CACf,CAAC;IACJ,CAAC;CACF;AArBD,wEAqBC;AAED,MAAa,qCAAqC;IAIpC;IACA;IACA;IACA;IAJZ,YACY,IAAkB,EAClB,OAAgB,EAChB,IAAmB,EACnB,SAAqB;QAHrB,SAAI,GAAJ,IAAI,CAAc;QAClB,YAAO,GAAP,OAAO,CAAS;QAChB,SAAI,GAAJ,IAAI,CAAe;QACnB,cAAS,GAAT,SAAS,CAAY;IAC9B,CAAC;IAEJ,WAAW,CACT,eAAuD;QAEvD,OAAO,uBAAuB,CAC5B,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,OAAO,EACZ,eAAe,EACf,IAAI,CAAC,SAAS,CACf,CAAC;IACJ,CAAC;IAED,cAAc,CACZ,SAAiB,EACjB,OAAe,EAAE,yBAAyB;IAC1C,MAAgB;QAEhB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,mCAAmC,CACxD,OAAO,EACP,SAAS,EACT,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CACrC,CAAC;QAEF,OAAO,IAAI,gCAAgC,CACzC,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,IAAI,EACT,IAAI,EACJ,OAAO,EACP,IAAI,CAAC,SAAS,CACf,CAAC;IACJ,CAAC;CACF;AA1CD,sFA0CC;AAED,MAAa,gCAAgC;IAI/B;IACA;IACA;IACA;IACA;IACA;IANZ,YACY,IAAkB,EAClB,OAAgB,EAChB,IAAmB,EACnB,IAAY,EACZ,OAAe,EACf,SAAqB;QALrB,SAAI,GAAJ,IAAI,CAAc;QAClB,YAAO,GAAP,OAAO,CAAS;QAChB,SAAI,GAAJ,IAAI,CAAe;QACnB,SAAI,GAAJ,IAAI,CAAQ;QACZ,YAAO,GAAP,OAAO,CAAQ;QACf,cAAS,GAAT,SAAS,CAAY;IAC9B,CAAC;IAEJ,2GAA2G;IAC3G,oEAAoE;IACpE,KAAK,CAAC,WAAW,CACf,eAGe;QAEf,IAAI,GAAkB,CAAC;QACvB,IAAI,KAAwB,CAAC;QAE7B,IAAI,CAAC;YACH,2DAA2D;YAC3D,GAAG,GAAG,MAAM,eAAe,CACzB,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,EAC1C,EAAyB,CAC1B,CAAC;QACJ,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,KAAK,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACxD,CAAC;QAED,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClE,MAAM,MAAM,GAAG,IAAA,kCAAwB,EAAC,eAAe,CAAC,CAAC;QACzD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEnE,mCAAmC;QACnC,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,IAAI,YAAY,GAAG,wCAAwC,CAAC;YAC5D,YAAY,IAAI,SAAS,IAAA,iCAAuB,EAAC,eAAe,EAAE,IAAI,CAAC,EAAE,CAAC;YAE1E,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAEtE,4EAA4E;YAC5E,8EAA8E;YAC9E,wEAAwE;YACxE,qCAAqC;YACrC,IAAI,KAAK,EAAE,CAAC;gBACV,gBAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;gBAC3B,MAAM,KAAK,CAAC;YACd,CAAC;YAED,yDAAyD;YACzD,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;QACjD,CAAC;QAED,sFAAsF;QACtF,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACtE,MAAM,KAAK,CAAC;QACd,CAAC;QAED,kFAAkF;QAClF,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAErE,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AApED,4EAoEC;AAED,MAAM,OAAO,GAAG,CACd,OAAgB,EAChB,IAAkB,EAClB,IAAmB,EACnB,SAAqB,EACrB,IAAa,EACb,SAAS,GAAG,KAAK,EACjB,EAAE;IACF,IAAI,OAAO,EAAE,CAAC;QACZ,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;YACtB,IAAI,CAAC,4BAA4B,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,IAAI,cAAc,EAAE,IAAI,CAAC,CAAC;QAC5E,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,IAAI,cAAc,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IACD,IAAI,IAAI,EAAE,CAAC;QACT,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IACD,IAAI,CAAC,cAAc,EAAE,CAAC;IACtB,SAAS,EAAE,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,uBAAuB,GAAG,KAAK,EACnC,IAAkB,EAClB,IAAmB,EACnB,OAAgB,EAChB,eAAuD,EACvD,SAAqB,EACG,EAAE;IAC1B,IAAI,GAAkB,CAAC;IACvB,IAAI,KAAwB,CAAC;IAE7B,IAAI,CAAC;QACH,MAAM,cAAc,GAAmB,IAAI,CAAC,KAAK,CAC/C,OAAO,CAAC,WAAW,CAAC,YAAY,EAAE,CACnC,CAAC;QAEF,MAAM,EAAE,OAAO,EAAE,GAAG,cAAc,CAAC,QAAQ,CAAC;QAC5C,MAAM,CAAC,GAAwB;YAC7B,QAAQ,EAAE;gBACR,OAAO,EAAE,CAAC,OAAO,CAAC,eAAe;oBAC/B,CAAC,CAAC,OAAO;oBACT,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAiB,EAAE,QAAQ,CAAC;aAC7C;YACD,QAAQ,EAAE,cAAc,CAAC,QAAQ;SAClC,CAAC;QACF,GAAG,GAAG,MAAM,eAAe,CAAC,CAAC,CAAC,CAAC;IACjC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,KAAK,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACxD,CAAC;IAED,sFAAsF;IACtF,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;QAEtC,MAAM,KAAK,CAAC;IACd,CAAC;IAED,kFAAkF;IAClF,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;IAErC,OAAO,GAAG,CAAC;AACb,CAAC,CAAC"}