@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
@@ -1,75 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MockService = void 0;
4
- /**
5
- * Mock Service is the HTTP interface to setup the Pact Mock Service.
6
- * See https://github.com/bethesque/pact-mock_service and
7
- * https://gist.github.com/bethesque/9d81f21d6f77650811f4.
8
- * @module MockService
9
- */
10
- var request_1 = require("../common/request");
11
- var MockService = /** @class */ (function () {
12
- /**
13
- * @param {string} consumer - the consumer name
14
- * @param {string} provider - the provider name
15
- * @param {number} port - the mock service port, defaults to 1234
16
- * @param {string} host - the mock service host, defaults to 127.0.0.1
17
- * @param {boolean} ssl - which protocol to use, defaults to false (HTTP)
18
- * @param {string} pactfileWriteMode - 'overwrite' | 'update' | 'merge', defaults to 'overwrite'
19
- */
20
- function MockService(
21
- // Deprecated as at https://github.com/pact-foundation/pact-js/issues/105
22
- consumer, provider,
23
- // Valid
24
- port, host, ssl, pactfileWriteMode) {
25
- if (port === void 0) { port = 1234; }
26
- if (host === void 0) { host = '127.0.0.1'; }
27
- if (ssl === void 0) { ssl = false; }
28
- if (pactfileWriteMode === void 0) { pactfileWriteMode = 'overwrite'; }
29
- this.consumer = consumer;
30
- this.provider = provider;
31
- this.port = port;
32
- this.host = host;
33
- this.ssl = ssl;
34
- this.pactfileWriteMode = pactfileWriteMode;
35
- this.request = new request_1.Request();
36
- this.baseUrl = "".concat(this.ssl ? 'https' : 'http', "://").concat(this.host, ":").concat(this.port);
37
- this.pactDetails = {
38
- consumer: this.consumer ? { name: this.consumer } : undefined,
39
- pactfile_write_mode: this.pactfileWriteMode,
40
- provider: this.provider ? { name: this.provider } : undefined,
41
- };
42
- }
43
- /**
44
- * Adds an interaction
45
- * @param {Interaction} interaction
46
- * @returns {Promise}
47
- */
48
- MockService.prototype.addInteraction = function (interaction) {
49
- return this.request.send(request_1.HTTPMethods.POST, "".concat(this.baseUrl, "/interactions"), JSON.stringify(interaction.json()));
50
- };
51
- /**
52
- * Removes all interactions.
53
- * @returns {Promise}
54
- */
55
- MockService.prototype.removeInteractions = function () {
56
- return this.request.send(request_1.HTTPMethods.DELETE, "".concat(this.baseUrl, "/interactions"));
57
- };
58
- /**
59
- * Verify all interactions.
60
- * @returns {Promise}
61
- */
62
- MockService.prototype.verify = function () {
63
- return this.request.send(request_1.HTTPMethods.GET, "".concat(this.baseUrl, "/interactions/verification"));
64
- };
65
- /**
66
- * Writes the Pact file.
67
- * @returns {Promise}
68
- */
69
- MockService.prototype.writePact = function () {
70
- return this.request.send(request_1.HTTPMethods.POST, "".concat(this.baseUrl, "/pact"), JSON.stringify(this.pactDetails));
71
- };
72
- return MockService;
73
- }());
74
- exports.MockService = MockService;
75
3
  //# sourceMappingURL=mockService.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mockService.js","sourceRoot":"","sources":["../../../src/dsl/mockService.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACH,6CAAyD;AA0BzD;IAOE;;;;;;;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,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,UAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,gBAAM,IAAI,CAAC,IAAI,cAAI,IAAI,CAAC,IAAI,CAAE,CAAC;QAC5E,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,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACI,oCAAc,GAArB,UAAsB,WAAwB;QAC5C,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CACtB,qBAAW,CAAC,IAAI,EAChB,UAAG,IAAI,CAAC,OAAO,kBAAe,EAC9B,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CACnC,CAAC;IACJ,CAAC;IAED;;;OAGG;IACI,wCAAkB,GAAzB;QACE,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CACtB,qBAAW,CAAC,MAAM,EAClB,UAAG,IAAI,CAAC,OAAO,kBAAe,CAC/B,CAAC;IACJ,CAAC;IAED;;;OAGG;IACI,4BAAM,GAAb;QACE,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CACtB,qBAAW,CAAC,GAAG,EACf,UAAG,IAAI,CAAC,OAAO,+BAA4B,CAC5C,CAAC;IACJ,CAAC;IAED;;;OAGG;IACI,+BAAS,GAAhB;QACE,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CACtB,qBAAW,CAAC,IAAI,EAChB,UAAG,IAAI,CAAC,OAAO,UAAO,EACtB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CACjC,CAAC;IACJ,CAAC;IACH,kBAAC;AAAD,CAAC,AAhFD,IAgFC;AAhFY,kCAAW"}
1
+ {"version":3,"file":"mockService.js","sourceRoot":"","sources":["../../../src/dsl/mockService.ts"],"names":[],"mappings":""}
@@ -107,7 +107,7 @@ describe('Verifier', function () {
107
107
  });
108
108
  context('when logLevel is not provided', function () {
109
109
  it('does not modify the log setting', function () {
110
- var logLevel = opts.logLevel, rest = __rest(opts, ["logLevel"]);
110
+ var rest = __rest(opts, []);
111
111
  v = new verifier_1.Verifier(__assign({}, rest));
112
112
  expect(spy.callCount).to.eql(0);
113
113
  });
@@ -1 +1 @@
1
- {"version":3,"file":"verifier.spec.js","sourceRoot":"","sources":["../../../../src/dsl/verifier/verifier.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verifier.spec.js","sourceRoot":"","sources":["../../../../src/dsl/verifier/verifier.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import { ConsumerInteraction } from '@pact-foundation/pact-core/src/consumer/index';
2
+ import { RequestOptions, ResponseOptions, Headers, Query } from '../dsl/interaction';
3
+ import { AnyTemplate } from 'v3/matchers';
4
+ declare enum INTERACTION_PART {
5
+ REQUEST = 1,
6
+ RESPONSE = 2
7
+ }
8
+ export declare const contentTypeFromHeaders: (headers: Headers | undefined, defaultContentType: string) => string;
9
+ export declare const setRequestDetails: (interaction: ConsumerInteraction, req: RequestOptions) => void;
10
+ export declare const setResponseDetails: (interaction: ConsumerInteraction, res: ResponseOptions) => void;
11
+ export declare const setRequestMethodAndPath: (interaction: ConsumerInteraction, req: RequestOptions) => void;
12
+ export declare const setQuery: (interaction: ConsumerInteraction, query?: Query) => void;
13
+ export declare const setBody: (part: INTERACTION_PART, interaction: ConsumerInteraction, headers?: Headers, body?: AnyTemplate) => void;
14
+ export declare const setHeaders: (part: INTERACTION_PART, interaction: ConsumerInteraction, headers?: Headers) => void;
15
+ export {};
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.setHeaders = exports.setBody = exports.setQuery = exports.setRequestMethodAndPath = exports.setResponseDetails = exports.setRequestDetails = exports.contentTypeFromHeaders = void 0;
4
+ var matchers_1 = require("../dsl/matchers");
5
+ var ramda_1 = require("ramda");
6
+ var util_1 = require("util");
7
+ // eslint-disable-next-line
8
+ var INTERACTION_PART;
9
+ (function (INTERACTION_PART) {
10
+ INTERACTION_PART[INTERACTION_PART["REQUEST"] = 1] = "REQUEST";
11
+ INTERACTION_PART[INTERACTION_PART["RESPONSE"] = 2] = "RESPONSE";
12
+ })(INTERACTION_PART || (INTERACTION_PART = {}));
13
+ var CONTENT_TYPE_HEADER = 'content-type';
14
+ var CONTENT_TYPE_JSON = 'application/json';
15
+ var contentTypeFromHeaders = function (headers, defaultContentType) {
16
+ var contentType = defaultContentType;
17
+ (0, ramda_1.forEachObjIndexed)(function (v, k) {
18
+ if ("".concat(k).toLowerCase() === CONTENT_TYPE_HEADER) {
19
+ contentType = (0, matchers_1.matcherValueOrString)(v);
20
+ }
21
+ }, headers || {});
22
+ return contentType;
23
+ };
24
+ exports.contentTypeFromHeaders = contentTypeFromHeaders;
25
+ var setRequestDetails = function (interaction, req) {
26
+ (0, exports.setRequestMethodAndPath)(interaction, req);
27
+ (0, exports.setBody)(INTERACTION_PART.REQUEST, interaction, req.headers, req.body);
28
+ (0, exports.setHeaders)(INTERACTION_PART.REQUEST, interaction, req.headers);
29
+ (0, exports.setQuery)(interaction, req.query);
30
+ };
31
+ exports.setRequestDetails = setRequestDetails;
32
+ var setResponseDetails = function (interaction, res) {
33
+ interaction.withStatus(res.status);
34
+ (0, exports.setBody)(INTERACTION_PART.RESPONSE, interaction, res.headers, res.body);
35
+ (0, exports.setHeaders)(INTERACTION_PART.RESPONSE, interaction, res.headers);
36
+ };
37
+ exports.setResponseDetails = setResponseDetails;
38
+ var setRequestMethodAndPath = function (interaction, req) {
39
+ if ((req === null || req === void 0 ? void 0 : req.method) && (req === null || req === void 0 ? void 0 : req.path)) {
40
+ var method = req === null || req === void 0 ? void 0 : req.method;
41
+ var reqPath = (0, matchers_1.matcherValueOrString)(req === null || req === void 0 ? void 0 : req.path);
42
+ interaction.withRequest(method, reqPath);
43
+ }
44
+ };
45
+ exports.setRequestMethodAndPath = setRequestMethodAndPath;
46
+ var setQuery = function (interaction, query) {
47
+ (0, ramda_1.forEachObjIndexed)(function (v, k) {
48
+ if ((0, util_1.isArray)(v)) {
49
+ v.forEach(function (vv, i) {
50
+ interaction.withQuery(k, i, (0, matchers_1.matcherValueOrString)(vv));
51
+ });
52
+ }
53
+ else {
54
+ interaction.withQuery(k, 0, (0, matchers_1.matcherValueOrString)(v));
55
+ }
56
+ }, query);
57
+ };
58
+ exports.setQuery = setQuery;
59
+ var setBody = function (part, interaction, headers, body) {
60
+ if (body) {
61
+ var matcher = (0, matchers_1.matcherValueOrString)(body);
62
+ var contentType = (0, exports.contentTypeFromHeaders)(headers, CONTENT_TYPE_JSON);
63
+ switch (part) {
64
+ case INTERACTION_PART.REQUEST:
65
+ interaction.withRequestBody(matcher, contentType);
66
+ break;
67
+ case INTERACTION_PART.RESPONSE:
68
+ interaction.withResponseBody(matcher, contentType);
69
+ break;
70
+ default:
71
+ break;
72
+ }
73
+ }
74
+ };
75
+ exports.setBody = setBody;
76
+ var setHeaders = function (part, interaction, headers) {
77
+ (0, ramda_1.forEachObjIndexed)(function (v, k) {
78
+ switch (part) {
79
+ case INTERACTION_PART.REQUEST:
80
+ interaction.withRequestHeader("".concat(k), 0, (0, matchers_1.matcherValueOrString)(v));
81
+ break;
82
+ case INTERACTION_PART.RESPONSE:
83
+ interaction.withResponseHeader("".concat(k), 0, (0, matchers_1.matcherValueOrString)(v));
84
+ break;
85
+ default:
86
+ break;
87
+ }
88
+ }, headers);
89
+ };
90
+ exports.setHeaders = setHeaders;
91
+ //# sourceMappingURL=ffi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ffi.js","sourceRoot":"","sources":["../../../src/httpPact/ffi.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ // @ts-nocheck
7
+ var chai_1 = __importDefault(require("chai"));
8
+ var chai_as_promised_1 = __importDefault(require("chai-as-promised"));
9
+ var sinon_1 = __importDefault(require("sinon"));
10
+ var sinon_chai_1 = __importDefault(require("sinon-chai"));
11
+ var ffi_1 = require("./ffi");
12
+ chai_1.default.use(sinon_chai_1.default);
13
+ chai_1.default.use(chai_as_promised_1.default);
14
+ var expect = chai_1.default.expect;
15
+ describe('Pact FFI', function () {
16
+ describe('#contentTypeFromHeaders', function () {
17
+ ['content-type', 'Content-Type', 'CONTent-TYPE'].forEach(function (t) {
18
+ describe("when the \"".concat(t, "\" header is set"), function () {
19
+ it('detects the content type from the header', function () {
20
+ var _a;
21
+ var headers = (_a = {}, _a[t] = 'some-mime-type', _a);
22
+ expect((0, ffi_1.contentTypeFromHeaders)(headers, 'application/json')).to.eq('some-mime-type');
23
+ });
24
+ });
25
+ });
26
+ describe("when the no content-type header is set", function () {
27
+ it('uses a default', function () {
28
+ expect((0, ffi_1.contentTypeFromHeaders)({}, 'application/json')).to.eq('application/json');
29
+ });
30
+ });
31
+ });
32
+ describe('#setQuery', function () {
33
+ describe('with array values', function () {
34
+ it('calls the query ffi function for each value', function () {
35
+ var queryMock = sinon_1.default.stub();
36
+ var interaction = {
37
+ withQuery: queryMock,
38
+ };
39
+ var query = {
40
+ foo: ['bar', 'baz'],
41
+ };
42
+ (0, ffi_1.setQuery)(interaction, query);
43
+ expect(queryMock.calledTwice);
44
+ expect(queryMock.calledWith('foo', 0, 'bar'));
45
+ expect(queryMock.calledWith('foo', 1, 'baz'));
46
+ });
47
+ });
48
+ describe('with single values', function () {
49
+ it('calls the query ffi function for each value', function () {
50
+ var queryMock = sinon_1.default.stub();
51
+ var interaction = {
52
+ withQuery: queryMock,
53
+ };
54
+ var query = {
55
+ foo: 'bar',
56
+ };
57
+ (0, ffi_1.setQuery)(interaction, query);
58
+ expect(queryMock.calledOnce);
59
+ expect(queryMock.calledWith('foo', 0, 'bar'));
60
+ });
61
+ });
62
+ describe('with array and single values', function () {
63
+ it('calls the query ffi function for each value', function () {
64
+ var queryMock = sinon_1.default.stub();
65
+ var interaction = {
66
+ withQuery: queryMock,
67
+ };
68
+ var query = {
69
+ foo: 'bar',
70
+ baz: ['bat', 'foo'],
71
+ };
72
+ (0, ffi_1.setQuery)(interaction, query);
73
+ expect(queryMock.calledThrice);
74
+ expect(queryMock.calledWith('foo', 0, 'bar'));
75
+ expect(queryMock.calledWith('baz', 0, 'bat'));
76
+ expect(queryMock.calledWith('baz', 1, 'foo'));
77
+ });
78
+ });
79
+ });
80
+ });
81
+ //# sourceMappingURL=ffi.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ffi.spec.js","sourceRoot":"","sources":["../../../src/httpPact/ffi.spec.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,6 @@
1
- import { Server } from '@pact-foundation/pact-core/src/server';
2
1
  import { Interaction, InteractionObject } from '../dsl/interaction';
3
- import { MockService } from '../dsl/mockService';
4
2
  import { PactOptions, PactOptionsComplete } from '../dsl/options';
3
+ import { MockService } from 'dsl/mockService';
5
4
  /**
6
5
  * Creates a new {@link PactProvider}.
7
6
  * @memberof Pact
@@ -12,14 +11,17 @@ import { PactOptions, PactOptionsComplete } from '../dsl/options';
12
11
  export declare class Pact {
13
12
  static defaults: PactOptions;
14
13
  static createOptionsWithDefaults(opts: PactOptions): PactOptionsComplete;
15
- server: Server;
16
- opts: PactOptionsComplete;
17
14
  mockService: MockService;
15
+ opts: PactOptionsComplete;
16
+ private mockServerStartedPort?;
17
+ private pact;
18
+ private interaction;
18
19
  private finalized;
19
20
  constructor(config: PactOptions);
20
21
  /**
21
- * Setup the pact framework, including start the
22
- * underlying mock server
22
+ * Setup the pact framework, including allocating a port for the dynamic
23
+ * mock server
24
+ *
23
25
  * @returns {Promise}
24
26
  */
25
27
  setup(): Promise<PactOptionsComplete>;
@@ -62,8 +64,6 @@ export declare class Pact {
62
64
  * @returns {Promise}
63
65
  */
64
66
  removeInteractions(): Promise<string>;
65
- private checkPort;
66
- private setupMockService;
67
- private startServer;
68
- private createServer;
67
+ private startMockServer;
68
+ private reset;
69
69
  }