@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
@@ -1,213 +1,98 @@
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
  Object.defineProperty(exports, "__esModule", { value: true });
39
- var chai_1 = require("chai");
40
- var sinon_1 = require("sinon");
41
- var hooks_1 = require("./hooks");
3
+ const chai_1 = require("chai");
4
+ const sinon_1 = require("sinon");
5
+ const hooks_1 = require("./hooks");
42
6
  // This mimics the proxy setup (src/dsl/verifier/proxy/proxy.ts), whereby the
43
7
  // state handling middleware is run regardless of whether a hook is registered
44
8
  // or not.
45
- var doRequest = function (action, hooksState, hookHandler) { return __awaiter(void 0, void 0, void 0, function () {
46
- var hooksStateHandler, hookRequestHandler, request;
47
- return __generator(this, function (_a) {
48
- hooksStateHandler = (0, hooks_1.registerHookStateTracking)(hooksState);
49
- hookRequestHandler = hookHandler || (function (req, res, next) { return next(); });
50
- request = {
51
- body: {
52
- action: action,
53
- },
54
- };
55
- return [2 /*return*/, new Promise(function (resolve) {
56
- hooksStateHandler(request, null, function () {
57
- hookRequestHandler(request, null, resolve);
58
- });
59
- })];
9
+ const doRequest = async (action, hooksState, hookHandler) => {
10
+ const hooksStateHandler = (0, hooks_1.registerHookStateTracking)(hooksState);
11
+ const hookRequestHandler = hookHandler || ((_req, _res, next) => next());
12
+ // biome-ignore lint/suspicious/noExplicitAny: partial mock object — only body is needed to exercise the hook logic
13
+ const request = {
14
+ body: {
15
+ action,
16
+ },
17
+ };
18
+ return new Promise((resolve) => {
19
+ // biome-ignore lint/suspicious/noExplicitAny: null passed as res/next mocks; only body is exercised
20
+ hooksStateHandler(request, null, () => {
21
+ // biome-ignore lint/suspicious/noExplicitAny: null passed as res mock; only body is exercised
22
+ hookRequestHandler(request, null, resolve);
23
+ });
60
24
  });
61
- }); };
62
- describe('Verifier', function () {
63
- describe('#registerBeforeHook', function () {
64
- describe('when the state setup routine is called multiple times before the next teardown', function () {
65
- it('it executes the beforeEach hook only once', function () { return __awaiter(void 0, void 0, void 0, function () {
66
- var hooksState, hook, hookHandler;
67
- return __generator(this, function (_a) {
68
- switch (_a.label) {
69
- case 0:
70
- hooksState = { setupCounter: 0 };
71
- hook = (0, sinon_1.stub)().resolves();
72
- hookHandler = (0, hooks_1.registerBeforeHook)(hook, hooksState);
73
- return [4 /*yield*/, doRequest('setup', hooksState, hookHandler)];
74
- case 1:
75
- _a.sent();
76
- return [4 /*yield*/, doRequest('setup', hooksState, hookHandler)];
77
- case 2:
78
- _a.sent();
79
- return [4 /*yield*/, doRequest('teardown', hooksState)];
80
- case 3:
81
- _a.sent();
82
- return [4 /*yield*/, doRequest('teardown', hooksState)];
83
- case 4:
84
- _a.sent();
85
- (0, chai_1.expect)(hook).to.be.calledOnce;
86
- return [2 /*return*/];
87
- }
88
- });
89
- }); });
25
+ };
26
+ describe('Verifier', () => {
27
+ describe('#registerBeforeHook', () => {
28
+ describe('when the state setup routine is called multiple times before the next teardown', () => {
29
+ it('it executes the beforeEach hook only once', async () => {
30
+ const hooksState = { setupCounter: 0 };
31
+ const hook = (0, sinon_1.stub)().resolves();
32
+ const hookHandler = (0, hooks_1.registerBeforeHook)(hook, hooksState);
33
+ await doRequest('setup', hooksState, hookHandler);
34
+ await doRequest('setup', hooksState, hookHandler);
35
+ await doRequest('teardown', hooksState);
36
+ await doRequest('teardown', hooksState);
37
+ (0, chai_1.expect)(hook).to.be.calledOnce;
38
+ });
90
39
  });
91
40
  });
92
- describe('#registerAfterHook', function () {
93
- describe('when the state teardown routine is called multiple times before the next setup', function () {
94
- it('it executes the afterEach hook only once', function () { return __awaiter(void 0, void 0, void 0, function () {
95
- var hooksState, hook, hookHandler;
96
- return __generator(this, function (_a) {
97
- switch (_a.label) {
98
- case 0:
99
- hooksState = { setupCounter: 0 };
100
- hook = (0, sinon_1.stub)().resolves();
101
- hookHandler = (0, hooks_1.registerAfterHook)(hook, hooksState);
102
- return [4 /*yield*/, doRequest('setup', hooksState)];
103
- case 1:
104
- _a.sent();
105
- return [4 /*yield*/, doRequest('setup', hooksState)];
106
- case 2:
107
- _a.sent();
108
- return [4 /*yield*/, doRequest('teardown', hooksState, hookHandler)];
109
- case 3:
110
- _a.sent();
111
- return [4 /*yield*/, doRequest('teardown', hooksState, hookHandler)];
112
- case 4:
113
- _a.sent();
114
- (0, chai_1.expect)(hook).to.be.calledOnce;
115
- return [2 /*return*/];
116
- }
117
- });
118
- }); });
41
+ describe('#registerAfterHook', () => {
42
+ describe('when the state teardown routine is called multiple times before the next setup', () => {
43
+ it('it executes the afterEach hook only once', async () => {
44
+ const hooksState = { setupCounter: 0 };
45
+ const hook = (0, sinon_1.stub)().resolves();
46
+ const hookHandler = (0, hooks_1.registerAfterHook)(hook, hooksState);
47
+ await doRequest('setup', hooksState);
48
+ await doRequest('setup', hooksState);
49
+ await doRequest('teardown', hooksState, hookHandler);
50
+ await doRequest('teardown', hooksState, hookHandler);
51
+ (0, chai_1.expect)(hook).to.be.calledOnce;
52
+ });
119
53
  });
120
54
  });
121
- describe('#registerBeforeHook and #registerAfterHook', function () {
122
- describe('when the state teardown routine is called multiple times before the next setup', function () {
123
- it('it executes the beforeEach and afterEach hooks only once', function () { return __awaiter(void 0, void 0, void 0, function () {
124
- var hooksState, beforeHook, afterHook, beforeHookHandler, afterHookHandler;
125
- return __generator(this, function (_a) {
126
- switch (_a.label) {
127
- case 0:
128
- hooksState = { setupCounter: 0 };
129
- beforeHook = (0, sinon_1.stub)().resolves();
130
- afterHook = (0, sinon_1.stub)().resolves();
131
- beforeHookHandler = (0, hooks_1.registerBeforeHook)(beforeHook, hooksState);
132
- afterHookHandler = (0, hooks_1.registerAfterHook)(afterHook, hooksState);
133
- return [4 /*yield*/, doRequest('setup', hooksState, beforeHookHandler)];
134
- case 1:
135
- _a.sent();
136
- return [4 /*yield*/, doRequest('setup', hooksState, beforeHookHandler)];
137
- case 2:
138
- _a.sent();
139
- return [4 /*yield*/, doRequest('teardown', hooksState, afterHookHandler)];
140
- case 3:
141
- _a.sent();
142
- return [4 /*yield*/, doRequest('teardown', hooksState, afterHookHandler)];
143
- case 4:
144
- _a.sent();
145
- (0, chai_1.expect)(beforeHook).to.be.calledOnce;
146
- (0, chai_1.expect)(afterHook).to.be.calledOnce;
147
- return [2 /*return*/];
148
- }
149
- });
150
- }); });
55
+ describe('#registerBeforeHook and #registerAfterHook', () => {
56
+ describe('when the state teardown routine is called multiple times before the next setup', () => {
57
+ it('it executes the beforeEach and afterEach hooks only once', async () => {
58
+ const hooksState = { setupCounter: 0 };
59
+ const beforeHook = (0, sinon_1.stub)().resolves();
60
+ const afterHook = (0, sinon_1.stub)().resolves();
61
+ const beforeHookHandler = (0, hooks_1.registerBeforeHook)(beforeHook, hooksState);
62
+ const afterHookHandler = (0, hooks_1.registerAfterHook)(afterHook, hooksState);
63
+ await doRequest('setup', hooksState, beforeHookHandler);
64
+ await doRequest('setup', hooksState, beforeHookHandler);
65
+ await doRequest('teardown', hooksState, afterHookHandler);
66
+ await doRequest('teardown', hooksState, afterHookHandler);
67
+ (0, chai_1.expect)(beforeHook).to.be.calledOnce;
68
+ (0, chai_1.expect)(afterHook).to.be.calledOnce;
69
+ });
151
70
  });
152
- describe('when multiple interactions are executed', function () {
153
- it('it executes the beforeEach and afterEach hooks once for each interaction', function () { return __awaiter(void 0, void 0, void 0, function () {
154
- var hooksState, beforeHook, afterHook, beforeHookHandler, afterHookHandler;
155
- return __generator(this, function (_a) {
156
- switch (_a.label) {
157
- case 0:
158
- hooksState = { setupCounter: 0 };
159
- beforeHook = (0, sinon_1.stub)().resolves();
160
- afterHook = (0, sinon_1.stub)().resolves();
161
- beforeHookHandler = (0, hooks_1.registerBeforeHook)(beforeHook, hooksState);
162
- afterHookHandler = (0, hooks_1.registerAfterHook)(afterHook, hooksState);
163
- // Interaction 1 (two "given" states)
164
- return [4 /*yield*/, doRequest('setup', hooksState, beforeHookHandler)];
165
- case 1:
166
- // Interaction 1 (two "given" states)
167
- _a.sent();
168
- return [4 /*yield*/, doRequest('setup', hooksState, beforeHookHandler)];
169
- case 2:
170
- _a.sent();
171
- return [4 /*yield*/, doRequest('teardown', hooksState, afterHookHandler)];
172
- case 3:
173
- _a.sent();
174
- return [4 /*yield*/, doRequest('teardown', hooksState, afterHookHandler)];
175
- case 4:
176
- _a.sent();
177
- // Interaction 2 (one "given" state)
178
- return [4 /*yield*/, doRequest('setup', hooksState, beforeHookHandler)];
179
- case 5:
180
- // Interaction 2 (one "given" state)
181
- _a.sent();
182
- return [4 /*yield*/, doRequest('teardown', hooksState, afterHookHandler)];
183
- case 6:
184
- _a.sent();
185
- // Interaction 3 (three "given" states)
186
- return [4 /*yield*/, doRequest('setup', hooksState, beforeHookHandler)];
187
- case 7:
188
- // Interaction 3 (three "given" states)
189
- _a.sent();
190
- return [4 /*yield*/, doRequest('setup', hooksState, beforeHookHandler)];
191
- case 8:
192
- _a.sent();
193
- return [4 /*yield*/, doRequest('setup', hooksState, beforeHookHandler)];
194
- case 9:
195
- _a.sent();
196
- return [4 /*yield*/, doRequest('teardown', hooksState, afterHookHandler)];
197
- case 10:
198
- _a.sent();
199
- return [4 /*yield*/, doRequest('teardown', hooksState, afterHookHandler)];
200
- case 11:
201
- _a.sent();
202
- return [4 /*yield*/, doRequest('teardown', hooksState, afterHookHandler)];
203
- case 12:
204
- _a.sent();
205
- (0, chai_1.expect)(beforeHook).to.be.calledThrice;
206
- (0, chai_1.expect)(afterHook).to.be.calledThrice;
207
- return [2 /*return*/];
208
- }
209
- });
210
- }); });
71
+ describe('when multiple interactions are executed', () => {
72
+ it('it executes the beforeEach and afterEach hooks once for each interaction', async () => {
73
+ const hooksState = { setupCounter: 0 };
74
+ const beforeHook = (0, sinon_1.stub)().resolves();
75
+ const afterHook = (0, sinon_1.stub)().resolves();
76
+ const beforeHookHandler = (0, hooks_1.registerBeforeHook)(beforeHook, hooksState);
77
+ const afterHookHandler = (0, hooks_1.registerAfterHook)(afterHook, hooksState);
78
+ // Interaction 1 (two "given" states)
79
+ await doRequest('setup', hooksState, beforeHookHandler);
80
+ await doRequest('setup', hooksState, beforeHookHandler);
81
+ await doRequest('teardown', hooksState, afterHookHandler);
82
+ await doRequest('teardown', hooksState, afterHookHandler);
83
+ // Interaction 2 (one "given" state)
84
+ await doRequest('setup', hooksState, beforeHookHandler);
85
+ await doRequest('teardown', hooksState, afterHookHandler);
86
+ // Interaction 3 (three "given" states)
87
+ await doRequest('setup', hooksState, beforeHookHandler);
88
+ await doRequest('setup', hooksState, beforeHookHandler);
89
+ await doRequest('setup', hooksState, beforeHookHandler);
90
+ await doRequest('teardown', hooksState, afterHookHandler);
91
+ await doRequest('teardown', hooksState, afterHookHandler);
92
+ await doRequest('teardown', hooksState, afterHookHandler);
93
+ (0, chai_1.expect)(beforeHook).to.be.calledThrice;
94
+ (0, chai_1.expect)(afterHook).to.be.calledThrice;
95
+ });
211
96
  });
212
97
  });
213
98
  });
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.spec.js","sourceRoot":"","sources":["../../../../../src/dsl/verifier/proxy/hooks.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hooks.spec.js","sourceRoot":"","sources":["../../../../../src/dsl/verifier/proxy/hooks.spec.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import express from 'express';
2
- import { MessageDescriptor, MessageProvider } from '../../message';
3
- import { ProxyOptions } from './types';
2
+ import type { MessageDescriptor, MessageProvider } from '../../message';
3
+ import type { ProxyOptions } from './types';
4
4
  export declare const findMessageHandler: (message: MessageDescriptor, config: ProxyOptions) => Promise<MessageProvider>;
5
5
  export declare const providerWithMetadata: (provider: MessageProvider, metadata: Record<string, string>) => MessageProvider;
6
6
  export declare const createProxyMessageHandler: (config: ProxyOptions) => ((req: express.Request, res: express.Response) => void);
@@ -1,133 +1,115 @@
1
1
  "use strict";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
14
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
15
4
  };
16
5
  Object.defineProperty(exports, "__esModule", { value: true });
17
6
  exports.setupMessageProxyApplication = exports.createProxyMessageHandler = exports.providerWithMetadata = exports.findMessageHandler = void 0;
18
- var express_1 = __importDefault(require("express"));
19
- var body_parser_1 = __importDefault(require("body-parser"));
20
- var js_base64_1 = require("js-base64");
21
- var logger_1 = __importDefault(require("../../../common/logger"));
7
+ const express_1 = __importDefault(require("express"));
8
+ const body_parser_1 = __importDefault(require("body-parser"));
9
+ const js_base64_1 = require("js-base64");
10
+ const logger_1 = __importDefault(require("../../../common/logger"));
22
11
  // Find a provider message handler, and invoke it
23
- var findMessageHandler = function (message, config) {
24
- var handler = config.messageProviders
12
+ const findMessageHandler = (message, config) => {
13
+ const handler = config.messageProviders
25
14
  ? config.messageProviders[message.description]
26
15
  : undefined;
27
16
  if (!handler) {
28
- logger_1.default.error("no handler found for message ".concat(message.description));
29
- return Promise.reject(new Error("No handler found for message \"".concat(message.description, "\".\n Check your \"handlers\" configuration")));
17
+ logger_1.default.error(`no handler found for message ${message.description}`);
18
+ return Promise.reject(new Error(`No handler found for message "${message.description}".
19
+ Check your "handlers" configuration`));
30
20
  }
31
21
  return Promise.resolve(handler);
32
22
  };
33
23
  exports.findMessageHandler = findMessageHandler;
34
- var hasMetadata = function (o) {
35
- return Boolean(o.__pactMessageMetadata);
36
- };
37
- var providerWithMetadata = function (provider, metadata) {
38
- return function (descriptor) {
39
- return Promise.resolve(provider(descriptor)).then(function (message) {
40
- return hasMetadata(message)
41
- ? {
42
- __pactMessageMetadata: __assign(__assign({}, message.__pactMessageMetadata), metadata),
43
- message: message,
44
- }
45
- : { __pactMessageMetadata: metadata, message: message };
46
- });
47
- };
48
- };
24
+ const hasMetadata = (o) => Boolean(o.__pactMessageMetadata);
25
+ const providerWithMetadata = (provider, metadata) => (descriptor) => Promise.resolve(provider(descriptor)).then((message) => hasMetadata(message)
26
+ ? {
27
+ __pactMessageMetadata: {
28
+ ...message.__pactMessageMetadata,
29
+ ...metadata,
30
+ },
31
+ message,
32
+ }
33
+ : { __pactMessageMetadata: metadata, message });
49
34
  exports.providerWithMetadata = providerWithMetadata;
50
35
  // Get the API handler for the verification CLI process to invoke on POST /*
51
- var createProxyMessageHandler = function (config) {
52
- return function (req, res) {
53
- var _a, _b, _c, _d, _e, _f, _g, _h;
54
- // req.body = {
55
- // description: 'a MATT message',
56
- // providerStates: [ { name: 'a Matt message is sent' } ],
57
- // request: {
58
- // contents: {
59
- // content: 'aGVsbG90Y3A=',
60
- // contentType: 'application/matt',
61
- // encoded: 'base64'
62
- // },
63
- // matchingRules: {
64
- // body: {
65
- // '$': {
66
- // combine: 'AND',
67
- // matchers: [ { match: 'contentType', value: 'application/matt' } ]
68
- // }
69
- // }
70
- // },
71
- // metadata: { contentType: 'application/matt' }
72
- // }
73
- // }
74
- // {
75
- // description: 'a MATT message',
76
- // providerStates: [ { name: 'a Matt message is sent with JSON content' } ],
77
- // request: {
78
- // contents: {
79
- // content: { message: 'hellotcp' },
80
- // contentType: 'application/json',
81
- // encoded: false
82
- // },
83
- // metadata: { contentType: 'application/json' }
84
- // }
85
- // }
86
- var message = req.body;
87
- message.metadata = (_a = req.body.request) === null || _a === void 0 ? void 0 : _a.metadata;
88
- // Add the request body, if one exists for synchronous messages
89
- if ((_b = req.body.request) === null || _b === void 0 ? void 0 : _b.contents) {
90
- var encodedMessage = ((_d = (_c = req.body.request) === null || _c === void 0 ? void 0 : _c.contents) === null || _d === void 0 ? void 0 : _d.encoded) || false;
91
- if (encodedMessage) {
92
- message.content = Buffer.from((_f = (_e = req.body.request) === null || _e === void 0 ? void 0 : _e.contents) === null || _f === void 0 ? void 0 : _f.content, 'base64');
93
- }
94
- else {
95
- message.content = (_h = (_g = req.body.request) === null || _g === void 0 ? void 0 : _g.contents) === null || _h === void 0 ? void 0 : _h.content;
96
- }
36
+ const createProxyMessageHandler = (config) => (req, res) => {
37
+ // req.body = {
38
+ // description: 'a MATT message',
39
+ // providerStates: [ { name: 'a Matt message is sent' } ],
40
+ // request: {
41
+ // contents: {
42
+ // content: 'aGVsbG90Y3A=',
43
+ // contentType: 'application/matt',
44
+ // encoded: 'base64'
45
+ // },
46
+ // matchingRules: {
47
+ // body: {
48
+ // '$': {
49
+ // combine: 'AND',
50
+ // matchers: [ { match: 'contentType', value: 'application/matt' } ]
51
+ // }
52
+ // }
53
+ // },
54
+ // metadata: { contentType: 'application/matt' }
55
+ // }
56
+ // }
57
+ // {
58
+ // description: 'a MATT message',
59
+ // providerStates: [ { name: 'a Matt message is sent with JSON content' } ],
60
+ // request: {
61
+ // contents: {
62
+ // content: { message: 'hellotcp' },
63
+ // contentType: 'application/json',
64
+ // encoded: false
65
+ // },
66
+ // metadata: { contentType: 'application/json' }
67
+ // }
68
+ // }
69
+ const message = req.body;
70
+ message.metadata = req.body.request?.metadata;
71
+ // Add the request body, if one exists for synchronous messages
72
+ if (req.body.request?.contents) {
73
+ const encodedMessage = req.body.request?.contents?.encoded || false;
74
+ if (encodedMessage) {
75
+ message.content = Buffer.from(req.body.request?.contents?.content, 'base64');
76
+ }
77
+ else {
78
+ message.content = req.body.request?.contents?.content;
97
79
  }
98
- // Invoke the handler, and return the JSON response body
99
- // wrapped in a Message
100
- (0, exports.findMessageHandler)(message, config)
101
- .then(function (handler) { return handler(message); })
102
- .then(function (messageFromHandler) {
103
- if (hasMetadata(messageFromHandler)) {
104
- var metadata = (0, js_base64_1.encode)(JSON.stringify(messageFromHandler.__pactMessageMetadata));
105
- res.header('Pact-Message-Metadata', metadata);
106
- res.header('PACT_MESSAGE_METADATA', metadata);
107
- // Ensure return content-type is set here
108
- // TODO: this needs thinking through
109
- if (messageFromHandler.__pactMessageMetadata['content-type'] ||
80
+ }
81
+ // Invoke the handler, and return the JSON response body
82
+ // wrapped in a Message
83
+ (0, exports.findMessageHandler)(message, config)
84
+ .then((handler) => handler(message))
85
+ .then((messageFromHandler) => {
86
+ if (hasMetadata(messageFromHandler)) {
87
+ const metadata = (0, js_base64_1.encode)(JSON.stringify(messageFromHandler.__pactMessageMetadata));
88
+ res.header('Pact-Message-Metadata', metadata);
89
+ res.header('PACT_MESSAGE_METADATA', metadata);
90
+ // Ensure return content-type is set here
91
+ // TODO: this needs thinking through
92
+ if (messageFromHandler.__pactMessageMetadata['content-type'] ||
93
+ messageFromHandler.__pactMessageMetadata['Content-Type'] ||
94
+ messageFromHandler.__pactMessageMetadata.contentType) {
95
+ res.type(messageFromHandler.__pactMessageMetadata['content-type'] ||
110
96
  messageFromHandler.__pactMessageMetadata['Content-Type'] ||
111
- messageFromHandler.__pactMessageMetadata.contentType) {
112
- res.type(messageFromHandler.__pactMessageMetadata['content-type'] ||
113
- messageFromHandler.__pactMessageMetadata['Content-Type'] ||
114
- messageFromHandler.__pactMessageMetadata.contentType);
115
- return res.send(messageFromHandler.message);
116
- }
117
- return res.json(messageFromHandler.message);
97
+ messageFromHandler.__pactMessageMetadata.contentType);
98
+ return res.send(messageFromHandler.message);
118
99
  }
119
- return res.json(messageFromHandler);
120
- })
121
- .catch(function (e) { return res.status(500).send(e); });
122
- };
100
+ return res.json(messageFromHandler.message);
101
+ }
102
+ return res.json(messageFromHandler);
103
+ })
104
+ .catch((e) => res.status(500).send(e));
123
105
  };
124
106
  exports.createProxyMessageHandler = createProxyMessageHandler;
125
107
  // Get the Express app that will run on the HTTP Proxy
126
- var setupMessageProxyApplication = function (config) {
127
- var app = (0, express_1.default)();
108
+ const setupMessageProxyApplication = (config) => {
109
+ const app = (0, express_1.default)();
128
110
  app.use(body_parser_1.default.json());
129
111
  app.use(body_parser_1.default.urlencoded({ extended: true }));
130
- app.use(function (_, res, next) {
112
+ app.use((_, res, next) => {
131
113
  // TODO: this seems to override the metadata for content-type
132
114
  res.header('Content-Type', 'application/json; charset=utf-8');
133
115
  next();
@@ -1 +1 @@
1
- {"version":3,"file":"messages.js","sourceRoot":"","sources":["../../../../../src/dsl/verifier/proxy/messages.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"messages.js","sourceRoot":"","sources":["../../../../../src/dsl/verifier/proxy/messages.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import http from 'http';
1
+ import type * as http from 'node:http';
2
2
  interface ReqBodyExtended extends http.IncomingMessage {
3
3
  body?: Buffer | Record<string, unknown>;
4
4
  }
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.parseBody = void 0;
4
- var parseBody = function (req) {
5
- var bodyData = Buffer.alloc(0);
4
+ const parseBody = (req) => {
5
+ let bodyData = Buffer.alloc(0);
6
6
  if (!req.body || !Object.keys(req.body).length) {
7
7
  return bodyData;
8
8
  }