@pact-foundation/pact 10.0.0-beta.60 → 10.0.0-beta.61

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 (91) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/MIGRATION.md +24 -1
  3. package/README.md +174 -1374
  4. package/package.json +24 -36
  5. package/src/common/net.d.ts +1 -0
  6. package/src/common/net.js +11 -1
  7. package/src/common/net.js.map +1 -1
  8. package/src/common/request.js +1 -0
  9. package/src/common/request.js.map +1 -1
  10. package/src/common/spec.d.ts +2 -0
  11. package/src/common/spec.js +22 -0
  12. package/src/common/spec.js.map +1 -0
  13. package/src/dsl/apolloGraphql.spec.js +24 -0
  14. package/src/dsl/apolloGraphql.spec.js.map +1 -1
  15. package/src/dsl/graphql.d.ts +2 -2
  16. package/src/dsl/graphql.js +1 -0
  17. package/src/dsl/graphql.js.map +1 -1
  18. package/src/dsl/graphql.spec.js +77 -2
  19. package/src/dsl/graphql.spec.js.map +1 -1
  20. package/src/dsl/interaction.d.ts +13 -7
  21. package/src/dsl/interaction.js +30 -1
  22. package/src/dsl/interaction.js.map +1 -1
  23. package/src/dsl/interaction.spec.js +21 -31
  24. package/src/dsl/interaction.spec.js.map +1 -1
  25. package/src/dsl/matchers.d.ts +27 -32
  26. package/src/dsl/matchers.js +24 -23
  27. package/src/dsl/matchers.js.map +1 -1
  28. package/src/dsl/matchers.spec.js +101 -96
  29. package/src/dsl/matchers.spec.js.map +1 -1
  30. package/src/dsl/message.d.ts +19 -13
  31. package/src/dsl/mockService.d.ts +1 -46
  32. package/src/dsl/mockService.js +0 -72
  33. package/src/dsl/mockService.js.map +1 -1
  34. package/src/dsl/verifier/verifier.spec.js +1 -1
  35. package/src/dsl/verifier/verifier.spec.js.map +1 -1
  36. package/src/httpPact/ffi.d.ts +15 -0
  37. package/src/httpPact/ffi.js +91 -0
  38. package/src/httpPact/ffi.js.map +1 -0
  39. package/src/{dsl/mockService.spec.d.ts → httpPact/ffi.spec.d.ts} +0 -0
  40. package/src/httpPact/ffi.spec.js +81 -0
  41. package/src/httpPact/ffi.spec.js.map +1 -0
  42. package/src/httpPact/index.d.ts +10 -10
  43. package/src/httpPact/index.js +141 -80
  44. package/src/httpPact/index.js.map +1 -1
  45. package/src/httpPact/index.spec.js +117 -220
  46. package/src/httpPact/index.spec.js.map +1 -1
  47. package/src/httpPact/tracing.js +4 -4
  48. package/src/httpPact/tracing.js.map +1 -1
  49. package/src/index.d.ts +1 -7
  50. package/src/index.js +3 -8
  51. package/src/index.js.map +1 -1
  52. package/src/messageConsumerPact.d.ts +34 -17
  53. package/src/messageConsumerPact.js +85 -66
  54. package/src/messageConsumerPact.js.map +1 -1
  55. package/src/messageConsumerPact.spec.js +0 -46
  56. package/src/messageConsumerPact.spec.js.map +1 -1
  57. package/src/messageProviderPact.js +1 -1
  58. package/src/messageProviderPact.js.map +1 -1
  59. package/src/messageProviderPact.spec.js +17 -2
  60. package/src/messageProviderPact.spec.js.map +1 -1
  61. package/src/v3/display.d.ts +6 -0
  62. package/src/v3/display.js +83 -0
  63. package/src/v3/display.js.map +1 -0
  64. package/src/v3/index.d.ts +1 -6
  65. package/src/v3/index.js +1 -6
  66. package/src/v3/index.js.map +1 -1
  67. package/src/v3/matchers.d.ts +1 -0
  68. package/src/v3/matchers.js +7 -1
  69. package/src/v3/matchers.js.map +1 -1
  70. package/src/v3/pact.d.ts +4 -70
  71. package/src/v3/pact.js +68 -133
  72. package/src/v3/pact.js.map +1 -1
  73. package/src/v3/types.d.ts +81 -0
  74. package/src/v3/types.js +11 -0
  75. package/src/v3/types.js.map +1 -0
  76. package/src/v3/xml/xmlElement.spec.js +31 -48
  77. package/src/v3/xml/xmlElement.spec.js.map +1 -1
  78. package/src/dsl/mockService.spec.js +0 -124
  79. package/src/dsl/mockService.spec.js.map +0 -1
  80. package/src/dsl/publisher.d.ts +0 -10
  81. package/src/dsl/publisher.js +0 -22
  82. package/src/dsl/publisher.js.map +0 -1
  83. package/src/dsl/publisher.spec.d.ts +0 -1
  84. package/src/dsl/publisher.spec.js +0 -47
  85. package/src/dsl/publisher.spec.js.map +0 -1
  86. package/src/v3/verifier.d.ts +0 -12
  87. package/src/v3/verifier.js +0 -23
  88. package/src/v3/verifier.js.map +0 -1
  89. package/v3/index.d.ts +0 -1
  90. package/v3/index.js +0 -20
  91. package/v3/index.js.map +0 -1
@@ -16,7 +16,7 @@ describe('Matcher', function () {
16
16
  bar: 'some other string',
17
17
  },
18
18
  };
19
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
19
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars,no-unused-vars
20
20
  var a = (0, matchers_1.like)(template);
21
21
  });
22
22
  });
@@ -31,12 +31,12 @@ describe('Matcher', function () {
31
31
  bar: 'some other string',
32
32
  },
33
33
  };
34
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
34
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars,no-unused-vars
35
35
  var a = (0, matchers_1.like)(template);
36
36
  });
37
37
  });
38
38
  it('compiles nested likes', function () {
39
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
39
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars,no-unused-vars
40
40
  var a = (0, matchers_1.like)({
41
41
  someArray: ['one', 'two'],
42
42
  someNumber: (0, matchers_1.like)(1),
@@ -73,15 +73,9 @@ describe('Matcher', function () {
73
73
  describe('when given a valid regular expression and example', function () {
74
74
  it('returns a serialized Ruby object', function () {
75
75
  var expected = {
76
- data: {
77
- generate: 'myawesomeword',
78
- matcher: {
79
- json_class: 'Regexp',
80
- o: 0,
81
- s: '\\w+',
82
- },
83
- },
84
- json_class: 'Pact::Term',
76
+ value: 'myawesomeword',
77
+ regex: '\\w+',
78
+ 'pact:matcher:type': 'regex',
85
79
  };
86
80
  var match = (0, matchers_1.term)({
87
81
  generate: 'myawesomeword',
@@ -103,7 +97,7 @@ describe('Matcher', function () {
103
97
  it('throws an Error', function () {
104
98
  (0, chai_1.expect)(createTheTerm({})).to.throw(Error);
105
99
  (0, chai_1.expect)(createTheTerm('')).to.throw(Error);
106
- (0, chai_1.expect)(createTheTerm({ generate: 'foo' })).to.throw(Error);
100
+ (0, chai_1.expect)(createTheTerm({ value: 'foo' })).to.throw(Error);
107
101
  (0, chai_1.expect)(createTheTerm({ matcher: '\\w+' })).to.throw(Error);
108
102
  });
109
103
  });
@@ -123,8 +117,8 @@ describe('Matcher', function () {
123
117
  describe('when provided a value', function () {
124
118
  it('returns a serialized Ruby object', function () {
125
119
  var expected = {
126
- contents: 'myspecialvalue',
127
- json_class: 'Pact::SomethingLike',
120
+ value: 'myspecialvalue',
121
+ 'pact:matcher:type': 'type',
128
122
  };
129
123
  var match = (0, matchers_1.somethingLike)('myspecialvalue');
130
124
  (0, chai_1.expect)(JSON.stringify(match)).to.deep.include(JSON.stringify(expected));
@@ -151,8 +145,8 @@ describe('Matcher', function () {
151
145
  describe('when content is null', function () {
152
146
  it('provides null as contents', function () {
153
147
  var expected = {
154
- contents: null,
155
- json_class: 'Pact::ArrayLike',
148
+ value: [null],
149
+ 'pact:matcher:type': 'type',
156
150
  min: 1,
157
151
  };
158
152
  var match = (0, matchers_1.eachLike)(null, { min: 1 });
@@ -162,8 +156,8 @@ describe('Matcher', function () {
162
156
  describe('when an object is provided', function () {
163
157
  it('provides the object as contents', function () {
164
158
  var expected = {
165
- contents: { a: 1 },
166
- json_class: 'Pact::ArrayLike',
159
+ value: [{ a: 1 }],
160
+ 'pact:matcher:type': 'type',
167
161
  min: 1,
168
162
  };
169
163
  var match = (0, matchers_1.eachLike)({ a: 1 }, { min: 1 });
@@ -180,8 +174,8 @@ describe('Matcher', function () {
180
174
  describe('when an array is provided', function () {
181
175
  it('provides the array as contents', function () {
182
176
  var expected = {
183
- contents: [1, 2, 3],
184
- json_class: 'Pact::ArrayLike',
177
+ value: [[1, 2, 3]],
178
+ 'pact:matcher:type': 'type',
185
179
  min: 1,
186
180
  };
187
181
  var match = (0, matchers_1.eachLike)([1, 2, 3], { min: 1 });
@@ -191,8 +185,8 @@ describe('Matcher', function () {
191
185
  describe('when a value is provided', function () {
192
186
  it('adds the value in contents', function () {
193
187
  var expected = {
194
- contents: 'test',
195
- json_class: 'Pact::ArrayLike',
188
+ value: ['test'],
189
+ 'pact:matcher:type': 'type',
196
190
  min: 1,
197
191
  };
198
192
  var match = (0, matchers_1.eachLike)('test', { min: 1 });
@@ -203,13 +197,15 @@ describe('Matcher', function () {
203
197
  describe('of type somethingLike', function () {
204
198
  it('nests somethingLike correctly', function () {
205
199
  var expected = {
206
- contents: {
207
- id: {
208
- contents: 10,
209
- json_class: 'Pact::SomethingLike',
200
+ value: [
201
+ {
202
+ id: {
203
+ value: 10,
204
+ 'pact:matcher:type': 'type',
205
+ },
210
206
  },
211
- },
212
- json_class: 'Pact::ArrayLike',
207
+ ],
208
+ 'pact:matcher:type': 'type',
213
209
  min: 1,
214
210
  };
215
211
  var match = (0, matchers_1.eachLike)({ id: (0, matchers_1.somethingLike)(10) }, { min: 1 });
@@ -219,20 +215,16 @@ describe('Matcher', function () {
219
215
  describe('of type term', function () {
220
216
  it('nests term correctly', function () {
221
217
  var expected = {
222
- contents: {
223
- colour: {
224
- data: {
225
- generate: 'red',
226
- matcher: {
227
- json_class: 'Regexp',
228
- o: 0,
229
- s: 'red|green',
230
- },
218
+ value: [
219
+ {
220
+ colour: {
221
+ value: 'red',
222
+ regex: 'red|green',
223
+ 'pact:matcher:type': 'regex',
231
224
  },
232
- json_class: 'Pact::Term',
233
225
  },
234
- },
235
- json_class: 'Pact::ArrayLike',
226
+ ],
227
+ 'pact:matcher:type': 'type',
236
228
  min: 1,
237
229
  };
238
230
  var match = (0, matchers_1.eachLike)({
@@ -241,18 +233,21 @@ describe('Matcher', function () {
241
233
  matcher: 'red|green',
242
234
  }),
243
235
  }, { min: 1 });
236
+ //
244
237
  (0, chai_1.expect)(JSON.stringify(match)).to.deep.include(JSON.stringify(expected));
245
238
  });
246
239
  });
247
240
  describe('of type eachLike', function () {
248
241
  it('nests eachlike in contents', function () {
249
242
  var expected = {
250
- contents: {
251
- contents: 'blue',
252
- json_class: 'Pact::ArrayLike',
253
- min: 1,
254
- },
255
- json_class: 'Pact::ArrayLike',
243
+ value: [
244
+ {
245
+ value: ['blue'],
246
+ 'pact:matcher:type': 'type',
247
+ min: 1,
248
+ },
249
+ ],
250
+ 'pact:matcher:type': 'type',
256
251
  min: 1,
257
252
  };
258
253
  var match = (0, matchers_1.eachLike)((0, matchers_1.eachLike)('blue', { min: 1 }), { min: 1 });
@@ -262,42 +257,52 @@ describe('Matcher', function () {
262
257
  describe('complex object with multiple Pact.Matchers', function () {
263
258
  it('nests objects correctly', function () {
264
259
  var expected = {
265
- contents: {
266
- contents: {
267
- colour: {
268
- data: {
269
- generate: 'red',
270
- matcher: {
271
- json_class: 'Regexp',
272
- o: 0,
273
- s: 'red|green|blue',
260
+ value: [
261
+ {
262
+ value: [
263
+ {
264
+ colour: {
265
+ value: 'red',
266
+ 'pact:matcher:type': 'regex',
267
+ regex: 'red|green|blue',
274
268
  },
275
- },
276
- json_class: 'Pact::Term',
277
- },
278
- size: {
279
- contents: 10,
280
- json_class: 'Pact::SomethingLike',
281
- },
282
- tag: {
283
- contents: [
284
- {
285
- contents: 'jumper',
286
- json_class: 'Pact::SomethingLike',
269
+ size: {
270
+ value: 10,
271
+ 'pact:matcher:type': 'type',
287
272
  },
288
- {
289
- contents: 'shirt',
290
- json_class: 'Pact::SomethingLike',
273
+ tag: {
274
+ value: [
275
+ [
276
+ {
277
+ value: 'jumper',
278
+ 'pact:matcher:type': 'type',
279
+ },
280
+ {
281
+ value: 'shirt',
282
+ 'pact:matcher:type': 'type',
283
+ },
284
+ ],
285
+ [
286
+ {
287
+ value: 'jumper',
288
+ 'pact:matcher:type': 'type',
289
+ },
290
+ {
291
+ value: 'shirt',
292
+ 'pact:matcher:type': 'type',
293
+ },
294
+ ],
295
+ ],
296
+ 'pact:matcher:type': 'type',
297
+ min: 2,
291
298
  },
292
- ],
293
- json_class: 'Pact::ArrayLike',
294
- min: 2,
295
- },
299
+ },
300
+ ],
301
+ 'pact:matcher:type': 'type',
302
+ min: 1,
296
303
  },
297
- json_class: 'Pact::ArrayLike',
298
- min: 1,
299
- },
300
- json_class: 'Pact::ArrayLike',
304
+ ],
305
+ 'pact:matcher:type': 'type',
301
306
  min: 1,
302
307
  };
303
308
  var match = (0, matchers_1.eachLike)((0, matchers_1.eachLike)({
@@ -305,15 +310,15 @@ describe('Matcher', function () {
305
310
  size: (0, matchers_1.somethingLike)(10),
306
311
  tag: (0, matchers_1.eachLike)([(0, matchers_1.somethingLike)('jumper'), (0, matchers_1.somethingLike)('shirt')], { min: 2 }),
307
312
  }, { min: 1 }), { min: 1 });
308
- (0, chai_1.expect)(JSON.stringify(match)).to.deep.include(JSON.stringify(expected));
313
+ (0, chai_1.expect)(JSON.parse(JSON.stringify(match))).to.deep.include(JSON.parse(JSON.stringify(expected)));
309
314
  });
310
315
  });
311
316
  });
312
317
  describe('When no options.min is not provided', function () {
313
318
  it('defaults to a min of 1', function () {
314
319
  var expected = {
315
- contents: { a: 1 },
316
- json_class: 'Pact::ArrayLike',
320
+ value: [{ a: 1 }],
321
+ 'pact:matcher:type': 'type',
317
322
  min: 1,
318
323
  };
319
324
  var match = (0, matchers_1.eachLike)({ a: 1 });
@@ -323,8 +328,8 @@ describe('Matcher', function () {
323
328
  describe('When a options.min is provided', function () {
324
329
  it('provides the object as contents', function () {
325
330
  var expected = {
326
- contents: { a: 1 },
327
- json_class: 'Pact::ArrayLike',
331
+ value: [{ a: 1 }, { a: 1 }, { a: 1 }],
332
+ 'pact:matcher:type': 'type',
328
333
  min: 3,
329
334
  };
330
335
  var match = (0, matchers_1.eachLike)({ a: 1 }, { min: 3 });
@@ -414,15 +419,15 @@ describe('Matcher', function () {
414
419
  describe('when used it should create a JSON object', function () {
415
420
  it('creates a valid matcher', function () {
416
421
  (0, chai_1.expect)((0, matchers_1.boolean)()).to.be.an('object');
417
- (0, chai_1.expect)((0, matchers_1.boolean)().contents).to.equal(true);
422
+ (0, chai_1.expect)((0, matchers_1.boolean)().value).to.equal(true);
418
423
  });
419
424
  it('sets value=false', function () {
420
425
  (0, chai_1.expect)((0, matchers_1.boolean)(false)).to.be.an('object');
421
- (0, chai_1.expect)((0, matchers_1.boolean)(false).contents).to.equal(false);
426
+ (0, chai_1.expect)((0, matchers_1.boolean)(false).value).to.equal(false);
422
427
  });
423
428
  it('sets value=true', function () {
424
429
  (0, chai_1.expect)((0, matchers_1.boolean)(true)).to.be.an('object');
425
- (0, chai_1.expect)((0, matchers_1.boolean)(true).contents).to.equal(true);
430
+ (0, chai_1.expect)((0, matchers_1.boolean)(true).value).to.equal(true);
426
431
  });
427
432
  });
428
433
  });
@@ -431,7 +436,7 @@ describe('Matcher', function () {
431
436
  it('creates a valid matcher', function () {
432
437
  (0, chai_1.expect)((0, matchers_1.string)('test')).to.be.an('object');
433
438
  (0, chai_1.expect)((0, matchers_1.string)()).to.be.an('object');
434
- (0, chai_1.expect)((0, matchers_1.string)('test').contents).to.equal('test');
439
+ (0, chai_1.expect)((0, matchers_1.string)('test').value).to.equal('test');
435
440
  });
436
441
  });
437
442
  });
@@ -440,7 +445,7 @@ describe('Matcher', function () {
440
445
  it('creates a valid matcher', function () {
441
446
  (0, chai_1.expect)((0, matchers_1.decimal)(10.1)).to.be.an('object');
442
447
  (0, chai_1.expect)((0, matchers_1.decimal)()).to.be.an('object');
443
- (0, chai_1.expect)((0, matchers_1.decimal)(0.0).contents).to.equal(0.0);
448
+ (0, chai_1.expect)((0, matchers_1.decimal)(0.0).value).to.equal(0.0);
444
449
  });
445
450
  });
446
451
  });
@@ -449,7 +454,7 @@ describe('Matcher', function () {
449
454
  it('creates a valid matcher', function () {
450
455
  (0, chai_1.expect)((0, matchers_1.integer)(10)).to.be.an('object');
451
456
  (0, chai_1.expect)((0, matchers_1.integer)()).to.be.an('object');
452
- (0, chai_1.expect)((0, matchers_1.integer)(0).contents).to.equal(0);
457
+ (0, chai_1.expect)((0, matchers_1.integer)(0).value).to.equal(0);
453
458
  });
454
459
  });
455
460
  });
@@ -615,10 +620,10 @@ describe('Matcher', function () {
615
620
  anotherSetting: (0, matchers_1.term)({ generate: 'this', matcher: 'this|that' }),
616
621
  },
617
622
  arrayMatcher: {
618
- lotsOfValues: (0, matchers_1.eachLike)('useful', { min: 3 }),
623
+ lotsOfValueregex: (0, matchers_1.eachLike)('useful', { min: 3 }),
619
624
  },
620
- arrayOfMatchers: {
621
- lotsOfValues: (0, matchers_1.eachLike)({
625
+ arrayOfMatcherregex: {
626
+ lotsOfValueregex: (0, matchers_1.eachLike)({
622
627
  foo: 'bar',
623
628
  baz: (0, matchers_1.somethingLike)('bat'),
624
629
  }, { min: 3 }),
@@ -635,10 +640,10 @@ describe('Matcher', function () {
635
640
  anotherSetting: 'this',
636
641
  },
637
642
  arrayMatcher: {
638
- lotsOfValues: ['useful', 'useful', 'useful'],
643
+ lotsOfValueregex: ['useful', 'useful', 'useful'],
639
644
  },
640
- arrayOfMatchers: {
641
- lotsOfValues: [
645
+ arrayOfMatcherregex: {
646
+ lotsOfValueregex: [
642
647
  {
643
648
  baz: 'bat',
644
649
  foo: 'bar',
@@ -1 +1 @@
1
- {"version":3,"file":"matchers.spec.js","sourceRoot":"","sources":["../../../src/dsl/matchers.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"matchers.spec.js","sourceRoot":"","sources":["../../../src/dsl/matchers.spec.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ /// <reference types="node" />
1
2
  import { AnyJson } from '../common/jsonTypes';
2
3
  import { Matcher, AnyTemplate } from './matchers';
3
4
  /**
@@ -9,26 +10,31 @@ import { Matcher, AnyTemplate } from './matchers';
9
10
  export interface Metadata {
10
11
  [name: string]: string | Matcher<string>;
11
12
  }
13
+ /**
14
+ * Defines a state a provider must be in.
15
+ */
16
+ export interface ProviderState {
17
+ name: string;
18
+ params?: {
19
+ [name: string]: string;
20
+ };
21
+ }
12
22
  /**
13
23
  * A Message is an asynchronous Interaction, sent via a Provider
14
24
  *
15
25
  * @module Message
16
26
  */
17
27
  export interface Message {
18
- providerStates?: [{
19
- name: string;
20
- }];
28
+ providerStates?: ProviderState[];
21
29
  description?: string;
22
30
  metadata?: Metadata;
23
- contents: AnyTemplate;
31
+ contents: AnyTemplate | Buffer;
24
32
  }
25
33
  export interface ConcreteMessage {
26
- providerStates?: [{
27
- name: string;
28
- }];
34
+ providerStates?: ProviderState[];
29
35
  description?: string;
30
36
  metadata?: Metadata;
31
- contents: AnyJson;
37
+ contents: AnyJson | Buffer;
32
38
  }
33
39
  /**
34
40
  * A Message Descriptor is a set of additional context for a given message
@@ -36,9 +42,7 @@ export interface ConcreteMessage {
36
42
  * @module Message
37
43
  */
38
44
  export interface MessageDescriptor {
39
- providerStates?: [{
40
- name: string;
41
- }];
45
+ providerStates?: ProviderState[];
42
46
  description: string;
43
47
  metadata?: Metadata;
44
48
  }
@@ -49,7 +53,7 @@ export interface MessageDescriptor {
49
53
  *
50
54
  * @module Message
51
55
  */
52
- export declare type MessageConsumer = (m: Message) => Promise<unknown>;
56
+ export declare type MessageConsumer = (m: ConcreteMessage) => Promise<unknown>;
53
57
  export declare type MessageFromProvider = unknown;
54
58
  export declare type MessageFromProviderWithMetadata = {
55
59
  __pactMessageMetadata: Record<string, string>;
@@ -68,5 +72,7 @@ export interface MessageProviders {
68
72
  [name: string]: MessageProvider;
69
73
  }
70
74
  export interface StateHandlers {
71
- [name: string]: (state: string) => Promise<unknown>;
75
+ [name: string]: (state: string, params?: {
76
+ [name: string]: string;
77
+ }) => Promise<unknown>;
72
78
  }
@@ -1,11 +1,3 @@
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
- */
7
- import { Request } from '../common/request';
8
- import { Interaction } from './interaction';
9
1
  export declare type PactfileWriteMode = 'overwrite' | 'update' | 'merge';
10
2
  export interface Pacticipant {
11
3
  name: string;
@@ -15,44 +7,7 @@ export interface PactDetails {
15
7
  provider?: Pacticipant;
16
8
  pactfile_write_mode: PactfileWriteMode;
17
9
  }
18
- export declare class MockService {
19
- private consumer?;
20
- private provider?;
21
- private port;
22
- private host;
23
- private ssl;
24
- private pactfileWriteMode;
10
+ export interface MockService {
25
11
  pactDetails: PactDetails;
26
- request: Request;
27
12
  baseUrl: string;
28
- /**
29
- * @param {string} consumer - the consumer name
30
- * @param {string} provider - the provider name
31
- * @param {number} port - the mock service port, defaults to 1234
32
- * @param {string} host - the mock service host, defaults to 127.0.0.1
33
- * @param {boolean} ssl - which protocol to use, defaults to false (HTTP)
34
- * @param {string} pactfileWriteMode - 'overwrite' | 'update' | 'merge', defaults to 'overwrite'
35
- */
36
- constructor(consumer?: string | undefined, provider?: string | undefined, port?: number, host?: string, ssl?: boolean, pactfileWriteMode?: PactfileWriteMode);
37
- /**
38
- * Adds an interaction
39
- * @param {Interaction} interaction
40
- * @returns {Promise}
41
- */
42
- addInteraction(interaction: Interaction): Promise<string>;
43
- /**
44
- * Removes all interactions.
45
- * @returns {Promise}
46
- */
47
- removeInteractions(): Promise<string>;
48
- /**
49
- * Verify all interactions.
50
- * @returns {Promise}
51
- */
52
- verify(): Promise<string>;
53
- /**
54
- * Writes the Pact file.
55
- * @returns {Promise}
56
- */
57
- writePact(): Promise<string>;
58
13
  }