@pact-foundation/pact 10.0.0-beta.9 → 10.1.0-beta.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 (285) hide show
  1. package/CHANGELOG.md +2444 -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 +180 -1274
  6. package/RELEASING.md +63 -59
  7. package/package.json +95 -97
  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 +240 -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,161 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- /* tslint:disable:no-unused-expression no-empty */
4
- var chai = require("chai");
5
- var chaiAsPromised = require("chai-as-promised");
6
- var messageConsumerPact_1 = require("./messageConsumerPact");
7
- var sinonChai = require("sinon-chai");
8
- chai.use(sinonChai);
9
- chai.use(chaiAsPromised);
10
- var expect = chai.expect;
11
- describe("MessageConsumer", function () {
12
- var consumer;
13
- beforeEach(function () {
14
- consumer = new messageConsumerPact_1.MessageConsumerPact({
15
- consumer: "myconsumer",
16
- provider: "myprovider",
17
- });
18
- });
19
- var testMessage = {
20
- contents: {
21
- foo: "bar",
22
- },
23
- };
24
- describe("#constructor", function () {
25
- it("creates a Consumer when all mandatory parameters are provided", function () {
26
- expect(consumer).to.be.a("object");
27
- expect(consumer).to.respondTo("verify");
28
- });
29
- });
30
- describe("#dsl", function () {
31
- describe("when a valid Message has been constructed", function () {
32
- it("the state should be valid", function () {
33
- consumer
34
- .given("some state")
35
- .expectsToReceive("A message about something")
36
- .withContent({ foo: "bar" })
37
- .withMetadata({ baz: "bat" });
38
- return expect(consumer.validate()).to.eventually.be.fulfilled;
39
- });
40
- });
41
- describe("when a valid state has been given", function () {
42
- it("the state should be save id in v3 format", function () {
43
- consumer
44
- .given("some state")
45
- .expectsToReceive("A message about something")
46
- .withContent({ foo: "bar" })
47
- .withMetadata({ baz: "bat" });
48
- expect(consumer.json().providerStates).to.be.a("array");
49
- expect(consumer.json().providerStates).to.deep.eq([
50
- { name: "some state" },
51
- ]);
52
- });
53
- });
54
- describe("when a valid Message has not been constructed", function () {
55
- it("the state should not be valid", function () {
56
- consumer
57
- .given("some state")
58
- .expectsToReceive("A message about something")
59
- .withMetadata({ baz: "bat" });
60
- return expect(consumer.validate()).to.eventually.be.rejected;
61
- });
62
- });
63
- describe("when an empty description has been given", function () {
64
- it("it should throw an error", function () {
65
- expect(function () {
66
- consumer.expectsToReceive("");
67
- }).to.throw(Error);
68
- });
69
- });
70
- describe("when an empty content object has been given", function () {
71
- it("it should throw an error", function () {
72
- expect(function () {
73
- consumer.withContent({});
74
- }).to.throw(Error);
75
- });
76
- });
77
- describe("when an empty metadata object has been given", function () {
78
- it("it should throw an error", function () {
79
- expect(function () {
80
- consumer.withMetadata({});
81
- }).to.throw(Error);
82
- });
83
- });
84
- });
85
- describe("#verify", function () {
86
- describe("when given a valid handler and message", function () {
87
- it("verifies the consumer message", function () {
88
- var stubbedConsumer = new messageConsumerPact_1.MessageConsumerPact({
89
- consumer: "myconsumer",
90
- provider: "myprovider",
91
- });
92
- var stub = stubbedConsumer;
93
- // Stub out service factory
94
- stub.getServiceFactory = function () {
95
- return {
96
- createMessage: function (opts) { return Promise.resolve("message created"); },
97
- };
98
- };
99
- stubbedConsumer
100
- .given("some state")
101
- .expectsToReceive("A message about something")
102
- .withContent({ foo: "bar" })
103
- .withMetadata({ baz: "bat" });
104
- return expect(stubbedConsumer.verify(function (m) { return Promise.resolve("yay!"); })).to.eventually.be.fulfilled;
105
- });
106
- });
107
- });
108
- describe("#json", function () {
109
- it("returns a valid Message object", function () {
110
- consumer.withContent({ foo: "bar" });
111
- var m = consumer.json();
112
- expect(m.contents).to.deep.eq({ foo: "bar" });
113
- });
114
- });
115
- describe("#getServiceFactory", function () {
116
- it("returns a valid pact-node object", function () {
117
- var serviceFactory = consumer.getServiceFactory();
118
- expect(serviceFactory).to.be.a("object");
119
- expect(serviceFactory).to.respondTo("createMessage");
120
- });
121
- });
122
- describe("handler transformers", function () {
123
- describe("#asynchronousbodyHandler", function () {
124
- describe("when given a function that succeeds", function () {
125
- it("returns a Handler object that returns a completed promise", function () {
126
- var failFn = function (obj) { return Promise.resolve("yay!"); };
127
- var hFn = messageConsumerPact_1.asynchronousBodyHandler(failFn);
128
- return expect(hFn(testMessage)).to.eventually.be.fulfilled;
129
- });
130
- });
131
- describe("when given a function that throws an Exception", function () {
132
- it("returns a Handler object that returns a rejected promise", function () {
133
- var failFn = function (obj) { return Promise.reject("fail"); };
134
- var hFn = messageConsumerPact_1.asynchronousBodyHandler(failFn);
135
- return expect(hFn(testMessage)).to.eventually.be.rejected;
136
- });
137
- });
138
- });
139
- describe("#synchronousbodyHandler", function () {
140
- describe("when given a function that succeeds", function () {
141
- it("returns a Handler object that returns a completed promise", function () {
142
- var failFn = function (obj) {
143
- /* do nothing! */
144
- };
145
- var hFn = messageConsumerPact_1.synchronousBodyHandler(failFn);
146
- return expect(hFn(testMessage)).to.eventually.be.fulfilled;
147
- });
148
- });
149
- describe("when given a function that throws an Exception", function () {
150
- it("returns a Handler object that returns a rejected promise", function () {
151
- var failFn = function (obj) {
152
- throw new Error("fail");
153
- };
154
- var hFn = messageConsumerPact_1.synchronousBodyHandler(failFn);
155
- return expect(hFn(testMessage)).to.eventually.be.rejected;
156
- });
157
- });
158
- });
159
- });
160
- });
161
- //# sourceMappingURL=messageConsumerPact.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"messageConsumerPact.spec.js","sourceRoot":"","sources":["../src/messageConsumerPact.spec.ts"],"names":[],"mappings":"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"}
@@ -1,139 +0,0 @@
1
- "use strict";
2
- /**
3
- * @module Message
4
- */
5
- var __assign = (this && this.__assign) || function () {
6
- __assign = Object.assign || function(t) {
7
- for (var s, i = 1, n = arguments.length; i < n; i++) {
8
- s = arguments[i];
9
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
10
- t[p] = s[p];
11
- }
12
- return t;
13
- };
14
- return __assign.apply(this, arguments);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- var lodash_1 = require("lodash");
18
- var logger_1 = require("./common/logger");
19
- var pact_node_1 = require("@pact-foundation/pact-node");
20
- var express = require("express");
21
- var http = require("http");
22
- var utils_1 = require("./common/utils");
23
- var bodyParser = require("body-parser");
24
- /**
25
- * A Message Provider is analagous to Consumer in the HTTP Interaction model.
26
- *
27
- * It is the initiator of an interaction, and expects something on the other end
28
- * of the interaction to respond - just in this case, not immediately.
29
- */
30
- var MessageProviderPact = /** @class */ (function () {
31
- function MessageProviderPact(config) {
32
- this.config = config;
33
- if (config.logLevel && !lodash_1.isEmpty(config.logLevel)) {
34
- pact_node_1.default.logLevel(config.logLevel);
35
- logger_1.default.level(config.logLevel);
36
- }
37
- else {
38
- logger_1.default.level();
39
- }
40
- }
41
- /**
42
- * Verify a Message Provider.
43
- */
44
- MessageProviderPact.prototype.verify = function () {
45
- logger_1.default.info("Verifying message");
46
- // Start the verification CLI proxy server
47
- var app = this.setupProxyApplication();
48
- var server = this.setupProxyServer(app);
49
- // Run the verification once the proxy server is available
50
- return this.waitForServerReady(server)
51
- .then(this.runProviderVerification())
52
- .then(function (result) {
53
- server.close();
54
- return result;
55
- }, function (err) {
56
- server.close();
57
- throw err;
58
- });
59
- };
60
- // Listens for the server start event
61
- // Converts event Emitter to a Promise
62
- MessageProviderPact.prototype.waitForServerReady = function (server) {
63
- return new Promise(function (resolve, reject) {
64
- server.on("listening", function () { return resolve(server); });
65
- server.on("error", function () { return reject(); });
66
- });
67
- };
68
- // Run the Verification CLI process
69
- MessageProviderPact.prototype.runProviderVerification = function () {
70
- var _this = this;
71
- return function (server) {
72
- var opts = __assign(__assign({}, lodash_1.omit(_this.config, "handlers")), { providerBaseUrl: "http://localhost:" + server.address().port });
73
- return utils_1.qToPromise(pact_node_1.default.verifyPacts(opts));
74
- };
75
- };
76
- // Get the API handler for the verification CLI process to invoke on POST /*
77
- MessageProviderPact.prototype.setupVerificationHandler = function () {
78
- var _this = this;
79
- return function (req, res) {
80
- var message = req.body;
81
- // Invoke the handler, and return the JSON response body
82
- // wrapped in a Message
83
- _this.setupStates(message)
84
- .then(function () { return _this.findHandler(message); })
85
- .then(function (handler) { return handler(message); })
86
- .then(function (o) { return res.json({ contents: o }); })
87
- .catch(function (e) { return res.status(500).send(e); });
88
- };
89
- };
90
- // Get the Proxy we'll pass to the CLI for verification
91
- MessageProviderPact.prototype.setupProxyServer = function (app) {
92
- return http.createServer(app).listen();
93
- };
94
- // Get the Express app that will run on the HTTP Proxy
95
- MessageProviderPact.prototype.setupProxyApplication = function () {
96
- var app = express();
97
- app.use(bodyParser.json());
98
- app.use(bodyParser.urlencoded({ extended: true }));
99
- app.use(function (req, res, next) {
100
- res.header("Content-Type", "application/json; charset=utf-8");
101
- next();
102
- });
103
- // Proxy server will respond to Verifier process
104
- app.all("/*", this.setupVerificationHandler());
105
- return app;
106
- };
107
- // Lookup the handler based on the description, or get the default handler
108
- MessageProviderPact.prototype.setupStates = function (message) {
109
- var _this = this;
110
- var promises = new Array();
111
- if (message.providerStates) {
112
- message.providerStates.forEach(function (state) {
113
- var handler = _this.config.stateHandlers
114
- ? _this.config.stateHandlers[state.name]
115
- : null;
116
- if (handler) {
117
- promises.push(handler(state.name));
118
- }
119
- else {
120
- logger_1.default.warn("no state handler found for \"" + state.name + "\", ignoring");
121
- }
122
- });
123
- }
124
- return Promise.all(promises);
125
- };
126
- // Lookup the handler based on the description, or get the default handler
127
- MessageProviderPact.prototype.findHandler = function (message) {
128
- var handler = this.config.messageProviders[message.description || ""];
129
- if (!handler) {
130
- logger_1.default.warn("no handler found for message " + message.description);
131
- return Promise.reject("No handler found for message \"" + message.description + "\"." +
132
- " Check your \"handlers\" configuration");
133
- }
134
- return Promise.resolve(handler);
135
- };
136
- return MessageProviderPact;
137
- }());
138
- exports.MessageProviderPact = MessageProviderPact;
139
- //# sourceMappingURL=messageProviderPact.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"messageProviderPact.js","sourceRoot":"","sources":["../src/messageProviderPact.ts"],"names":[],"mappings":"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"}
@@ -1,143 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- /* tslint:disable:no-unused-expression no-empty */
4
- var chai = require("chai");
5
- var chaiAsPromised = require("chai-as-promised");
6
- var messageProviderPact_1 = require("./messageProviderPact");
7
- var sinonChai = require("sinon-chai");
8
- var express = require("express");
9
- var http = require("http");
10
- chai.use(sinonChai);
11
- chai.use(chaiAsPromised);
12
- var expect = chai.expect;
13
- describe("MesageProvider", function () {
14
- var provider;
15
- var successfulRequest = "successfulRequest";
16
- var unsuccessfulRequest = "unsuccessfulRequest";
17
- var successfulMessage = {
18
- contents: { foo: "bar" },
19
- description: successfulRequest,
20
- providerStates: [{ name: "some state" }],
21
- };
22
- var unsuccessfulMessage = {
23
- contents: { foo: "bar" },
24
- description: unsuccessfulRequest,
25
- providerStates: [{ name: "some state not found" }],
26
- };
27
- var nonExistentMessage = {
28
- contents: { foo: "bar" },
29
- description: "does not exist",
30
- providerStates: [{ name: "some state not found" }],
31
- };
32
- beforeEach(function () {
33
- provider = new messageProviderPact_1.MessageProviderPact({
34
- logLevel: "error",
35
- messageProviders: {
36
- successfulRequest: function () { return Promise.resolve("yay"); },
37
- unsuccessfulRequest: function () { return Promise.reject("nay"); },
38
- },
39
- provider: "myprovider",
40
- stateHandlers: {
41
- "some state": function () { return Promise.resolve("yay"); },
42
- },
43
- });
44
- });
45
- describe("#constructor", function () {
46
- it("creates a Provider when all mandatory parameters are provided", function () {
47
- expect(provider).to.be.a("object");
48
- expect(provider).to.respondTo("verify");
49
- });
50
- it("creates a Provider with default log level if not specified", function () {
51
- provider = new messageProviderPact_1.MessageProviderPact({
52
- messageProviders: {},
53
- provider: "myprovider",
54
- });
55
- expect(provider).to.be.a("object");
56
- expect(provider).to.respondTo("verify");
57
- });
58
- });
59
- describe("#setupVerificationHandler", function () {
60
- describe("when their is a valid setup", function () {
61
- it("creates a valid express handler", function (done) {
62
- var setupVerificationHandler = provider.setupVerificationHandler.bind(provider)();
63
- var req = { body: successfulMessage };
64
- var res = {
65
- json: function () { return done(); },
66
- };
67
- setupVerificationHandler(req, res);
68
- });
69
- });
70
- describe("when their is an invalid setup", function () {
71
- it("creates a valid express handler that rejects the message", function (done) {
72
- var setupVerificationHandler = provider.setupVerificationHandler.bind(provider)();
73
- var req = { body: nonExistentMessage };
74
- var res = {
75
- status: function (status) {
76
- expect(status).to.eq(500);
77
- return {
78
- send: function () { return done(); },
79
- };
80
- },
81
- };
82
- setupVerificationHandler(req, res);
83
- });
84
- });
85
- });
86
- describe("#findHandler", function () {
87
- describe("when given a handler that exists", function () {
88
- it("returns a Handler object", function () {
89
- var findHandler = provider.findHandler.bind(provider);
90
- return expect(findHandler(successfulMessage)).to.eventually.be.a("function");
91
- });
92
- });
93
- describe("when given a handler that does not exist", function () {
94
- it("returns a failed promise", function () {
95
- var findHandler = provider.findHandler.bind(provider);
96
- return expect(findHandler("doesnotexist")).to.eventually.be.rejected;
97
- });
98
- });
99
- });
100
- describe("#setupStates", function () {
101
- describe("when given a handler that exists", function () {
102
- it("returns values of all resolved handlers", function () {
103
- var findStateHandler = provider.setupStates.bind(provider);
104
- return expect(findStateHandler(successfulMessage)).to.eventually.deep.equal(["yay"]);
105
- });
106
- });
107
- describe("when given a state that does not have a handler", function () {
108
- it("returns an empty promise", function () {
109
- provider = new messageProviderPact_1.MessageProviderPact({
110
- messageProviders: {},
111
- provider: "myprovider",
112
- });
113
- var findStateHandler = provider.setupStates.bind(provider);
114
- return expect(findStateHandler(unsuccessfulMessage)).to.eventually.deep.equal([]);
115
- });
116
- });
117
- });
118
- describe("#waitForServerReady", function () {
119
- describe("when the http server starts up", function () {
120
- it("returns a resolved promise", function () {
121
- var waitForServerReady = provider.waitForServerReady;
122
- var server = http.createServer(function () { }).listen();
123
- return expect(waitForServerReady(server)).to.eventually.be.fulfilled;
124
- });
125
- });
126
- });
127
- describe("#setupProxyServer", function () {
128
- describe("when the http server starts up", function () {
129
- it("returns a resolved promise", function () {
130
- var setupProxyServer = provider.setupProxyServer;
131
- var app = express();
132
- expect(setupProxyServer(app)).to.be.an.instanceOf(http.Server);
133
- });
134
- });
135
- });
136
- describe("#setupProxyApplication", function () {
137
- it("returns a valid express app", function () {
138
- var setupProxyApplication = provider.setupProxyApplication.bind(provider);
139
- expect(setupProxyApplication().listen).to.be.a("function");
140
- });
141
- });
142
- });
143
- //# sourceMappingURL=messageProviderPact.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"messageProviderPact.spec.js","sourceRoot":"","sources":["../src/messageProviderPact.spec.ts"],"names":[],"mappings":"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"}
package/pact-web.d.ts DELETED
@@ -1,100 +0,0 @@
1
- import { Interaction, InteractionObject } from "./dsl/interaction";
2
- import { MockService, PactfileWriteMode } from "./dsl/mockService";
3
- import { PactOptions, LogLevel, MandatoryPactOptions } from "./dsl/options";
4
- export interface PactWebOptions {
5
- port?: number;
6
- host?: string;
7
- ssl?: boolean;
8
- sslcert?: string;
9
- sslkey?: string;
10
- dir?: string;
11
- log?: string;
12
- logLevel?: LogLevel;
13
- spec?: number;
14
- cors?: boolean;
15
- pactfileWriteMode?: PactfileWriteMode;
16
- }
17
- export declare type PactWebOptionsComplete = PactOptions & MandatoryPactOptions;
18
- /**
19
- * Creates a new {@link PactWeb}.
20
- * @memberof Pact
21
- * @name create
22
- * @param {PactOptions} opts
23
- * @return {@link PactWeb}
24
- * @static
25
- */
26
- export declare class PactWeb {
27
- mockService: MockService;
28
- server: any;
29
- opts: PactWebOptionsComplete;
30
- constructor(config?: PactWebOptions);
31
- /**
32
- * Add an interaction to the {@link MockService}.
33
- * @memberof PactProvider
34
- * @instance
35
- * @param {Interaction} interactionObj
36
- * @returns {Promise}
37
- */
38
- addInteraction(interactionObj: InteractionObject | Interaction): Promise<string>;
39
- /**
40
- * Checks with the Mock Service if the expected interactions have been exercised.
41
- * @memberof PactProvider
42
- * @instance
43
- * @returns {Promise}
44
- */
45
- verify(): Promise<string>;
46
- /**
47
- * Writes the Pact and clears any interactions left behind.
48
- * @memberof PactProvider
49
- * @instance
50
- * @returns {Promise}
51
- */
52
- finalize(): Promise<string>;
53
- /**
54
- * Writes the Pact file but leave interactions in.
55
- * @memberof PactProvider
56
- * @instance
57
- * @returns {Promise}
58
- */
59
- writePact(): Promise<string>;
60
- /**
61
- * Clear up any interactions in the Provider Mock Server.
62
- * @memberof PactProvider
63
- * @instance
64
- * @returns {Promise}
65
- */
66
- removeInteractions(): Promise<string>;
67
- }
68
- /**
69
- * Exposes {@link Matchers}
70
- * To avoid polluting the root module's namespace, re-export
71
- * Matchers as its owns module
72
- * @memberof Pact
73
- * @static
74
- */
75
- import * as Matchers from "./dsl/matchers";
76
- export import Matchers = Matchers;
77
- /**
78
- * Exposes {@link Interaction}
79
- * @memberof Pact
80
- * @static
81
- */
82
- export * from "./dsl/interaction";
83
- /**
84
- * Exposes {@link MockService}
85
- * @memberof Pact
86
- * @static
87
- */
88
- export * from "./dsl/mockService";
89
- /**
90
- * Exposes {@link GraphQL}
91
- * @memberof Pact
92
- * @static
93
- */
94
- export * from "./dsl/graphql";
95
- /**
96
- * Exposes {@link ApolloGraphQL}
97
- * @memberof Pact
98
- * @static
99
- */
100
- export * from "./dsl/apolloGraphql";