@pact-foundation/pact 7.3.0 → 8.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 (97) hide show
  1. package/CHANGELOG.md +44 -0
  2. package/CONTRIBUTING.md +22 -9
  3. package/LICENSE +1 -2
  4. package/README.md +253 -157
  5. package/common/logger.js +10 -5
  6. package/common/logger.js.map +1 -1
  7. package/common/metadata.js.map +1 -1
  8. package/common/net.js +3 -2
  9. package/common/net.js.map +1 -1
  10. package/common/net.spec.d.ts +1 -0
  11. package/common/net.spec.js +47 -0
  12. package/common/net.spec.js.map +1 -0
  13. package/common/request.js +1 -2
  14. package/common/request.js.map +1 -1
  15. package/common/request.spec.d.ts +1 -0
  16. package/common/request.spec.js +71 -0
  17. package/common/request.spec.js.map +1 -0
  18. package/common/utils.js +1 -2
  19. package/common/utils.js.map +1 -1
  20. package/dsl/apolloGraphql.d.ts +1 -1
  21. package/dsl/apolloGraphql.js +6 -3
  22. package/dsl/apolloGraphql.js.map +1 -1
  23. package/dsl/apolloGraphql.spec.d.ts +1 -0
  24. package/dsl/apolloGraphql.spec.js +47 -0
  25. package/dsl/apolloGraphql.spec.js.map +1 -0
  26. package/dsl/graphql.js +19 -9
  27. package/dsl/graphql.js.map +1 -1
  28. package/dsl/graphql.spec.d.ts +1 -0
  29. package/dsl/graphql.spec.js +141 -0
  30. package/dsl/graphql.spec.js.map +1 -0
  31. package/dsl/interaction.js +9 -7
  32. package/dsl/interaction.js.map +1 -1
  33. package/dsl/interaction.spec.d.ts +1 -0
  34. package/dsl/interaction.spec.js +172 -0
  35. package/dsl/interaction.spec.js.map +1 -0
  36. package/dsl/matchers.d.ts +25 -25
  37. package/dsl/matchers.js +57 -55
  38. package/dsl/matchers.js.map +1 -1
  39. package/dsl/matchers.spec.d.ts +1 -0
  40. package/dsl/matchers.spec.js +537 -0
  41. package/dsl/matchers.spec.js.map +1 -0
  42. package/dsl/message.d.ts +29 -3
  43. package/dsl/mockService.d.ts +6 -0
  44. package/dsl/mockService.js +10 -4
  45. package/dsl/mockService.js.map +1 -1
  46. package/dsl/mockService.spec.d.ts +1 -0
  47. package/dsl/mockService.spec.js +126 -0
  48. package/dsl/mockService.spec.js.map +1 -0
  49. package/dsl/verifier.d.ts +48 -2
  50. package/dsl/verifier.js +142 -3
  51. package/dsl/verifier.js.map +1 -1
  52. package/dsl/verifier.spec.d.ts +1 -0
  53. package/dsl/verifier.spec.js +299 -0
  54. package/dsl/verifier.spec.js.map +1 -0
  55. package/errors/configurationError.d.ts +2 -0
  56. package/errors/configurationError.js +24 -0
  57. package/errors/configurationError.js.map +1 -0
  58. package/errors/graphQLQueryError.d.ts +2 -0
  59. package/errors/graphQLQueryError.js +24 -0
  60. package/errors/graphQLQueryError.js.map +1 -0
  61. package/errors/matcherError.d.ts +2 -0
  62. package/errors/matcherError.js +24 -0
  63. package/errors/matcherError.js.map +1 -0
  64. package/errors/verificationError.d.ts +2 -0
  65. package/errors/verificationError.js +24 -0
  66. package/errors/verificationError.js.map +1 -0
  67. package/httpPact.d.ts +69 -0
  68. package/httpPact.js +206 -0
  69. package/httpPact.js.map +1 -0
  70. package/httpPact.spec.d.ts +1 -0
  71. package/httpPact.spec.js +337 -0
  72. package/httpPact.spec.js.map +1 -0
  73. package/messageConsumerPact.d.ts +3 -3
  74. package/messageConsumerPact.js +5 -4
  75. package/messageConsumerPact.js.map +1 -1
  76. package/messageConsumerPact.spec.d.ts +1 -0
  77. package/messageConsumerPact.spec.js +161 -0
  78. package/messageConsumerPact.spec.js.map +1 -0
  79. package/messageProviderPact.d.ts +0 -1
  80. package/messageProviderPact.js +11 -11
  81. package/messageProviderPact.js.map +1 -1
  82. package/messageProviderPact.spec.d.ts +1 -0
  83. package/messageProviderPact.spec.js +146 -0
  84. package/messageProviderPact.spec.js.map +1 -0
  85. package/package.json +24 -26
  86. package/pact-web.d.ts +2 -2
  87. package/pact-web.js +20 -10
  88. package/pact-web.js.map +1 -1
  89. package/pact-web.spec.d.ts +1 -0
  90. package/pact-web.spec.js +205 -0
  91. package/pact-web.spec.js.map +1 -0
  92. package/pact.d.ts +28 -65
  93. package/pact.integration.spec.d.ts +0 -0
  94. package/pact.integration.spec.js +292 -0
  95. package/pact.integration.spec.js.map +1 -0
  96. package/pact.js +21 -189
  97. package/pact.js.map +1 -1
@@ -0,0 +1,537 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ /* tslint:disable:no-unused-expression no-empty object-literal-sort-keys */
4
+ var expect = require("chai").expect;
5
+ var matchers_1 = require("./matchers");
6
+ describe("Matcher", function () {
7
+ describe("#validateExample", function () {
8
+ describe("when given a valid regex", function () {
9
+ describe("and a matching example", function () {
10
+ it("returns true", function () {
11
+ expect(matchers_1.validateExample("2010-01-01", matchers_1.ISO8601_DATE_FORMAT)).to.eql(true);
12
+ });
13
+ });
14
+ describe("and a failing example", function () {
15
+ it("returns false", function () {
16
+ expect(matchers_1.validateExample("not a date", matchers_1.ISO8601_DATE_FORMAT)).to.eql(false);
17
+ });
18
+ });
19
+ });
20
+ describe("when given an invalid regex", function () {
21
+ it("returns an error", function () {
22
+ expect(function () {
23
+ matchers_1.validateExample("", "abc(");
24
+ }).to.throw(Error);
25
+ });
26
+ });
27
+ });
28
+ describe("#term", function () {
29
+ describe("when given a valid regular expression and example", function () {
30
+ it("returns a serialized Ruby object", function () {
31
+ var expected = {
32
+ data: {
33
+ generate: "myawesomeword",
34
+ matcher: {
35
+ json_class: "Regexp",
36
+ o: 0,
37
+ s: "\\w+",
38
+ },
39
+ },
40
+ json_class: "Pact::Term",
41
+ };
42
+ var match = matchers_1.term({
43
+ generate: "myawesomeword",
44
+ matcher: "\\w+",
45
+ });
46
+ expect(JSON.stringify(match)).to.deep.include(JSON.stringify(expected));
47
+ });
48
+ });
49
+ describe("when not provided with a valid expression", function () {
50
+ var createTheTerm = function (badArg) {
51
+ return function () {
52
+ matchers_1.term(badArg);
53
+ };
54
+ };
55
+ describe("when no term is provided", function () {
56
+ it("throws an Error", function () {
57
+ expect(createTheTerm.call({})).to.throw(Error);
58
+ });
59
+ });
60
+ describe("when an invalid term is provided", function () {
61
+ it("throws an Error", function () {
62
+ expect(createTheTerm({})).to.throw(Error);
63
+ expect(createTheTerm("")).to.throw(Error);
64
+ expect(createTheTerm({ generate: "foo" })).to.throw(Error);
65
+ expect(createTheTerm({ matcher: "\\w+" })).to.throw(Error);
66
+ });
67
+ });
68
+ });
69
+ describe("when given an example that doesn't match the regular expression", function () {
70
+ it("fails with an error", function () {
71
+ expect(function () {
72
+ matchers_1.term({
73
+ generate: "abc",
74
+ matcher: matchers_1.ISO8601_DATE_FORMAT,
75
+ });
76
+ }).to.throw(Error);
77
+ });
78
+ });
79
+ });
80
+ describe("#somethingLike", function () {
81
+ describe("when provided a value", function () {
82
+ it("returns a serialized Ruby object", function () {
83
+ var expected = {
84
+ contents: "myspecialvalue",
85
+ json_class: "Pact::SomethingLike",
86
+ };
87
+ var match = matchers_1.somethingLike("myspecialvalue");
88
+ expect(JSON.stringify(match)).to.deep.include(JSON.stringify(expected));
89
+ });
90
+ });
91
+ describe("when not provided with a valid value", function () {
92
+ var createTheValue = function (badArg) {
93
+ return function () {
94
+ matchers_1.somethingLike(badArg);
95
+ };
96
+ };
97
+ describe("when no value is provided", function () {
98
+ it("`throws an Error", function () {
99
+ expect(createTheValue.call({})).to.throw(Error);
100
+ });
101
+ });
102
+ describe("when an invalid value is provided", function () {
103
+ it("throws an Error", function () {
104
+ expect(createTheValue(undefined)).to.throw(Error);
105
+ expect(createTheValue(function () { })).to.throw(Error);
106
+ });
107
+ });
108
+ });
109
+ });
110
+ describe("#eachLike", function () {
111
+ describe("when content is null", function () {
112
+ it("provides null as contents", function () {
113
+ var expected = {
114
+ contents: null,
115
+ json_class: "Pact::ArrayLike",
116
+ min: 1,
117
+ };
118
+ var match = matchers_1.eachLike(null, { min: 1 });
119
+ expect(JSON.stringify(match)).to.deep.include(JSON.stringify(expected));
120
+ });
121
+ });
122
+ describe("when an object is provided", function () {
123
+ it("provides the object as contents", function () {
124
+ var expected = {
125
+ contents: { a: 1 },
126
+ json_class: "Pact::ArrayLike",
127
+ min: 1,
128
+ };
129
+ var match = matchers_1.eachLike({ a: 1 }, { min: 1 });
130
+ expect(JSON.stringify(match)).to.deep.include(JSON.stringify(expected));
131
+ });
132
+ });
133
+ describe("when object.min is invalid", function () {
134
+ it("throws an Error message", function () {
135
+ expect(function () {
136
+ matchers_1.eachLike({ a: 1 }, { min: 0 });
137
+ }).to.throw(Error);
138
+ });
139
+ });
140
+ describe("when an array is provided", function () {
141
+ it("provides the array as contents", function () {
142
+ var expected = {
143
+ contents: [1, 2, 3],
144
+ json_class: "Pact::ArrayLike",
145
+ min: 1,
146
+ };
147
+ var match = matchers_1.eachLike([1, 2, 3], { min: 1 });
148
+ expect(JSON.stringify(match)).to.deep.include(JSON.stringify(expected));
149
+ });
150
+ });
151
+ describe("when a value is provided", function () {
152
+ it("adds the value in contents", function () {
153
+ var expected = {
154
+ contents: "test",
155
+ json_class: "Pact::ArrayLike",
156
+ min: 1,
157
+ };
158
+ var match = matchers_1.eachLike("test", { min: 1 });
159
+ expect(JSON.stringify(match)).to.deep.include(JSON.stringify(expected));
160
+ });
161
+ });
162
+ describe("when the content has Pact.Macters", function () {
163
+ describe("of type somethingLike", function () {
164
+ it("nests somethingLike correctly", function () {
165
+ var expected = {
166
+ contents: {
167
+ id: {
168
+ contents: 10,
169
+ json_class: "Pact::SomethingLike",
170
+ },
171
+ },
172
+ json_class: "Pact::ArrayLike",
173
+ min: 1,
174
+ };
175
+ var match = matchers_1.eachLike({ id: matchers_1.somethingLike(10) }, { min: 1 });
176
+ expect(JSON.stringify(match)).to.deep.include(JSON.stringify(expected));
177
+ });
178
+ });
179
+ describe("of type term", function () {
180
+ it("nests term correctly", function () {
181
+ var expected = {
182
+ contents: {
183
+ colour: {
184
+ data: {
185
+ generate: "red",
186
+ matcher: {
187
+ json_class: "Regexp",
188
+ o: 0,
189
+ s: "red|green",
190
+ },
191
+ },
192
+ json_class: "Pact::Term",
193
+ },
194
+ },
195
+ json_class: "Pact::ArrayLike",
196
+ min: 1,
197
+ };
198
+ var match = matchers_1.eachLike({
199
+ colour: matchers_1.term({
200
+ generate: "red",
201
+ matcher: "red|green",
202
+ }),
203
+ }, { min: 1 });
204
+ expect(JSON.stringify(match)).to.deep.include(JSON.stringify(expected));
205
+ });
206
+ });
207
+ describe("of type eachLike", function () {
208
+ it("nests eachlike in contents", function () {
209
+ var expected = {
210
+ contents: {
211
+ contents: "blue",
212
+ json_class: "Pact::ArrayLike",
213
+ min: 1,
214
+ },
215
+ json_class: "Pact::ArrayLike",
216
+ min: 1,
217
+ };
218
+ var match = matchers_1.eachLike(matchers_1.eachLike("blue", { min: 1 }), { min: 1 });
219
+ expect(JSON.stringify(match)).to.deep.include(JSON.stringify(expected));
220
+ });
221
+ });
222
+ describe("complex object with multiple Pact.Matchers", function () {
223
+ it("nests objects correctly", function () {
224
+ var expected = {
225
+ contents: {
226
+ contents: {
227
+ colour: {
228
+ data: {
229
+ generate: "red",
230
+ matcher: {
231
+ json_class: "Regexp",
232
+ o: 0,
233
+ s: "red|green|blue",
234
+ },
235
+ },
236
+ json_class: "Pact::Term",
237
+ },
238
+ size: {
239
+ contents: 10,
240
+ json_class: "Pact::SomethingLike",
241
+ },
242
+ tag: {
243
+ contents: [
244
+ {
245
+ contents: "jumper",
246
+ json_class: "Pact::SomethingLike",
247
+ },
248
+ {
249
+ contents: "shirt",
250
+ json_class: "Pact::SomethingLike",
251
+ },
252
+ ],
253
+ json_class: "Pact::ArrayLike",
254
+ min: 2,
255
+ },
256
+ },
257
+ json_class: "Pact::ArrayLike",
258
+ min: 1,
259
+ },
260
+ json_class: "Pact::ArrayLike",
261
+ min: 1,
262
+ };
263
+ var match = matchers_1.eachLike(matchers_1.eachLike({
264
+ colour: matchers_1.term({ generate: "red", matcher: "red|green|blue" }),
265
+ size: matchers_1.somethingLike(10),
266
+ tag: matchers_1.eachLike([matchers_1.somethingLike("jumper"), matchers_1.somethingLike("shirt")], { min: 2 }),
267
+ }, { min: 1 }), { min: 1 });
268
+ expect(JSON.stringify(match)).to.deep.include(JSON.stringify(expected));
269
+ });
270
+ });
271
+ });
272
+ describe("When no options.min is not provided", function () {
273
+ it("defaults to a min of 1", function () {
274
+ var expected = {
275
+ contents: { a: 1 },
276
+ json_class: "Pact::ArrayLike",
277
+ min: 1,
278
+ };
279
+ var match = matchers_1.eachLike({ a: 1 });
280
+ expect(JSON.stringify(match)).to.deep.include(JSON.stringify(expected));
281
+ });
282
+ });
283
+ describe("When a options.min is provided", function () {
284
+ it("provides the object as contents", function () {
285
+ var expected = {
286
+ contents: { a: 1 },
287
+ json_class: "Pact::ArrayLike",
288
+ min: 3,
289
+ };
290
+ var match = matchers_1.eachLike({ a: 1 }, { min: 3 });
291
+ expect(JSON.stringify(match)).to.deep.include(JSON.stringify(expected));
292
+ });
293
+ });
294
+ });
295
+ describe("#uuid", function () {
296
+ describe("when given a valid UUID", function () {
297
+ it("creates a valid matcher", function () {
298
+ expect(matchers_1.uuid("ce118b6e-d8e1-11e7-9296-cec278b6b50a")).to.be.an("object");
299
+ expect(matchers_1.uuid()).to.be.an("object");
300
+ });
301
+ });
302
+ describe("when given an invalid UUID", function () {
303
+ it("returns an error", function () {
304
+ expect(function () {
305
+ matchers_1.uuid("abc");
306
+ }).to.throw(Error);
307
+ });
308
+ });
309
+ });
310
+ describe("#ipv4Address", function () {
311
+ describe("when given a valid ipv4Address", function () {
312
+ it("creates a valid matcher", function () {
313
+ expect(matchers_1.ipv4Address("127.0.0.1")).to.be.an("object");
314
+ expect(matchers_1.ipv4Address()).to.be.an("object");
315
+ });
316
+ });
317
+ describe("when given an invalid ipv4Address", function () {
318
+ it("returns an error", function () {
319
+ expect(function () {
320
+ matchers_1.ipv4Address("abc");
321
+ }).to.throw(Error);
322
+ });
323
+ });
324
+ });
325
+ describe("#ipv6Address", function () {
326
+ describe("when given a valid ipv6Address", function () {
327
+ it("creates a valid matcher", function () {
328
+ expect(matchers_1.ipv6Address("::1")).to.be.an("object");
329
+ expect(matchers_1.ipv6Address("2001:0db8:85a3:0000:0000:8a2e:0370:7334")).to.be.an("object");
330
+ expect(matchers_1.ipv6Address()).to.be.an("object");
331
+ });
332
+ });
333
+ describe("when given an invalid ipv6Address", function () {
334
+ it("returns an error", function () {
335
+ expect(function () {
336
+ matchers_1.ipv6Address("abc");
337
+ }).to.throw(Error);
338
+ });
339
+ });
340
+ });
341
+ describe("#hexadecimal", function () {
342
+ describe("when given a valid hexadecimal", function () {
343
+ it("creates a valid matcher", function () {
344
+ expect(matchers_1.hexadecimal("6F")).to.be.an("object");
345
+ expect(matchers_1.hexadecimal()).to.be.an("object");
346
+ });
347
+ });
348
+ describe("when given an invalid hexadecimal", function () {
349
+ it("returns an error", function () {
350
+ expect(function () {
351
+ matchers_1.hexadecimal("x1");
352
+ }).to.throw(Error);
353
+ });
354
+ });
355
+ });
356
+ describe("#boolean", function () {
357
+ describe("when used it should create a JSON object", function () {
358
+ it("creates a valid matcher", function () {
359
+ expect(matchers_1.boolean()).to.be.an("object");
360
+ expect(matchers_1.boolean().contents).to.equal(true);
361
+ });
362
+ it("sets value=false", function () {
363
+ expect(matchers_1.boolean(false)).to.be.an("object");
364
+ expect(matchers_1.boolean(false).contents).to.equal(false);
365
+ });
366
+ it("sets value=true", function () {
367
+ expect(matchers_1.boolean(true)).to.be.an("object");
368
+ expect(matchers_1.boolean(true).contents).to.equal(true);
369
+ });
370
+ });
371
+ });
372
+ describe("#decimal", function () {
373
+ describe("when given a valid decimal", function () {
374
+ it("creates a valid matcher", function () {
375
+ expect(matchers_1.decimal(10.1)).to.be.an("object");
376
+ expect(matchers_1.decimal()).to.be.an("object");
377
+ expect(matchers_1.decimal(0.0).contents).to.equal(0.0);
378
+ });
379
+ });
380
+ });
381
+ describe("#integer", function () {
382
+ describe("when given a valid integer", function () {
383
+ it("creates a valid matcher", function () {
384
+ expect(matchers_1.integer(10)).to.be.an("object");
385
+ expect(matchers_1.integer()).to.be.an("object");
386
+ expect(matchers_1.integer(0).contents).to.equal(0);
387
+ });
388
+ });
389
+ });
390
+ describe("Date Matchers", function () {
391
+ describe("#rfc3339Timestamp", function () {
392
+ describe("when given a valid rfc3339Timestamp", function () {
393
+ it("creates a valid matcher", function () {
394
+ expect(matchers_1.rfc3339Timestamp("Mon, 31 Oct 2016 15:21:41 -0400")).to.be.an("object");
395
+ expect(matchers_1.rfc3339Timestamp()).to.be.an("object");
396
+ });
397
+ });
398
+ describe("when given an invalid rfc3339Timestamp", function () {
399
+ it("returns an error", function () {
400
+ expect(function () {
401
+ matchers_1.rfc3339Timestamp("abc");
402
+ }).to.throw(Error);
403
+ });
404
+ });
405
+ });
406
+ describe("#iso8601Time", function () {
407
+ describe("when given a valid iso8601Time", function () {
408
+ it("creates a valid matcher", function () {
409
+ expect(matchers_1.iso8601Time("T22:44:30.652Z")).to.be.an("object");
410
+ expect(matchers_1.iso8601Time()).to.be.an("object");
411
+ });
412
+ });
413
+ describe("when given an invalid iso8601Time", function () {
414
+ it("returns an error", function () {
415
+ expect(function () {
416
+ matchers_1.iso8601Time("abc");
417
+ }).to.throw(Error);
418
+ });
419
+ });
420
+ });
421
+ describe("#iso8601Date", function () {
422
+ describe("when given a valid iso8601Date", function () {
423
+ it("creates a valid matcher", function () {
424
+ expect(matchers_1.iso8601Date("2017-12-05")).to.be.an("object");
425
+ expect(matchers_1.iso8601Date()).to.be.an("object");
426
+ });
427
+ });
428
+ describe("when given an invalid iso8601Date", function () {
429
+ it("returns an error", function () {
430
+ expect(function () {
431
+ matchers_1.iso8601Date("abc");
432
+ }).to.throw(Error);
433
+ });
434
+ });
435
+ });
436
+ describe("#iso8601DateTime", function () {
437
+ describe("when given a valid iso8601DateTime", function () {
438
+ it("creates a valid matcher", function () {
439
+ expect(matchers_1.iso8601DateTime("2015-08-06T16:53:10+01:00")).to.be.an("object");
440
+ expect(matchers_1.iso8601DateTime()).to.be.an("object");
441
+ });
442
+ });
443
+ describe("when given an invalid iso8601DateTime", function () {
444
+ it("returns an error", function () {
445
+ expect(function () {
446
+ matchers_1.iso8601DateTime("abc");
447
+ }).to.throw(Error);
448
+ });
449
+ });
450
+ });
451
+ describe("#iso8601DateTimeWithMillis", function () {
452
+ describe("when given a valid iso8601DateTimeWithMillis", function () {
453
+ it("creates a valid matcher", function () {
454
+ expect(matchers_1.iso8601DateTimeWithMillis("2015-08-06T16:53:10.123+01:00")).to.be.an("object");
455
+ expect(matchers_1.iso8601DateTimeWithMillis("2015-08-06T16:53:10.537357Z")).to.be.an("object");
456
+ expect(matchers_1.iso8601DateTimeWithMillis()).to.be.an("object");
457
+ });
458
+ });
459
+ describe("when given an invalid iso8601DateTimeWithMillis", function () {
460
+ it("returns an error", function () {
461
+ expect(function () {
462
+ matchers_1.iso8601DateTimeWithMillis("abc");
463
+ }).to.throw(Error);
464
+ });
465
+ });
466
+ });
467
+ describe("#extractPayload", function () {
468
+ describe("when given a simple matcher", function () {
469
+ it("removes all matching guff", function () {
470
+ var expected = "myawesomeword";
471
+ var matcher = matchers_1.term({
472
+ generate: "myawesomeword",
473
+ matcher: "\\w+",
474
+ });
475
+ expect(matchers_1.isMatcher(matcher)).to.eq(true);
476
+ expect(matchers_1.extractPayload(matcher)).to.eql(expected);
477
+ });
478
+ });
479
+ describe("when given a complex nested object with matchers", function () {
480
+ it("removes all matching guff", function () {
481
+ var o = matchers_1.somethingLike({
482
+ stringMatcher: {
483
+ awesomeSetting: matchers_1.somethingLike("a string"),
484
+ },
485
+ anotherStringMatcher: {
486
+ nestedSetting: {
487
+ anotherStringMatcherSubSetting: matchers_1.somethingLike(true),
488
+ },
489
+ anotherSetting: matchers_1.term({ generate: "this", matcher: "this|that" }),
490
+ },
491
+ arrayMatcher: {
492
+ lotsOfValues: matchers_1.eachLike("useful", { min: 3 }),
493
+ },
494
+ arrayOfMatchers: {
495
+ lotsOfValues: matchers_1.eachLike({
496
+ foo: "bar",
497
+ baz: matchers_1.somethingLike("bat"),
498
+ }, { min: 3 }),
499
+ },
500
+ });
501
+ var expected = {
502
+ stringMatcher: {
503
+ awesomeSetting: "a string",
504
+ },
505
+ anotherStringMatcher: {
506
+ nestedSetting: {
507
+ anotherStringMatcherSubSetting: true,
508
+ },
509
+ anotherSetting: "this",
510
+ },
511
+ arrayMatcher: {
512
+ lotsOfValues: ["useful", "useful", "useful"],
513
+ },
514
+ arrayOfMatchers: {
515
+ lotsOfValues: [
516
+ {
517
+ baz: "bat",
518
+ foo: "bar",
519
+ },
520
+ {
521
+ baz: "bat",
522
+ foo: "bar",
523
+ },
524
+ {
525
+ baz: "bat",
526
+ foo: "bar",
527
+ },
528
+ ],
529
+ },
530
+ };
531
+ expect(matchers_1.extractPayload(o)).to.deep.eql(expected);
532
+ });
533
+ });
534
+ });
535
+ });
536
+ });
537
+ //# sourceMappingURL=matchers.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"matchers.spec.js","sourceRoot":"","sources":["../../src/dsl/matchers.spec.ts"],"names":[],"mappings":"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"}
package/dsl/message.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { MatcherResult } from "./matchers";
2
2
  /**
3
3
  * Metadata is a map containing message context,
4
- * such as content-type etc.
4
+ * such as content-type, correlation IDs etc.
5
5
  *
6
6
  * @module Message
7
7
  */
@@ -10,7 +10,6 @@ export interface Metadata {
10
10
  }
11
11
  /**
12
12
  * A Message is an asynchronous Interaction, sent via a Provider
13
- * (consumer in the http, synchronous interaction parlance)
14
13
  *
15
14
  * @module Message
16
15
  */
@@ -22,8 +21,35 @@ export interface Message {
22
21
  metadata?: Metadata;
23
22
  contents: any;
24
23
  }
24
+ /**
25
+ * A Message Descriptor is a set of additional context for a given message
26
+ *
27
+ * @module Message
28
+ */
29
+ export interface MessageDescriptor {
30
+ providerStates?: [{
31
+ name: string;
32
+ }];
33
+ description: string;
34
+ metadata?: Metadata;
35
+ }
36
+ /**
37
+ * A Message Consumer is a function that will receive a message
38
+ * from a given Message Provider. It is given the full Message
39
+ * context during verification.
40
+ *
41
+ * @module Message
42
+ */
25
43
  export declare type MessageConsumer = (m: Message) => Promise<any>;
26
- export declare type MessageProvider = (m: Message) => Promise<any>;
44
+ /**
45
+ * A Message Provider is a function that will be invoked by the framework
46
+ * in order to _produce_ a message for a consumer. The response must match what
47
+ * the given consumer has specified in the pact file. It is given a Message
48
+ * Descriptor object when being invoked which can be used for additional context.
49
+ *
50
+ * @module Message
51
+ */
52
+ export declare type MessageProvider = (m: MessageDescriptor) => Promise<any>;
27
53
  export interface MessageProviders {
28
54
  [name: string]: MessageProvider;
29
55
  }
@@ -1,3 +1,9 @@
1
+ /**
2
+ * Mock Service is the HTTP interface to setup the Pact Mock Service.
3
+ * See https://github.com/bethesque/pact-mock_service and
4
+ * https://gist.github.com/bethesque/9d81f21d6f77650811f4.
5
+ * @module MockService
6
+ */
1
7
  import { Request } from "../common/request";
2
8
  import { Interaction } from "./interaction";
3
9
  export declare type PactfileWriteMode = "overwrite" | "update" | "merge";
@@ -1,5 +1,11 @@
1
1
  "use strict";
2
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
+ */
3
9
  var request_1 = require("../common/request");
4
10
  var MockService = /** @class */ (function () {
5
11
  /**
@@ -26,11 +32,11 @@ var MockService = /** @class */ (function () {
26
32
  this.ssl = ssl;
27
33
  this.pactfileWriteMode = pactfileWriteMode;
28
34
  this.request = new request_1.Request();
29
- this.baseUrl = (ssl ? "https" : "http") + "://" + host + ":" + port;
35
+ this.baseUrl = (this.ssl ? "https" : "http") + "://" + this.host + ":" + this.port;
30
36
  this.pactDetails = {
31
- consumer: (consumer) ? { name: consumer } : undefined,
32
- pactfile_write_mode: pactfileWriteMode,
33
- provider: (provider) ? { name: provider } : undefined,
37
+ consumer: this.consumer ? { name: this.consumer } : undefined,
38
+ pactfile_write_mode: this.pactfileWriteMode,
39
+ provider: this.provider ? { name: this.provider } : undefined,
34
40
  };
35
41
  }
36
42
  /**