@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,74 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- /**
4
- * Mock Service is the HTTP interface to setup the Pact Mock Service.
5
- * See https://github.com/bethesque/pact-mock_service and
6
- * https://gist.github.com/bethesque/9d81f21d6f77650811f4.
7
- * @module MockService
8
- */
9
- var request_1 = require("../common/request");
10
- var MockService = /** @class */ (function () {
11
- /**
12
- * @param {string} consumer - the consumer name
13
- * @param {string} provider - the provider name
14
- * @param {number} port - the mock service port, defaults to 1234
15
- * @param {string} host - the mock service host, defaults to 127.0.0.1
16
- * @param {boolean} ssl - which protocol to use, defaults to false (HTTP)
17
- * @param {string} pactfileWriteMode - 'overwrite' | 'update' | 'merge', defaults to 'overwrite'
18
- */
19
- function MockService(
20
- // Deprecated as at https://github.com/pact-foundation/pact-js/issues/105
21
- consumer, provider,
22
- // Valid
23
- port, host, ssl, pactfileWriteMode) {
24
- if (port === void 0) { port = 1234; }
25
- if (host === void 0) { host = "127.0.0.1"; }
26
- if (ssl === void 0) { ssl = false; }
27
- if (pactfileWriteMode === void 0) { pactfileWriteMode = "overwrite"; }
28
- this.consumer = consumer;
29
- this.provider = provider;
30
- this.port = port;
31
- this.host = host;
32
- this.ssl = ssl;
33
- this.pactfileWriteMode = pactfileWriteMode;
34
- this.request = new request_1.Request();
35
- this.baseUrl = (this.ssl ? "https" : "http") + "://" + this.host + ":" + this.port;
36
- this.pactDetails = {
37
- consumer: this.consumer ? { name: this.consumer } : undefined,
38
- pactfile_write_mode: this.pactfileWriteMode,
39
- provider: this.provider ? { name: this.provider } : undefined,
40
- };
41
- }
42
- /**
43
- * Adds an interaction
44
- * @param {Interaction} interaction
45
- * @returns {Promise}
46
- */
47
- MockService.prototype.addInteraction = function (interaction) {
48
- return this.request.send(request_1.HTTPMethod.POST, this.baseUrl + "/interactions", JSON.stringify(interaction.json()));
49
- };
50
- /**
51
- * Removes all interactions.
52
- * @returns {Promise}
53
- */
54
- MockService.prototype.removeInteractions = function () {
55
- return this.request.send(request_1.HTTPMethod.DELETE, this.baseUrl + "/interactions");
56
- };
57
- /**
58
- * Verify all interactions.
59
- * @returns {Promise}
60
- */
61
- MockService.prototype.verify = function () {
62
- return this.request.send(request_1.HTTPMethod.GET, this.baseUrl + "/interactions/verification");
63
- };
64
- /**
65
- * Writes the Pact file.
66
- * @returns {Promise}
67
- */
68
- MockService.prototype.writePact = function () {
69
- return this.request.send(request_1.HTTPMethod.POST, this.baseUrl + "/pact", JSON.stringify(this.pactDetails));
70
- };
71
- return MockService;
72
- }());
73
- exports.MockService = MockService;
74
- //# sourceMappingURL=mockService.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mockService.js","sourceRoot":"","sources":["../../src/dsl/mockService.ts"],"names":[],"mappings":";;AAAA;;;;;GAKG;AACH,6CAAuD;AA0BvD;IAKE;;;;;;;OAOG;IACH;IACE,yEAAyE;IACjE,QAAiB,EACjB,QAAiB;IACzB,QAAQ;IACA,IAAW,EACX,IAAkB,EAClB,GAAW,EACX,iBAAkD;QAHlD,qBAAA,EAAA,WAAW;QACX,qBAAA,EAAA,kBAAkB;QAClB,oBAAA,EAAA,WAAW;QACX,kCAAA,EAAA,+BAAkD;QANlD,aAAQ,GAAR,QAAQ,CAAS;QACjB,aAAQ,GAAR,QAAQ,CAAS;QAEjB,SAAI,GAAJ,IAAI,CAAO;QACX,SAAI,GAAJ,IAAI,CAAc;QAClB,QAAG,GAAH,GAAG,CAAQ;QACX,sBAAiB,GAAjB,iBAAiB,CAAiC;QAE1D,IAAI,CAAC,OAAO,GAAG,IAAI,iBAAO,EAAE,CAAA;QAC5B,IAAI,CAAC,OAAO,GAAG,CAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,YAAM,IAAI,CAAC,IAAI,SAAI,IAAI,CAAC,IAAM,CAAA;QAC3E,IAAI,CAAC,WAAW,GAAG;YACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS;YAC7D,mBAAmB,EAAE,IAAI,CAAC,iBAAiB;YAC3C,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS;SAC9D,CAAA;IACH,CAAC;IAED;;;;OAIG;IACI,oCAAc,GAArB,UAAsB,WAAwB;QAC5C,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CACtB,oBAAU,CAAC,IAAI,EACZ,IAAI,CAAC,OAAO,kBAAe,EAC9B,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CACnC,CAAA;IACH,CAAC;IAED;;;OAGG;IACI,wCAAkB,GAAzB;QACE,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,oBAAU,CAAC,MAAM,EAAK,IAAI,CAAC,OAAO,kBAAe,CAAC,CAAA;IAC7E,CAAC;IAED;;;OAGG;IACI,4BAAM,GAAb;QACE,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CACtB,oBAAU,CAAC,GAAG,EACX,IAAI,CAAC,OAAO,+BAA4B,CAC5C,CAAA;IACH,CAAC;IAED;;;OAGG;IACI,+BAAS,GAAhB;QACE,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CACtB,oBAAU,CAAC,IAAI,EACZ,IAAI,CAAC,OAAO,UAAO,EACtB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CACjC,CAAA;IACH,CAAC;IACH,kBAAC;AAAD,CAAC,AA3ED,IA2EC;AA3EY,kCAAW"}
@@ -1,126 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- /* tslint:disable:no-unused-expression */
4
- var chai = require("chai");
5
- var chaiAsPromised = require("chai-as-promised");
6
- var nock = require("nock");
7
- var request_1 = require("../common/request");
8
- var interaction_1 = require("./interaction");
9
- var mockService_1 = require("./mockService");
10
- chai.use(chaiAsPromised);
11
- var expect = chai.expect;
12
- describe("MockService", function () {
13
- after(function () {
14
- nock.restore();
15
- });
16
- describe("#constructor", function () {
17
- it("creates a MockService when all mandatory parameters are provided", function () {
18
- var mock = new mockService_1.MockService("consumer", "provider", 1234);
19
- expect(mock.baseUrl).to.eql("http://127.0.0.1:1234");
20
- });
21
- it("creates a MockService when all mandatory parameters are provided", function () {
22
- var mock = new mockService_1.MockService("consumer", "provider", 4443, "127.0.0.2", true);
23
- expect(mock.baseUrl).to.eql("https://127.0.0.2:4443");
24
- });
25
- it("creates a MockService when port is not provided", function () {
26
- var mock = new mockService_1.MockService("consumer", "provider");
27
- expect(mock).to.not.be.undefined;
28
- expect(mock.baseUrl).to.eql("http://127.0.0.1:1234");
29
- });
30
- it("does not create a MockService when consumer is not provided", function () {
31
- expect(function () {
32
- new mockService_1.MockService("", "provider");
33
- }).not.to.throw(Error);
34
- });
35
- it("does not create a MockService when provider is not provided", function () {
36
- expect(function () {
37
- new mockService_1.MockService("consumer", "");
38
- }).not.to.throw(Error);
39
- });
40
- });
41
- describe("#addInteraction", function () {
42
- var mock = new mockService_1.MockService("consumer", "provider", 1234);
43
- var interaction = new interaction_1.Interaction();
44
- interaction
45
- .uponReceiving("duh")
46
- .withRequest({ method: request_1.HTTPMethod.GET, path: "/search" })
47
- .willRespondWith({ status: 200 });
48
- it("when Interaction added successfully", function () {
49
- nock(mock.baseUrl)
50
- .post(/interactions$/)
51
- .reply(200);
52
- return expect(mock.addInteraction(interaction)).to.eventually;
53
- });
54
- it("when Interaction fails to be added", function () {
55
- nock(mock.baseUrl)
56
- .post(/interactions$/)
57
- .reply(500);
58
- return expect(mock.addInteraction(interaction)).to.eventually.be.rejected;
59
- });
60
- });
61
- describe("#removeInteractions", function () {
62
- var mock = new mockService_1.MockService("consumer", "provider", 1234);
63
- it("when interactions are removed successfully", function () {
64
- nock(mock.baseUrl)
65
- .delete(/interactions$/)
66
- .reply(200);
67
- return expect(mock.removeInteractions()).to.eventually.be.fulfilled;
68
- });
69
- it("when interactions fail to be removed", function () {
70
- nock(mock.baseUrl)
71
- .delete(/interactions$/)
72
- .reply(500);
73
- return expect(mock.removeInteractions()).to.eventually.be.rejected;
74
- });
75
- });
76
- describe("#verify", function () {
77
- var mock = new mockService_1.MockService("consumer", "provider", 1234);
78
- it("when verification is successful", function () {
79
- nock(mock.baseUrl)
80
- .get(/interactions\/verification$/)
81
- .reply(200);
82
- return expect(mock.verify()).to.eventually.be.fulfilled;
83
- });
84
- it("when verification fails", function () {
85
- nock(mock.baseUrl)
86
- .get(/interactions\/verification$/)
87
- .reply(500);
88
- return expect(mock.verify()).to.eventually.be.rejected;
89
- });
90
- });
91
- describe("#writePact", function () {
92
- describe("when consumer and provider details provided", function () {
93
- var mock = new mockService_1.MockService("aconsumer", "aprovider", 1234);
94
- describe("and writing is successful", function () {
95
- it("writes the consumer and provider details into the pact", function () {
96
- nock(mock.baseUrl)
97
- .post(/pact$/, {
98
- consumer: { name: "aconsumer" },
99
- pactfile_write_mode: "overwrite",
100
- provider: { name: "aprovider" },
101
- })
102
- .reply(200);
103
- return expect(mock.writePact()).to.eventually.be.fulfilled;
104
- });
105
- });
106
- describe("and writing fails", function () {
107
- it("returns a rejected promise", function () {
108
- nock(mock.baseUrl)
109
- .post(/pact$/, {})
110
- .reply(500);
111
- return expect(mock.writePact()).to.eventually.be.rejected;
112
- });
113
- });
114
- });
115
- describe("when consumer and provider details are not provided", function () {
116
- var mock = new mockService_1.MockService(undefined, undefined, 1234);
117
- it("does not write the consumer and provider details into the pact", function () {
118
- nock(mock.baseUrl)
119
- .post(/pact$/)
120
- .reply(200);
121
- return expect(mock.writePact()).to.eventually.be.fulfilled;
122
- });
123
- });
124
- });
125
- });
126
- //# sourceMappingURL=mockService.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mockService.spec.js","sourceRoot":"","sources":["../../src/dsl/mockService.spec.ts"],"names":[],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- import { PublisherOptions } from "@pact-foundation/pact-node";
2
- export declare class Publisher {
3
- private opts;
4
- constructor(opts: PublisherOptions);
5
- publishPacts(): Promise<string[]>;
6
- }
package/dsl/publisher.js DELETED
@@ -1,19 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- /**
4
- * Pact Publisher service
5
- * @module Publisher
6
- */
7
- var utils_1 = require("../common/utils");
8
- var pact_node_1 = require("@pact-foundation/pact-node");
9
- var Publisher = /** @class */ (function () {
10
- function Publisher(opts) {
11
- this.opts = opts;
12
- }
13
- Publisher.prototype.publishPacts = function () {
14
- return utils_1.qToPromise(pact_node_1.default.publishPacts(this.opts));
15
- };
16
- return Publisher;
17
- }());
18
- exports.Publisher = Publisher;
19
- //# sourceMappingURL=publisher.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"publisher.js","sourceRoot":"","sources":["../../src/dsl/publisher.ts"],"names":[],"mappings":";;AAAA;;;GAGG;AACH,yCAA4C;AAC5C,wDAAwE;AAExE;IACE,mBAAoB,IAAsB;QAAtB,SAAI,GAAJ,IAAI,CAAkB;IAAG,CAAC;IAEvC,gCAAY,GAAnB;QACE,OAAO,kBAAU,CAAW,mBAAS,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;IAChE,CAAC;IACH,gBAAC;AAAD,CAAC,AAND,IAMC;AANY,8BAAS"}
@@ -1,21 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- /* tslint:disable:no-unused-expression no-empty no-string-literal*/
4
- var chai = require("chai");
5
- var chaiAsPromised = require("chai-as-promised");
6
- var publisher_1 = require("./publisher");
7
- chai.use(chaiAsPromised);
8
- var expect = chai.expect;
9
- describe("Publisher", function () {
10
- describe("#constructor", function () {
11
- it("constructs a valid Pubisher class", function () {
12
- var p = new publisher_1.Publisher({
13
- consumerVersion: "1.0.0",
14
- pactBroker: "http://foo.com",
15
- pactFilesOrDirs: [],
16
- });
17
- expect(p).to.have.nested.property("opts.consumerVersion");
18
- });
19
- });
20
- });
21
- //# sourceMappingURL=publisher.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"publisher.spec.js","sourceRoot":"","sources":["../../src/dsl/publisher.spec.ts"],"names":[],"mappings":";;AAAA,mEAAmE;AACnE,2BAA4B;AAC5B,iDAAkD;AAElD,yCAAuC;AACvC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;AAExB,IAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;AAE1B,QAAQ,CAAC,WAAW,EAAE;IACpB,QAAQ,CAAC,cAAc,EAAE;QACvB,EAAE,CAAC,mCAAmC,EAAE;YACtC,IAAM,CAAC,GAAG,IAAI,qBAAS,CAAC;gBACtB,eAAe,EAAE,OAAO;gBACxB,UAAU,EAAE,gBAAgB;gBAC5B,eAAe,EAAE,EAAE;aACpB,CAAC,CAAA;YACF,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAA;QAC3D,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
package/dsl/verifier.d.ts DELETED
@@ -1,39 +0,0 @@
1
- import { VerifierOptions as PactNodeVerifierOptions } from "@pact-foundation/pact-node";
2
- import * as express from "express";
3
- import { LogLevel } from "./options";
4
- export interface ProviderState {
5
- states?: [string];
6
- }
7
- export interface StateHandler {
8
- [name: string]: () => Promise<any>;
9
- }
10
- interface ProxyOptions {
11
- logLevel?: LogLevel;
12
- requestFilter?: express.RequestHandler;
13
- stateHandlers?: StateHandler;
14
- validateSSL?: boolean;
15
- changeOrigin?: boolean;
16
- }
17
- export declare type VerifierOptions = ProxyOptions & PactNodeVerifierOptions;
18
- export declare class Verifier {
19
- private address;
20
- private stateSetupPath;
21
- private config;
22
- private deprecatedFields;
23
- constructor(config?: VerifierOptions);
24
- /**
25
- * Verify a HTTP Provider
26
- *
27
- * @param config
28
- */
29
- verifyProvider(config?: VerifierOptions): Promise<any>;
30
- private runProviderVerification;
31
- private waitForServerReady;
32
- private startProxy;
33
- private createProxy;
34
- private createProxyStateHandler;
35
- private setupStates;
36
- private setConfig;
37
- private isLocalVerification;
38
- }
39
- export {};
package/dsl/verifier.js DELETED
@@ -1,173 +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
- /**
15
- * Provider Verifier service
16
- * @module ProviderVerifier
17
- */
18
- var pact_node_1 = require("@pact-foundation/pact-node");
19
- var utils_1 = require("../common/utils");
20
- var pact_node_2 = require("@pact-foundation/pact-node");
21
- var lodash_1 = require("lodash");
22
- var express = require("express");
23
- var http = require("http");
24
- var logger_1 = require("../common/logger");
25
- var configurationError_1 = require("../errors/configurationError");
26
- var net_1 = require("../common/net");
27
- var url = require("url");
28
- var HttpProxy = require("http-proxy");
29
- var bodyParser = require("body-parser");
30
- var Verifier = /** @class */ (function () {
31
- function Verifier(config) {
32
- this.address = "http://localhost";
33
- this.stateSetupPath = "/_pactSetup";
34
- this.deprecatedFields = ["providerStatesSetupUrl"];
35
- if (config) {
36
- this.setConfig(config);
37
- }
38
- }
39
- /**
40
- * Verify a HTTP Provider
41
- *
42
- * @param config
43
- */
44
- Verifier.prototype.verifyProvider = function (config) {
45
- logger_1.default.info("Verifying provider");
46
- // Backwards compatibility
47
- if (config) {
48
- logger_1.default.warn("Passing options to verifyProvider() wil be deprecated in future versions, please provide to Verifier constructor instead");
49
- this.setConfig(config);
50
- }
51
- if (lodash_1.isEmpty(this.config)) {
52
- return Promise.reject(new configurationError_1.default("No configuration provided to verifier"));
53
- }
54
- // Start the verification CLI proxy server
55
- var app = this.createProxy();
56
- var server = this.startProxy(app);
57
- // Run the verification once the proxy server is available
58
- return this.waitForServerReady(server)
59
- .then(this.runProviderVerification())
60
- .then(function (result) {
61
- server.close();
62
- return result;
63
- })
64
- .catch(function (e) {
65
- server.close();
66
- throw e;
67
- });
68
- };
69
- // Run the Verification CLI process
70
- Verifier.prototype.runProviderVerification = function () {
71
- var _this = this;
72
- return function (server) {
73
- var opts = __assign(__assign({ providerStatesSetupUrl: _this.address + ":" + server.address().port + _this.stateSetupPath }, lodash_1.omit(_this.config, "handlers")), { providerBaseUrl: _this.address + ":" + server.address().port });
74
- return utils_1.qToPromise(pact_node_1.default.verifyPacts(opts));
75
- };
76
- };
77
- // Listens for the server start event
78
- // Converts event Emitter to a Promise
79
- Verifier.prototype.waitForServerReady = function (server) {
80
- return new Promise(function (resolve, reject) {
81
- server.on("listening", function () { return resolve(server); });
82
- server.on("error", function () {
83
- return reject(new Error("Unable to start verification proxy server"));
84
- });
85
- });
86
- };
87
- // Get the Proxy we'll pass to the CLI for verification
88
- Verifier.prototype.startProxy = function (app) {
89
- return http.createServer(app).listen();
90
- };
91
- // Get the Express app that will run on the HTTP Proxy
92
- Verifier.prototype.createProxy = function () {
93
- var _this = this;
94
- var app = express();
95
- var proxy = new HttpProxy();
96
- app.use(this.stateSetupPath, bodyParser.json());
97
- app.use(this.stateSetupPath, bodyParser.urlencoded({ extended: true }));
98
- // Allow for request filtering
99
- if (this.config.requestFilter !== undefined) {
100
- app.use(this.config.requestFilter);
101
- }
102
- // Setup provider state handler
103
- app.post(this.stateSetupPath, this.createProxyStateHandler());
104
- // Proxy server will respond to Verifier process
105
- app.all("/*", function (req, res) {
106
- logger_1.default.debug("Proxing", req.path);
107
- proxy.web(req, res, {
108
- changeOrigin: _this.config.changeOrigin === true,
109
- secure: _this.config.validateSSL === true,
110
- target: _this.config.providerBaseUrl,
111
- });
112
- });
113
- return app;
114
- };
115
- Verifier.prototype.createProxyStateHandler = function () {
116
- var _this = this;
117
- return function (req, res) {
118
- var message = req.body;
119
- return _this.setupStates(message)
120
- .then(function () { return res.sendStatus(200); })
121
- .catch(function (e) { return res.status(500).send(e); });
122
- };
123
- };
124
- // Lookup the handler based on the description, or get the default handler
125
- Verifier.prototype.setupStates = function (descriptor) {
126
- var _this = this;
127
- var promises = new Array();
128
- if (descriptor.states) {
129
- descriptor.states.forEach(function (state) {
130
- var handler = _this.config.stateHandlers
131
- ? _this.config.stateHandlers[state]
132
- : null;
133
- if (handler) {
134
- promises.push(handler());
135
- }
136
- else {
137
- logger_1.default.warn("No state handler found for \"" + state + "\", ignoring");
138
- }
139
- });
140
- }
141
- return Promise.all(promises);
142
- };
143
- Verifier.prototype.setConfig = function (config) {
144
- var _this = this;
145
- this.config = config;
146
- if (this.config.logLevel && !lodash_1.isEmpty(this.config.logLevel)) {
147
- pact_node_2.default.logLevel(this.config.logLevel);
148
- logger_1.default.level(this.config.logLevel);
149
- }
150
- this.deprecatedFields.forEach(function (f) {
151
- if (_this.config[f]) {
152
- logger_1.default.warn(f + " is deprecated, and will be removed in future versions");
153
- }
154
- });
155
- if (this.config.validateSSL === undefined) {
156
- this.config.validateSSL = true;
157
- }
158
- if (this.config.changeOrigin === undefined) {
159
- this.config.changeOrigin = false;
160
- if (!this.isLocalVerification()) {
161
- this.config.changeOrigin = true;
162
- logger_1.default.debug("non-local provider address " + this.config.providerBaseUrl + " detected, setting 'changeOrigin' to 'true'. This property can be overridden.");
163
- }
164
- }
165
- };
166
- Verifier.prototype.isLocalVerification = function () {
167
- var u = new url.URL(this.config.providerBaseUrl);
168
- return (net_1.localAddresses.includes(u.host) || net_1.localAddresses.includes(u.hostname));
169
- };
170
- return Verifier;
171
- }());
172
- exports.Verifier = Verifier;
173
- //# sourceMappingURL=verifier.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"verifier.js","sourceRoot":"","sources":["../../src/dsl/verifier.ts"],"names":[],"mappings":"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"}