@pact-foundation/pact 10.0.0-beta.9 → 10.0.2

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 (285) hide show
  1. package/CHANGELOG.md +2456 -1
  2. package/CODE_OF_CONDUCT.md +1 -1
  3. package/CONTRIBUTING.md +49 -12
  4. package/MIGRATION.md +77 -0
  5. package/README.md +179 -1273
  6. package/RELEASING.md +63 -59
  7. package/package.json +96 -98
  8. package/src/common/jsonTypes.d.ts +5 -0
  9. package/src/common/jsonTypes.js +3 -0
  10. package/src/common/jsonTypes.js.map +1 -0
  11. package/src/common/logger.d.ts +10 -0
  12. package/src/common/logger.js +32 -0
  13. package/src/common/logger.js.map +1 -0
  14. package/src/common/net.d.ts +9 -0
  15. package/src/common/net.js +82 -0
  16. package/src/common/net.js.map +1 -0
  17. package/{common → src/common}/net.spec.d.ts +0 -0
  18. package/src/common/net.spec.js +69 -0
  19. package/src/common/net.spec.js.map +1 -0
  20. package/src/common/request.d.ts +21 -0
  21. package/src/common/request.js +110 -0
  22. package/src/common/request.js.map +1 -0
  23. package/{common → src/common}/request.spec.d.ts +0 -0
  24. package/src/common/request.spec.js +69 -0
  25. package/src/common/request.spec.js.map +1 -0
  26. package/src/common/spec.d.ts +2 -0
  27. package/src/common/spec.js +22 -0
  28. package/src/common/spec.js.map +1 -0
  29. package/{dsl → src/dsl}/apolloGraphql.d.ts +1 -1
  30. package/{dsl → src/dsl}/apolloGraphql.js +4 -1
  31. package/src/dsl/apolloGraphql.js.map +1 -0
  32. package/{dsl → src/dsl}/apolloGraphql.spec.d.ts +0 -0
  33. package/src/dsl/apolloGraphql.spec.js +74 -0
  34. package/src/dsl/apolloGraphql.spec.js.map +1 -0
  35. package/{dsl → src/dsl}/graphql.d.ts +19 -8
  36. package/{dsl → src/dsl}/graphql.js +59 -31
  37. package/src/dsl/graphql.js.map +1 -0
  38. package/{dsl → src/dsl}/graphql.spec.d.ts +0 -0
  39. package/src/dsl/graphql.spec.js +229 -0
  40. package/src/dsl/graphql.spec.js.map +1 -0
  41. package/{dsl → src/dsl}/interaction.d.ts +22 -20
  42. package/src/dsl/interaction.js +144 -0
  43. package/src/dsl/interaction.js.map +1 -0
  44. package/{dsl → src/dsl}/interaction.spec.d.ts +0 -0
  45. package/src/dsl/interaction.spec.js +214 -0
  46. package/src/dsl/interaction.spec.js.map +1 -0
  47. package/src/dsl/matchers.d.ts +143 -0
  48. package/{dsl → src/dsl}/matchers.js +92 -93
  49. package/src/dsl/matchers.js.map +1 -0
  50. package/{dsl → src/dsl}/matchers.spec.d.ts +0 -0
  51. package/src/dsl/matchers.spec.js +668 -0
  52. package/src/dsl/matchers.spec.js.map +1 -0
  53. package/{dsl → src/dsl}/message.d.ts +32 -12
  54. package/{dsl → src/dsl}/message.js +0 -0
  55. package/{dsl → src/dsl}/message.js.map +1 -1
  56. package/src/dsl/mockService.d.ts +13 -0
  57. package/src/dsl/mockService.js +3 -0
  58. package/src/dsl/mockService.js.map +1 -0
  59. package/{dsl → src/dsl}/options.d.ts +7 -6
  60. package/{dsl → src/dsl}/options.js +0 -0
  61. package/{dsl → src/dsl}/options.js.map +1 -1
  62. package/src/dsl/verifier/index.d.ts +1 -0
  63. package/src/dsl/verifier/index.js +18 -0
  64. package/src/dsl/verifier/index.js.map +1 -0
  65. package/src/dsl/verifier/proxy/hooks.d.ts +4 -0
  66. package/src/dsl/verifier/proxy/hooks.js +109 -0
  67. package/src/dsl/verifier/proxy/hooks.js.map +1 -0
  68. package/src/dsl/verifier/proxy/index.d.ts +1 -0
  69. package/src/dsl/verifier/proxy/index.js +18 -0
  70. package/src/dsl/verifier/proxy/index.js.map +1 -0
  71. package/src/dsl/verifier/proxy/parseBody.d.ts +7 -0
  72. package/src/dsl/verifier/proxy/parseBody.js +22 -0
  73. package/src/dsl/verifier/proxy/parseBody.js.map +1 -0
  74. package/{dsl/mockService.spec.d.ts → src/dsl/verifier/proxy/parseBody.spec.d.ts} +0 -0
  75. package/src/dsl/verifier/proxy/parseBody.spec.js +118 -0
  76. package/src/dsl/verifier/proxy/parseBody.spec.js.map +1 -0
  77. package/src/dsl/verifier/proxy/proxy.d.ts +4 -0
  78. package/src/dsl/verifier/proxy/proxy.js +92 -0
  79. package/src/dsl/verifier/proxy/proxy.js.map +1 -0
  80. package/{dsl/publisher.spec.d.ts → src/dsl/verifier/proxy/proxy.spec.d.ts} +0 -0
  81. package/src/dsl/verifier/proxy/proxy.spec.js +33 -0
  82. package/src/dsl/verifier/proxy/proxy.spec.js.map +1 -0
  83. package/src/dsl/verifier/proxy/stateHandler/index.d.ts +1 -0
  84. package/src/dsl/verifier/proxy/stateHandler/index.js +18 -0
  85. package/src/dsl/verifier/proxy/stateHandler/index.js.map +1 -0
  86. package/src/dsl/verifier/proxy/stateHandler/setupStates.d.ts +3 -0
  87. package/src/dsl/verifier/proxy/stateHandler/setupStates.js +48 -0
  88. package/src/dsl/verifier/proxy/stateHandler/setupStates.js.map +1 -0
  89. package/{dsl/verifier.spec.d.ts → src/dsl/verifier/proxy/stateHandler/setupStates.spec.d.ts} +0 -0
  90. package/src/dsl/verifier/proxy/stateHandler/setupStates.spec.js +191 -0
  91. package/src/dsl/verifier/proxy/stateHandler/setupStates.spec.js.map +1 -0
  92. package/src/dsl/verifier/proxy/stateHandler/stateHandler.d.ts +3 -0
  93. package/src/dsl/verifier/proxy/stateHandler/stateHandler.js +14 -0
  94. package/src/dsl/verifier/proxy/stateHandler/stateHandler.js.map +1 -0
  95. package/{httpPact.spec.d.ts → src/dsl/verifier/proxy/stateHandler/stateHandler.spec.d.ts} +0 -0
  96. package/src/dsl/verifier/proxy/stateHandler/stateHandler.spec.js +130 -0
  97. package/src/dsl/verifier/proxy/stateHandler/stateHandler.spec.js.map +1 -0
  98. package/src/dsl/verifier/proxy/tracer.d.ts +3 -0
  99. package/src/dsl/verifier/proxy/tracer.js +52 -0
  100. package/src/dsl/verifier/proxy/tracer.js.map +1 -0
  101. package/src/dsl/verifier/proxy/types.d.ts +48 -0
  102. package/src/dsl/verifier/proxy/types.js +3 -0
  103. package/src/dsl/verifier/proxy/types.js.map +1 -0
  104. package/src/dsl/verifier/types.d.ts +3 -0
  105. package/src/dsl/verifier/types.js +3 -0
  106. package/src/dsl/verifier/types.js.map +1 -0
  107. package/src/dsl/verifier/verifier.d.ts +16 -0
  108. package/src/dsl/verifier/verifier.js +129 -0
  109. package/src/dsl/verifier/verifier.js.map +1 -0
  110. package/{messageConsumerPact.spec.d.ts → src/dsl/verifier/verifier.spec.d.ts} +0 -0
  111. package/src/dsl/verifier/verifier.spec.js +172 -0
  112. package/src/dsl/verifier/verifier.spec.js.map +1 -0
  113. package/{errors → src/errors}/configurationError.d.ts +0 -0
  114. package/{errors → src/errors}/configurationError.js +3 -1
  115. package/src/errors/configurationError.js.map +1 -0
  116. package/{errors → src/errors}/graphQLQueryError.d.ts +0 -0
  117. package/{errors → src/errors}/graphQLQueryError.js +3 -1
  118. package/src/errors/graphQLQueryError.js.map +1 -0
  119. package/{errors → src/errors}/matcherError.d.ts +0 -0
  120. package/{errors → src/errors}/matcherError.js +3 -1
  121. package/src/errors/matcherError.js.map +1 -0
  122. package/{errors → src/errors}/verificationError.d.ts +0 -0
  123. package/{errors → src/errors}/verificationError.js +3 -1
  124. package/src/errors/verificationError.js.map +1 -0
  125. package/src/httpPact/ffi.d.ts +15 -0
  126. package/src/httpPact/ffi.js +91 -0
  127. package/src/httpPact/ffi.js.map +1 -0
  128. package/{messageProviderPact.spec.d.ts → src/httpPact/ffi.spec.d.ts} +0 -0
  129. package/src/httpPact/ffi.spec.js +81 -0
  130. package/src/httpPact/ffi.spec.js.map +1 -0
  131. package/{httpPact.d.ts → src/httpPact/index.d.ts} +12 -12
  132. package/src/httpPact/index.js +311 -0
  133. package/src/httpPact/index.js.map +1 -0
  134. package/{pact-web.spec.d.ts → src/httpPact/index.spec.d.ts} +0 -0
  135. package/src/httpPact/index.spec.js +238 -0
  136. package/src/httpPact/index.spec.js.map +1 -0
  137. package/src/httpPact/tracing.d.ts +1 -0
  138. package/src/httpPact/tracing.js +53 -0
  139. package/src/httpPact/tracing.js.map +1 -0
  140. package/{pact.d.ts → src/index.d.ts} +22 -21
  141. package/src/index.js +107 -0
  142. package/src/index.js.map +1 -0
  143. package/src/messageConsumerPact.d.ts +86 -0
  144. package/src/messageConsumerPact.js +222 -0
  145. package/src/messageConsumerPact.js.map +1 -0
  146. package/src/messageConsumerPact.spec.d.ts +1 -0
  147. package/src/messageConsumerPact.spec.js +117 -0
  148. package/src/messageConsumerPact.spec.js.map +1 -0
  149. package/{messageProviderPact.d.ts → src/messageProviderPact.d.ts} +7 -4
  150. package/src/messageProviderPact.js +190 -0
  151. package/src/messageProviderPact.js.map +1 -0
  152. package/src/messageProviderPact.spec.d.ts +1 -0
  153. package/src/messageProviderPact.spec.js +183 -0
  154. package/src/messageProviderPact.spec.js.map +1 -0
  155. package/{pact.integration.spec.d.ts → src/pact.integration.spec.d.ts} +0 -0
  156. package/{pact.integration.spec.js → src/pact.integration.spec.js} +0 -0
  157. package/src/pact.integration.spec.js.map +1 -0
  158. package/src/v3/display.d.ts +6 -0
  159. package/src/v3/display.js +83 -0
  160. package/src/v3/display.js.map +1 -0
  161. package/src/v3/index.d.ts +17 -0
  162. package/src/v3/index.js +47 -0
  163. package/src/v3/index.js.map +1 -0
  164. package/src/v3/matchers.d.ts +182 -0
  165. package/src/v3/matchers.js +443 -0
  166. package/src/v3/matchers.js.map +1 -0
  167. package/src/v3/matchers.spec.d.ts +1 -0
  168. package/src/v3/matchers.spec.js +461 -0
  169. package/src/v3/matchers.spec.js.map +1 -0
  170. package/src/v3/pact.d.ts +21 -0
  171. package/src/v3/pact.js +236 -0
  172. package/src/v3/pact.js.map +1 -0
  173. package/src/v3/types.d.ts +81 -0
  174. package/src/v3/types.js +11 -0
  175. package/src/v3/types.js.map +1 -0
  176. package/{v3 → src/v3}/xml/xmlBuilder.d.ts +2 -2
  177. package/{v3 → src/v3}/xml/xmlBuilder.js +2 -1
  178. package/src/v3/xml/xmlBuilder.js.map +1 -0
  179. package/src/v3/xml/xmlElement.d.ts +27 -0
  180. package/{v3 → src/v3}/xml/xmlElement.js +21 -15
  181. package/src/v3/xml/xmlElement.js.map +1 -0
  182. package/src/v3/xml/xmlElement.spec.d.ts +1 -0
  183. package/src/v3/xml/xmlElement.spec.js +102 -0
  184. package/src/v3/xml/xmlElement.spec.js.map +1 -0
  185. package/{v3 → src/v3}/xml/xmlNode.d.ts +0 -0
  186. package/{v3 → src/v3}/xml/xmlNode.js +1 -0
  187. package/src/v3/xml/xmlNode.js.map +1 -0
  188. package/src/v3/xml/xmlText.d.ts +7 -0
  189. package/{v3 → src/v3}/xml/xmlText.js +4 -1
  190. package/src/v3/xml/xmlText.js.map +1 -0
  191. package/test/helper.d.ts +1 -0
  192. package/test/helper.js +37 -0
  193. package/test/helper.js.map +1 -0
  194. package/ROADMAP.md +0 -20
  195. package/common/logger.d.ts +0 -7
  196. package/common/logger.js +0 -56
  197. package/common/logger.js.map +0 -1
  198. package/common/metadata.d.ts +0 -0
  199. package/common/metadata.js +0 -2
  200. package/common/metadata.js.map +0 -1
  201. package/common/net.d.ts +0 -9
  202. package/common/net.js +0 -48
  203. package/common/net.js.map +0 -1
  204. package/common/net.spec.js +0 -67
  205. package/common/net.spec.js.map +0 -1
  206. package/common/request.d.ts +0 -14
  207. package/common/request.js +0 -47
  208. package/common/request.js.map +0 -1
  209. package/common/request.spec.js +0 -71
  210. package/common/request.spec.js.map +0 -1
  211. package/common/utils.d.ts +0 -2
  212. package/common/utils.js +0 -10
  213. package/common/utils.js.map +0 -1
  214. package/dsl/apolloGraphql.js.map +0 -1
  215. package/dsl/apolloGraphql.spec.js +0 -47
  216. package/dsl/apolloGraphql.spec.js.map +0 -1
  217. package/dsl/graphql.js.map +0 -1
  218. package/dsl/graphql.spec.js +0 -150
  219. package/dsl/graphql.spec.js.map +0 -1
  220. package/dsl/interaction.js +0 -112
  221. package/dsl/interaction.js.map +0 -1
  222. package/dsl/interaction.spec.js +0 -217
  223. package/dsl/interaction.spec.js.map +0 -1
  224. package/dsl/matchers.d.ts +0 -269
  225. package/dsl/matchers.js.map +0 -1
  226. package/dsl/matchers.spec.js +0 -563
  227. package/dsl/matchers.spec.js.map +0 -1
  228. package/dsl/mockService.d.ts +0 -58
  229. package/dsl/mockService.js +0 -74
  230. package/dsl/mockService.js.map +0 -1
  231. package/dsl/mockService.spec.js +0 -126
  232. package/dsl/mockService.spec.js.map +0 -1
  233. package/dsl/publisher.d.ts +0 -6
  234. package/dsl/publisher.js +0 -19
  235. package/dsl/publisher.js.map +0 -1
  236. package/dsl/publisher.spec.js +0 -21
  237. package/dsl/publisher.spec.js.map +0 -1
  238. package/dsl/verifier.d.ts +0 -39
  239. package/dsl/verifier.js +0 -173
  240. package/dsl/verifier.js.map +0 -1
  241. package/dsl/verifier.spec.js +0 -299
  242. package/dsl/verifier.spec.js.map +0 -1
  243. package/errors/configurationError.js.map +0 -1
  244. package/errors/graphQLQueryError.js.map +0 -1
  245. package/errors/matcherError.js.map +0 -1
  246. package/errors/verificationError.js.map +0 -1
  247. package/httpPact.js +0 -206
  248. package/httpPact.js.map +0 -1
  249. package/httpPact.spec.js +0 -337
  250. package/httpPact.spec.js.map +0 -1
  251. package/messageConsumerPact.d.ts +0 -67
  252. package/messageConsumerPact.js +0 -161
  253. package/messageConsumerPact.js.map +0 -1
  254. package/messageConsumerPact.spec.js +0 -161
  255. package/messageConsumerPact.spec.js.map +0 -1
  256. package/messageProviderPact.js +0 -139
  257. package/messageProviderPact.js.map +0 -1
  258. package/messageProviderPact.spec.js +0 -143
  259. package/messageProviderPact.spec.js.map +0 -1
  260. package/pact-web.d.ts +0 -100
  261. package/pact-web.js +0 -151
  262. package/pact-web.js.map +0 -1
  263. package/pact-web.spec.js +0 -191
  264. package/pact-web.spec.js.map +0 -1
  265. package/pact.integration.spec.js.map +0 -1
  266. package/pact.js +0 -74
  267. package/pact.js.map +0 -1
  268. package/v3/index.d.ts +0 -23
  269. package/v3/index.js +0 -33
  270. package/v3/index.js.map +0 -1
  271. package/v3/matchers.d.ts +0 -199
  272. package/v3/matchers.js +0 -305
  273. package/v3/matchers.js.map +0 -1
  274. package/v3/pact.d.ts +0 -47
  275. package/v3/pact.js +0 -101
  276. package/v3/pact.js.map +0 -1
  277. package/v3/verifier.d.ts +0 -27
  278. package/v3/verifier.js +0 -46
  279. package/v3/verifier.js.map +0 -1
  280. package/v3/xml/xmlBuilder.js.map +0 -1
  281. package/v3/xml/xmlElement.d.ts +0 -34
  282. package/v3/xml/xmlElement.js.map +0 -1
  283. package/v3/xml/xmlNode.js.map +0 -1
  284. package/v3/xml/xmlText.d.ts +0 -6
  285. package/v3/xml/xmlText.js.map +0 -1
@@ -1,299 +0,0 @@
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
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
14
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
15
- return new (P || (P = Promise))(function (resolve, reject) {
16
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
17
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
18
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
19
- step((generator = generator.apply(thisArg, _arguments || [])).next());
20
- });
21
- };
22
- var __generator = (this && this.__generator) || function (thisArg, body) {
23
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
24
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
25
- function verb(n) { return function (v) { return step([n, v]); }; }
26
- function step(op) {
27
- if (f) throw new TypeError("Generator is already executing.");
28
- while (_) try {
29
- 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;
30
- if (y = 0, t) op = [op[0] & 2, t.value];
31
- switch (op[0]) {
32
- case 0: case 1: t = op; break;
33
- case 4: _.label++; return { value: op[1], done: false };
34
- case 5: _.label++; y = op[1]; op = [0]; continue;
35
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
36
- default:
37
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
38
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
39
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
40
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
41
- if (t[2]) _.ops.pop();
42
- _.trys.pop(); continue;
43
- }
44
- op = body.call(thisArg, _);
45
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
46
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
47
- }
48
- };
49
- Object.defineProperty(exports, "__esModule", { value: true });
50
- /* tslint:disable:no-unused-expression no-empty no-string-literal*/
51
- var chai = require("chai");
52
- var chaiAsPromised = require("chai-as-promised");
53
- var sinon = require("sinon");
54
- var verifier_1 = require("./verifier");
55
- var pact_node_1 = require("@pact-foundation/pact-node");
56
- var logger_1 = require("../common/logger");
57
- var express = require("express");
58
- chai.use(chaiAsPromised);
59
- var expect = chai.expect;
60
- describe("Verifier", function () {
61
- afterEach(function () {
62
- sinon.restore();
63
- });
64
- var state = "thing exists";
65
- var v;
66
- var opts;
67
- var executed;
68
- var providerBaseUrl = "http://not.exists";
69
- // Little function to mock out an Event Emitter
70
- var fakeServer = function (event) { return ({
71
- on: function (registeredEvent, cb) {
72
- if (registeredEvent === event) {
73
- cb();
74
- }
75
- },
76
- }); };
77
- beforeEach(function () {
78
- var _a;
79
- executed = false;
80
- opts = {
81
- providerBaseUrl: providerBaseUrl,
82
- requestFilter: function (req, res, next) {
83
- next();
84
- },
85
- stateHandlers: (_a = {},
86
- _a[state] = function () {
87
- executed = true;
88
- return Promise.resolve("done");
89
- },
90
- _a),
91
- };
92
- });
93
- describe("#constructor", function () {
94
- describe("when given configuration", function () {
95
- it("sets the configuration on the object", function () {
96
- v = new verifier_1.Verifier(opts);
97
- expect(v)
98
- .to.have.deep.property("config")
99
- .includes({
100
- providerBaseUrl: providerBaseUrl,
101
- });
102
- expect(v).to.have.nested.property("config.stateHandlers");
103
- expect(v).to.have.nested.property("config.requestFilter");
104
- });
105
- });
106
- describe("when no configuration is given", function () {
107
- it("does not set the configuration on the object", function () {
108
- v = new verifier_1.Verifier();
109
- expect(v).to.not.have.deep.property("config");
110
- });
111
- });
112
- });
113
- describe("#setConfig", function () {
114
- var spy;
115
- beforeEach(function () {
116
- spy = sinon.spy(pact_node_1.default, "logLevel");
117
- v = new verifier_1.Verifier(opts);
118
- });
119
- context("when logLevel is provided", function () {
120
- it("sets the log level on pact node", function () {
121
- v["setConfig"](__assign(__assign({}, opts), { logLevel: "debug" }));
122
- expect(spy.callCount).to.eql(1);
123
- });
124
- });
125
- context("when logLevel is not provided", function () {
126
- it("does not modify the log setting", function () {
127
- v["setConfig"](__assign({}, opts));
128
- expect(spy.callCount).to.eql(0);
129
- });
130
- });
131
- context("when a deprecated field is provided", function () {
132
- it("logs a warning", function () {
133
- spy = sinon.spy(logger_1.default, "warn");
134
- v["setConfig"](__assign(__assign({}, opts), { providerStatesSetupUrl: "http://foo.com" }));
135
- expect(spy.callCount).to.eql(1);
136
- });
137
- });
138
- });
139
- describe("#setupStates", function () {
140
- describe("when there are provider states on the pact", function () {
141
- describe("and there are handlers associated with those states", function () {
142
- it("executes the handler and returns a set of Promises", function () { return __awaiter(void 0, void 0, void 0, function () {
143
- var res;
144
- return __generator(this, function (_a) {
145
- switch (_a.label) {
146
- case 0:
147
- v = new verifier_1.Verifier(opts);
148
- return [4 /*yield*/, v["setupStates"]({
149
- states: [state],
150
- })];
151
- case 1:
152
- res = _a.sent();
153
- expect(res).lengthOf(1);
154
- expect(executed).to.be.true;
155
- return [2 /*return*/];
156
- }
157
- });
158
- }); });
159
- });
160
- describe("and there are no handlers associated with those states", function () {
161
- it("executes the handler and returns an empty Promise", function () { return __awaiter(void 0, void 0, void 0, function () {
162
- var spy, res;
163
- return __generator(this, function (_a) {
164
- switch (_a.label) {
165
- case 0:
166
- spy = sinon.spy(logger_1.default, "warn");
167
- delete opts.stateHandlers;
168
- v = new verifier_1.Verifier(opts);
169
- return [4 /*yield*/, v["setupStates"]({
170
- states: [state],
171
- })];
172
- case 1:
173
- res = _a.sent();
174
- expect(res).lengthOf(0);
175
- expect(spy.callCount).to.eql(1);
176
- expect(executed).to.be.false;
177
- return [2 /*return*/];
178
- }
179
- });
180
- }); });
181
- });
182
- });
183
- describe("when there are no provider states on the pact", function () {
184
- it("executes the handler and returns an empty Promise", function () { return __awaiter(void 0, void 0, void 0, function () {
185
- var res;
186
- return __generator(this, function (_a) {
187
- switch (_a.label) {
188
- case 0:
189
- v = new verifier_1.Verifier(opts);
190
- return [4 /*yield*/, v["setupStates"]({})];
191
- case 1:
192
- res = _a.sent();
193
- expect(res).lengthOf(0);
194
- return [2 /*return*/];
195
- }
196
- });
197
- }); });
198
- });
199
- });
200
- describe("#verifyProvider", function () {
201
- beforeEach(function () {
202
- v = new verifier_1.Verifier();
203
- sinon.stub(v, "startProxy").returns({
204
- close: function () {
205
- executed = true;
206
- },
207
- });
208
- sinon.stub(v, "waitForServerReady").returns(Promise.resolve());
209
- });
210
- describe("when no configuration has been given", function () {
211
- it("fails with an error", function () {
212
- return expect(v.verifyProvider()).to.eventually.be.rejectedWith(Error);
213
- });
214
- });
215
- describe("when the verifier has been configured", function () {
216
- context("and the verification runs successfully", function () {
217
- it("closes the server and returns the result", function () {
218
- sinon
219
- .stub(v, "runProviderVerification")
220
- .returns(Promise.resolve("done"));
221
- var res = v.verifyProvider(opts);
222
- return expect(res).to.eventually.be.fulfilled.then(function () {
223
- expect(executed).to.be.true;
224
- });
225
- });
226
- });
227
- context("and the verification fails", function () {
228
- it("closes the server and returns the result", function () {
229
- sinon
230
- .stub(v, "runProviderVerification")
231
- .returns(function () { return Promise.reject("error"); });
232
- var res = v.verifyProvider(opts);
233
- return expect(res).to.eventually.be.rejected.then(function () {
234
- expect(executed).to.be.true;
235
- });
236
- });
237
- });
238
- });
239
- });
240
- describe("#waitForServerReady", function () {
241
- beforeEach(function () {
242
- v = new verifier_1.Verifier();
243
- });
244
- context("when the server starts successfully", function () {
245
- it("returns a successful promise", function () {
246
- var res = v["waitForServerReady"](fakeServer("listening"));
247
- return expect(res).to.eventually.be.fulfilled;
248
- });
249
- });
250
- context("when the server fails to start", function () {
251
- it("returns an error", function () {
252
- var res = v["waitForServerReady"](fakeServer("error"));
253
- return expect(res).to.eventually.be.rejected;
254
- });
255
- });
256
- });
257
- describe("#createProxyStateHandler", function () {
258
- v = new verifier_1.Verifier();
259
- var res;
260
- var mockResponse = {
261
- sendStatus: function (status) {
262
- res = status;
263
- },
264
- status: function (status) {
265
- res = status;
266
- return {
267
- send: function () { },
268
- };
269
- },
270
- };
271
- context("when valid state handlers are provided", function () {
272
- it("returns a 200", function () {
273
- sinon.stub(v, "setupStates").returns(Promise.resolve());
274
- var h = v["createProxyStateHandler"]();
275
- return expect(h({}, mockResponse)).to.eventually.be.fulfilled.then(function () {
276
- expect(res).to.eql(200);
277
- });
278
- });
279
- });
280
- context("when there is a problem with a state handler", function () {
281
- it("returns a 500", function () {
282
- sinon
283
- .stub(v, "setupStates")
284
- .returns(Promise.reject("state error"));
285
- var h = v["createProxyStateHandler"]();
286
- return expect(h({}, mockResponse)).to.eventually.be.fulfilled.then(function () {
287
- expect(res).to.eql(500);
288
- });
289
- });
290
- });
291
- });
292
- describe("#startProxy", function () {
293
- v = new verifier_1.Verifier();
294
- it("starts a given http.Server", function () {
295
- v["startProxy"](express());
296
- });
297
- });
298
- });
299
- //# sourceMappingURL=verifier.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"verifier.spec.js","sourceRoot":"","sources":["../../src/dsl/verifier.spec.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"configurationError.js","sourceRoot":"","sources":["../../src/errors/configurationError.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA;IAAgD,sCAAK;IAArD;;IAAuD,CAAC;IAAD,yBAAC;AAAD,CAAC,AAAxD,CAAgD,KAAK,GAAG"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"graphQLQueryError.js","sourceRoot":"","sources":["../../src/errors/graphQLQueryError.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA;IAA+C,qCAAK;IAApD;;IAAsD,CAAC;IAAD,wBAAC;AAAD,CAAC,AAAvD,CAA+C,KAAK,GAAG"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"matcherError.js","sourceRoot":"","sources":["../../src/errors/matcherError.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA;IAA0C,gCAAK;IAA/C;;IAAiD,CAAC;IAAD,mBAAC;AAAD,CAAC,AAAlD,CAA0C,KAAK,GAAG"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"verificationError.js","sourceRoot":"","sources":["../../src/errors/verificationError.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA;IAA+C,qCAAK;IAApD;;IAAsD,CAAC;IAAD,wBAAC;AAAD,CAAC,AAAvD,CAA+C,KAAK,GAAG"}
package/httpPact.js DELETED
@@ -1,206 +0,0 @@
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
- Object.defineProperty(exports, "__esModule", { value: true });
14
- var pact_node_1 = require("@pact-foundation/pact-node");
15
- var path = require("path");
16
- var clc = require("cli-color");
17
- var process = require("process");
18
- var interaction_1 = require("./dsl/interaction");
19
- var lodash_1 = require("lodash");
20
- var net_1 = require("./common/net");
21
- var logger_1 = require("./common/logger");
22
- var mockService_1 = require("./dsl/mockService");
23
- var verificationError_1 = require("./errors/verificationError");
24
- var configurationError_1 = require("./errors/configurationError");
25
- /**
26
- * Creates a new {@link PactProvider}.
27
- * @memberof Pact
28
- * @name create
29
- * @param {PactOptions} opts
30
- * @return {@link PactProvider}
31
- */
32
- var Pact = /** @class */ (function () {
33
- function Pact(config) {
34
- this.opts = Pact.createOptionsWithDefaults(config);
35
- if (lodash_1.isEmpty(this.opts.consumer)) {
36
- throw new configurationError_1.default("You must specify a Consumer for this pact.");
37
- }
38
- if (lodash_1.isEmpty(this.opts.provider)) {
39
- throw new configurationError_1.default("You must specify a Provider for this pact.");
40
- }
41
- logger_1.default.level(this.opts.logLevel);
42
- pact_node_1.default.logLevel(this.opts.logLevel);
43
- this.createServer(config);
44
- }
45
- Pact.createOptionsWithDefaults = function (opts) {
46
- return __assign(__assign({}, Pact.defaults), opts);
47
- };
48
- /**
49
- * Setup the pact framework, including start the
50
- * underlying mock server
51
- * @returns {Promise}
52
- */
53
- Pact.prototype.setup = function () {
54
- var _this = this;
55
- return this.checkPort()
56
- .then(function () { return _this.startServer(); })
57
- .then(function (opts) {
58
- _this.setupMockService();
59
- return Promise.resolve(opts);
60
- });
61
- };
62
- /**
63
- * Add an interaction to the {@link MockService}.
64
- * @memberof PactProvider
65
- * @instance
66
- * @param {Interaction} interactionObj
67
- * @returns {Promise}
68
- */
69
- Pact.prototype.addInteraction = function (interactionObj) {
70
- if (interactionObj instanceof interaction_1.Interaction) {
71
- return this.mockService.addInteraction(interactionObj);
72
- }
73
- var interaction = new interaction_1.Interaction();
74
- if (interactionObj.state) {
75
- interaction.given(interactionObj.state);
76
- }
77
- interaction
78
- .uponReceiving(interactionObj.uponReceiving)
79
- .withRequest(interactionObj.withRequest)
80
- .willRespondWith(interactionObj.willRespondWith);
81
- return this.mockService.addInteraction(interaction);
82
- };
83
- /**
84
- * Checks with the Mock Service if the expected interactions have been exercised.
85
- * @memberof PactProvider
86
- * @instance
87
- * @returns {Promise}
88
- */
89
- Pact.prototype.verify = function () {
90
- var _this = this;
91
- return this.mockService
92
- .verify()
93
- .then(function () { return _this.mockService.removeInteractions(); })
94
- .catch(function (e) {
95
- // Properly format the error
96
- /* tslint:disable: no-console */
97
- console.error("");
98
- console.error(clc.red("Pact verification failed!"));
99
- console.error(clc.red(e));
100
- /* tslint:enable: */
101
- return _this.mockService.removeInteractions().then(function () {
102
- throw new verificationError_1.default("Pact verification failed - expected interactions did not match actual.");
103
- });
104
- });
105
- };
106
- /**
107
- * Writes the Pact and clears any interactions left behind and shutdown the
108
- * mock server
109
- * @memberof PactProvider
110
- * @instance
111
- * @returns {Promise}
112
- */
113
- Pact.prototype.finalize = function () {
114
- var _this = this;
115
- if (this.finalized) {
116
- logger_1.default.warn("finalize() has already been called, this is probably a logic error in your test setup. " +
117
- "In the future this will be an error.");
118
- }
119
- this.finalized = true;
120
- return this.mockService
121
- .writePact()
122
- .then(function () { return logger_1.default.info("Pact File Written"); }, function (e) {
123
- return Promise.reject(e);
124
- })
125
- .then(function () {
126
- return new Promise(function (resolve, reject) {
127
- return _this.server.delete().then(function () { return resolve(); }, function (e) { return reject(e); });
128
- });
129
- })
130
- .catch(function (e) {
131
- return new Promise(function (resolve, reject) {
132
- return _this.server.delete().finally(function () { return reject(e); });
133
- });
134
- });
135
- };
136
- /**
137
- * Writes the pact file out to file. Should be called when all tests have been performed for a
138
- * given Consumer <-> Provider pair. It will write out the Pact to the
139
- * configured file.
140
- * @memberof PactProvider
141
- * @instance
142
- * @returns {Promise}
143
- */
144
- Pact.prototype.writePact = function () {
145
- return this.mockService.writePact();
146
- };
147
- /**
148
- * Clear up any interactions in the Provider Mock Server.
149
- * @memberof PactProvider
150
- * @instance
151
- * @returns {Promise}
152
- */
153
- Pact.prototype.removeInteractions = function () {
154
- return this.mockService.removeInteractions();
155
- };
156
- Pact.prototype.checkPort = function () {
157
- if (this.server && this.server.options.port) {
158
- return net_1.isPortAvailable(this.server.options.port, this.opts.host);
159
- }
160
- return Promise.resolve();
161
- };
162
- Pact.prototype.setupMockService = function () {
163
- logger_1.default.info("Setting up Pact with Consumer \"" + this.opts.consumer + "\" and Provider \"" + this.opts.provider + "\"\n using mock service on Port: \"" + this.opts.port + "\"");
164
- this.mockService = new mockService_1.MockService(undefined, undefined, this.opts.port, this.opts.host, this.opts.ssl, this.opts.pactfileWriteMode);
165
- };
166
- Pact.prototype.startServer = function () {
167
- var _this = this;
168
- return new Promise(function (resolve, reject) {
169
- return _this.server.start().then(function () {
170
- _this.opts.port = _this.server.options.port || _this.opts.port;
171
- resolve(_this.opts);
172
- }, function (e) { return reject(e); });
173
- });
174
- };
175
- Pact.prototype.createServer = function (config) {
176
- this.server = pact_node_1.default.createServer({
177
- consumer: this.opts.consumer,
178
- cors: this.opts.cors,
179
- dir: this.opts.dir,
180
- host: this.opts.host,
181
- log: this.opts.log,
182
- pactFileWriteMode: this.opts.pactfileWriteMode,
183
- port: config.port,
184
- provider: this.opts.provider,
185
- spec: this.opts.spec,
186
- ssl: this.opts.ssl,
187
- sslcert: this.opts.sslcert,
188
- sslkey: this.opts.sslkey,
189
- });
190
- };
191
- Pact.defaults = {
192
- consumer: "",
193
- cors: false,
194
- dir: path.resolve(process.cwd(), "pacts"),
195
- host: "127.0.0.1",
196
- log: path.resolve(process.cwd(), "logs", "pact.log"),
197
- logLevel: "info",
198
- pactfileWriteMode: "overwrite",
199
- provider: "",
200
- spec: 2,
201
- ssl: false,
202
- };
203
- return Pact;
204
- }());
205
- exports.Pact = Pact;
206
- //# sourceMappingURL=httpPact.js.map
package/httpPact.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"httpPact.js","sourceRoot":"","sources":["../src/httpPact.ts"],"names":[],"mappings":"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"}