@pact-foundation/pact 10.0.0-beta.9 → 10.0.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.
- package/CHANGELOG.md +2451 -1
- package/CODE_OF_CONDUCT.md +1 -1
- package/CONTRIBUTING.md +49 -12
- package/MIGRATION.md +77 -0
- package/README.md +180 -1274
- package/RELEASING.md +63 -59
- package/package.json +96 -98
- package/src/common/jsonTypes.d.ts +5 -0
- package/src/common/jsonTypes.js +3 -0
- package/src/common/jsonTypes.js.map +1 -0
- package/src/common/logger.d.ts +10 -0
- package/src/common/logger.js +32 -0
- package/src/common/logger.js.map +1 -0
- package/src/common/net.d.ts +9 -0
- package/src/common/net.js +82 -0
- package/src/common/net.js.map +1 -0
- package/{common → src/common}/net.spec.d.ts +0 -0
- package/src/common/net.spec.js +69 -0
- package/src/common/net.spec.js.map +1 -0
- package/src/common/request.d.ts +21 -0
- package/src/common/request.js +110 -0
- package/src/common/request.js.map +1 -0
- package/{common → src/common}/request.spec.d.ts +0 -0
- package/src/common/request.spec.js +69 -0
- package/src/common/request.spec.js.map +1 -0
- package/src/common/spec.d.ts +2 -0
- package/src/common/spec.js +22 -0
- package/src/common/spec.js.map +1 -0
- package/{dsl → src/dsl}/apolloGraphql.d.ts +1 -1
- package/{dsl → src/dsl}/apolloGraphql.js +4 -1
- package/src/dsl/apolloGraphql.js.map +1 -0
- package/{dsl → src/dsl}/apolloGraphql.spec.d.ts +0 -0
- package/src/dsl/apolloGraphql.spec.js +74 -0
- package/src/dsl/apolloGraphql.spec.js.map +1 -0
- package/{dsl → src/dsl}/graphql.d.ts +19 -8
- package/{dsl → src/dsl}/graphql.js +59 -31
- package/src/dsl/graphql.js.map +1 -0
- package/{dsl → src/dsl}/graphql.spec.d.ts +0 -0
- package/src/dsl/graphql.spec.js +229 -0
- package/src/dsl/graphql.spec.js.map +1 -0
- package/{dsl → src/dsl}/interaction.d.ts +22 -20
- package/src/dsl/interaction.js +144 -0
- package/src/dsl/interaction.js.map +1 -0
- package/{dsl → src/dsl}/interaction.spec.d.ts +0 -0
- package/src/dsl/interaction.spec.js +214 -0
- package/src/dsl/interaction.spec.js.map +1 -0
- package/src/dsl/matchers.d.ts +143 -0
- package/{dsl → src/dsl}/matchers.js +92 -93
- package/src/dsl/matchers.js.map +1 -0
- package/{dsl → src/dsl}/matchers.spec.d.ts +0 -0
- package/src/dsl/matchers.spec.js +668 -0
- package/src/dsl/matchers.spec.js.map +1 -0
- package/{dsl → src/dsl}/message.d.ts +32 -12
- package/{dsl → src/dsl}/message.js +0 -0
- package/{dsl → src/dsl}/message.js.map +1 -1
- package/src/dsl/mockService.d.ts +13 -0
- package/src/dsl/mockService.js +3 -0
- package/src/dsl/mockService.js.map +1 -0
- package/{dsl → src/dsl}/options.d.ts +7 -6
- package/{dsl → src/dsl}/options.js +0 -0
- package/{dsl → src/dsl}/options.js.map +1 -1
- package/src/dsl/verifier/index.d.ts +1 -0
- package/src/dsl/verifier/index.js +18 -0
- package/src/dsl/verifier/index.js.map +1 -0
- package/src/dsl/verifier/proxy/hooks.d.ts +4 -0
- package/src/dsl/verifier/proxy/hooks.js +109 -0
- package/src/dsl/verifier/proxy/hooks.js.map +1 -0
- package/src/dsl/verifier/proxy/index.d.ts +1 -0
- package/src/dsl/verifier/proxy/index.js +18 -0
- package/src/dsl/verifier/proxy/index.js.map +1 -0
- package/src/dsl/verifier/proxy/parseBody.d.ts +7 -0
- package/src/dsl/verifier/proxy/parseBody.js +22 -0
- package/src/dsl/verifier/proxy/parseBody.js.map +1 -0
- package/{dsl/mockService.spec.d.ts → src/dsl/verifier/proxy/parseBody.spec.d.ts} +0 -0
- package/src/dsl/verifier/proxy/parseBody.spec.js +118 -0
- package/src/dsl/verifier/proxy/parseBody.spec.js.map +1 -0
- package/src/dsl/verifier/proxy/proxy.d.ts +4 -0
- package/src/dsl/verifier/proxy/proxy.js +92 -0
- package/src/dsl/verifier/proxy/proxy.js.map +1 -0
- package/{dsl/publisher.spec.d.ts → src/dsl/verifier/proxy/proxy.spec.d.ts} +0 -0
- package/src/dsl/verifier/proxy/proxy.spec.js +33 -0
- package/src/dsl/verifier/proxy/proxy.spec.js.map +1 -0
- package/src/dsl/verifier/proxy/stateHandler/index.d.ts +1 -0
- package/src/dsl/verifier/proxy/stateHandler/index.js +18 -0
- package/src/dsl/verifier/proxy/stateHandler/index.js.map +1 -0
- package/src/dsl/verifier/proxy/stateHandler/setupStates.d.ts +3 -0
- package/src/dsl/verifier/proxy/stateHandler/setupStates.js +48 -0
- package/src/dsl/verifier/proxy/stateHandler/setupStates.js.map +1 -0
- package/{dsl/verifier.spec.d.ts → src/dsl/verifier/proxy/stateHandler/setupStates.spec.d.ts} +0 -0
- package/src/dsl/verifier/proxy/stateHandler/setupStates.spec.js +191 -0
- package/src/dsl/verifier/proxy/stateHandler/setupStates.spec.js.map +1 -0
- package/src/dsl/verifier/proxy/stateHandler/stateHandler.d.ts +3 -0
- package/src/dsl/verifier/proxy/stateHandler/stateHandler.js +14 -0
- package/src/dsl/verifier/proxy/stateHandler/stateHandler.js.map +1 -0
- package/{httpPact.spec.d.ts → src/dsl/verifier/proxy/stateHandler/stateHandler.spec.d.ts} +0 -0
- package/src/dsl/verifier/proxy/stateHandler/stateHandler.spec.js +130 -0
- package/src/dsl/verifier/proxy/stateHandler/stateHandler.spec.js.map +1 -0
- package/src/dsl/verifier/proxy/tracer.d.ts +3 -0
- package/src/dsl/verifier/proxy/tracer.js +52 -0
- package/src/dsl/verifier/proxy/tracer.js.map +1 -0
- package/src/dsl/verifier/proxy/types.d.ts +48 -0
- package/src/dsl/verifier/proxy/types.js +3 -0
- package/src/dsl/verifier/proxy/types.js.map +1 -0
- package/src/dsl/verifier/types.d.ts +3 -0
- package/src/dsl/verifier/types.js +3 -0
- package/src/dsl/verifier/types.js.map +1 -0
- package/src/dsl/verifier/verifier.d.ts +16 -0
- package/src/dsl/verifier/verifier.js +129 -0
- package/src/dsl/verifier/verifier.js.map +1 -0
- package/{messageConsumerPact.spec.d.ts → src/dsl/verifier/verifier.spec.d.ts} +0 -0
- package/src/dsl/verifier/verifier.spec.js +172 -0
- package/src/dsl/verifier/verifier.spec.js.map +1 -0
- package/{errors → src/errors}/configurationError.d.ts +0 -0
- package/{errors → src/errors}/configurationError.js +3 -1
- package/src/errors/configurationError.js.map +1 -0
- package/{errors → src/errors}/graphQLQueryError.d.ts +0 -0
- package/{errors → src/errors}/graphQLQueryError.js +3 -1
- package/src/errors/graphQLQueryError.js.map +1 -0
- package/{errors → src/errors}/matcherError.d.ts +0 -0
- package/{errors → src/errors}/matcherError.js +3 -1
- package/src/errors/matcherError.js.map +1 -0
- package/{errors → src/errors}/verificationError.d.ts +0 -0
- package/{errors → src/errors}/verificationError.js +3 -1
- package/src/errors/verificationError.js.map +1 -0
- package/src/httpPact/ffi.d.ts +15 -0
- package/src/httpPact/ffi.js +91 -0
- package/src/httpPact/ffi.js.map +1 -0
- package/{messageProviderPact.spec.d.ts → src/httpPact/ffi.spec.d.ts} +0 -0
- package/src/httpPact/ffi.spec.js +81 -0
- package/src/httpPact/ffi.spec.js.map +1 -0
- package/{httpPact.d.ts → src/httpPact/index.d.ts} +12 -12
- package/src/httpPact/index.js +311 -0
- package/src/httpPact/index.js.map +1 -0
- package/{pact-web.spec.d.ts → src/httpPact/index.spec.d.ts} +0 -0
- package/src/httpPact/index.spec.js +238 -0
- package/src/httpPact/index.spec.js.map +1 -0
- package/src/httpPact/tracing.d.ts +1 -0
- package/src/httpPact/tracing.js +53 -0
- package/src/httpPact/tracing.js.map +1 -0
- package/{pact.d.ts → src/index.d.ts} +22 -21
- package/src/index.js +107 -0
- package/src/index.js.map +1 -0
- package/src/messageConsumerPact.d.ts +86 -0
- package/src/messageConsumerPact.js +222 -0
- package/src/messageConsumerPact.js.map +1 -0
- package/src/messageConsumerPact.spec.d.ts +1 -0
- package/src/messageConsumerPact.spec.js +117 -0
- package/src/messageConsumerPact.spec.js.map +1 -0
- package/{messageProviderPact.d.ts → src/messageProviderPact.d.ts} +7 -4
- package/src/messageProviderPact.js +190 -0
- package/src/messageProviderPact.js.map +1 -0
- package/src/messageProviderPact.spec.d.ts +1 -0
- package/src/messageProviderPact.spec.js +183 -0
- package/src/messageProviderPact.spec.js.map +1 -0
- package/{pact.integration.spec.d.ts → src/pact.integration.spec.d.ts} +0 -0
- package/{pact.integration.spec.js → src/pact.integration.spec.js} +0 -0
- package/src/pact.integration.spec.js.map +1 -0
- package/src/v3/display.d.ts +6 -0
- package/src/v3/display.js +83 -0
- package/src/v3/display.js.map +1 -0
- package/src/v3/index.d.ts +17 -0
- package/src/v3/index.js +47 -0
- package/src/v3/index.js.map +1 -0
- package/src/v3/matchers.d.ts +182 -0
- package/src/v3/matchers.js +443 -0
- package/src/v3/matchers.js.map +1 -0
- package/src/v3/matchers.spec.d.ts +1 -0
- package/src/v3/matchers.spec.js +461 -0
- package/src/v3/matchers.spec.js.map +1 -0
- package/src/v3/pact.d.ts +21 -0
- package/src/v3/pact.js +240 -0
- package/src/v3/pact.js.map +1 -0
- package/src/v3/types.d.ts +81 -0
- package/src/v3/types.js +11 -0
- package/src/v3/types.js.map +1 -0
- package/{v3 → src/v3}/xml/xmlBuilder.d.ts +2 -2
- package/{v3 → src/v3}/xml/xmlBuilder.js +2 -1
- package/src/v3/xml/xmlBuilder.js.map +1 -0
- package/src/v3/xml/xmlElement.d.ts +27 -0
- package/{v3 → src/v3}/xml/xmlElement.js +21 -15
- package/src/v3/xml/xmlElement.js.map +1 -0
- package/src/v3/xml/xmlElement.spec.d.ts +1 -0
- package/src/v3/xml/xmlElement.spec.js +102 -0
- package/src/v3/xml/xmlElement.spec.js.map +1 -0
- package/{v3 → src/v3}/xml/xmlNode.d.ts +0 -0
- package/{v3 → src/v3}/xml/xmlNode.js +1 -0
- package/src/v3/xml/xmlNode.js.map +1 -0
- package/src/v3/xml/xmlText.d.ts +7 -0
- package/{v3 → src/v3}/xml/xmlText.js +4 -1
- package/src/v3/xml/xmlText.js.map +1 -0
- package/test/helper.d.ts +1 -0
- package/test/helper.js +37 -0
- package/test/helper.js.map +1 -0
- package/ROADMAP.md +0 -20
- package/common/logger.d.ts +0 -7
- package/common/logger.js +0 -56
- package/common/logger.js.map +0 -1
- package/common/metadata.d.ts +0 -0
- package/common/metadata.js +0 -2
- package/common/metadata.js.map +0 -1
- package/common/net.d.ts +0 -9
- package/common/net.js +0 -48
- package/common/net.js.map +0 -1
- package/common/net.spec.js +0 -67
- package/common/net.spec.js.map +0 -1
- package/common/request.d.ts +0 -14
- package/common/request.js +0 -47
- package/common/request.js.map +0 -1
- package/common/request.spec.js +0 -71
- package/common/request.spec.js.map +0 -1
- package/common/utils.d.ts +0 -2
- package/common/utils.js +0 -10
- package/common/utils.js.map +0 -1
- package/dsl/apolloGraphql.js.map +0 -1
- package/dsl/apolloGraphql.spec.js +0 -47
- package/dsl/apolloGraphql.spec.js.map +0 -1
- package/dsl/graphql.js.map +0 -1
- package/dsl/graphql.spec.js +0 -150
- package/dsl/graphql.spec.js.map +0 -1
- package/dsl/interaction.js +0 -112
- package/dsl/interaction.js.map +0 -1
- package/dsl/interaction.spec.js +0 -217
- package/dsl/interaction.spec.js.map +0 -1
- package/dsl/matchers.d.ts +0 -269
- package/dsl/matchers.js.map +0 -1
- package/dsl/matchers.spec.js +0 -563
- package/dsl/matchers.spec.js.map +0 -1
- package/dsl/mockService.d.ts +0 -58
- package/dsl/mockService.js +0 -74
- package/dsl/mockService.js.map +0 -1
- package/dsl/mockService.spec.js +0 -126
- package/dsl/mockService.spec.js.map +0 -1
- package/dsl/publisher.d.ts +0 -6
- package/dsl/publisher.js +0 -19
- package/dsl/publisher.js.map +0 -1
- package/dsl/publisher.spec.js +0 -21
- package/dsl/publisher.spec.js.map +0 -1
- package/dsl/verifier.d.ts +0 -39
- package/dsl/verifier.js +0 -173
- package/dsl/verifier.js.map +0 -1
- package/dsl/verifier.spec.js +0 -299
- package/dsl/verifier.spec.js.map +0 -1
- package/errors/configurationError.js.map +0 -1
- package/errors/graphQLQueryError.js.map +0 -1
- package/errors/matcherError.js.map +0 -1
- package/errors/verificationError.js.map +0 -1
- package/httpPact.js +0 -206
- package/httpPact.js.map +0 -1
- package/httpPact.spec.js +0 -337
- package/httpPact.spec.js.map +0 -1
- package/messageConsumerPact.d.ts +0 -67
- package/messageConsumerPact.js +0 -161
- package/messageConsumerPact.js.map +0 -1
- package/messageConsumerPact.spec.js +0 -161
- package/messageConsumerPact.spec.js.map +0 -1
- package/messageProviderPact.js +0 -139
- package/messageProviderPact.js.map +0 -1
- package/messageProviderPact.spec.js +0 -143
- package/messageProviderPact.spec.js.map +0 -1
- package/pact-web.d.ts +0 -100
- package/pact-web.js +0 -151
- package/pact-web.js.map +0 -1
- package/pact-web.spec.js +0 -191
- package/pact-web.spec.js.map +0 -1
- package/pact.integration.spec.js.map +0 -1
- package/pact.js +0 -74
- package/pact.js.map +0 -1
- package/v3/index.d.ts +0 -23
- package/v3/index.js +0 -33
- package/v3/index.js.map +0 -1
- package/v3/matchers.d.ts +0 -199
- package/v3/matchers.js +0 -305
- package/v3/matchers.js.map +0 -1
- package/v3/pact.d.ts +0 -47
- package/v3/pact.js +0 -101
- package/v3/pact.js.map +0 -1
- package/v3/verifier.d.ts +0 -27
- package/v3/verifier.js +0 -46
- package/v3/verifier.js.map +0 -1
- package/v3/xml/xmlBuilder.js.map +0 -1
- package/v3/xml/xmlElement.d.ts +0 -34
- package/v3/xml/xmlElement.js.map +0 -1
- package/v3/xml/xmlNode.js.map +0 -1
- package/v3/xml/xmlText.d.ts +0 -6
- package/v3/xml/xmlText.js.map +0 -1
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
+
};
|
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
/* tslint:disable:no-unused-expression no-empty */
|
|
30
|
+
var chai = __importStar(require("chai"));
|
|
31
|
+
var chai_as_promised_1 = __importDefault(require("chai-as-promised"));
|
|
32
|
+
var sinon_chai_1 = __importDefault(require("sinon-chai"));
|
|
33
|
+
var express_1 = __importDefault(require("express"));
|
|
34
|
+
var http = __importStar(require("http"));
|
|
35
|
+
var messageProviderPact_1 = require("./messageProviderPact");
|
|
36
|
+
chai.use(sinon_chai_1.default);
|
|
37
|
+
chai.use(chai_as_promised_1.default);
|
|
38
|
+
var expect = chai.expect;
|
|
39
|
+
describe('MesageProvider', function () {
|
|
40
|
+
var provider;
|
|
41
|
+
var successfulRequest = 'successfulRequest';
|
|
42
|
+
var unsuccessfulRequest = 'unsuccessfulRequest';
|
|
43
|
+
var successfulMessage = {
|
|
44
|
+
contents: { foo: 'bar' },
|
|
45
|
+
description: successfulRequest,
|
|
46
|
+
providerStates: [{ name: 'some state' }],
|
|
47
|
+
};
|
|
48
|
+
var unsuccessfulMessage = {
|
|
49
|
+
contents: { foo: 'bar' },
|
|
50
|
+
description: unsuccessfulRequest,
|
|
51
|
+
providerStates: [{ name: 'some state not found' }],
|
|
52
|
+
};
|
|
53
|
+
var nonExistentMessage = {
|
|
54
|
+
contents: { foo: 'bar' },
|
|
55
|
+
description: 'does not exist',
|
|
56
|
+
providerStates: [{ name: 'some state not found' }],
|
|
57
|
+
};
|
|
58
|
+
beforeEach(function () {
|
|
59
|
+
provider = new messageProviderPact_1.MessageProviderPact({
|
|
60
|
+
logLevel: 'error',
|
|
61
|
+
messageProviders: {
|
|
62
|
+
successfulRequest: function () { return Promise.resolve('yay'); },
|
|
63
|
+
unsuccessfulRequest: function () { return Promise.reject(new Error('nay')); },
|
|
64
|
+
},
|
|
65
|
+
provider: 'myprovider',
|
|
66
|
+
stateHandlers: {
|
|
67
|
+
'some state': function () { return Promise.resolve('yay'); },
|
|
68
|
+
'some state with params': function (name, params) {
|
|
69
|
+
return Promise.resolve("name: ".concat(name, ", params: ").concat(JSON.stringify(params)));
|
|
70
|
+
},
|
|
71
|
+
},
|
|
72
|
+
});
|
|
73
|
+
});
|
|
74
|
+
describe('#constructor', function () {
|
|
75
|
+
it('creates a Provider when all mandatory parameters are provided', function () {
|
|
76
|
+
expect(provider).to.be.a('object');
|
|
77
|
+
expect(provider).to.respondTo('verify');
|
|
78
|
+
});
|
|
79
|
+
it('creates a Provider with default log level if not specified', function () {
|
|
80
|
+
provider = new messageProviderPact_1.MessageProviderPact({
|
|
81
|
+
messageProviders: {},
|
|
82
|
+
provider: 'myprovider',
|
|
83
|
+
});
|
|
84
|
+
expect(provider).to.be.a('object');
|
|
85
|
+
expect(provider).to.respondTo('verify');
|
|
86
|
+
});
|
|
87
|
+
});
|
|
88
|
+
describe('#setupVerificationHandler', function () {
|
|
89
|
+
describe('when their is a valid setup', function () {
|
|
90
|
+
it('creates a valid express handler', function (done) {
|
|
91
|
+
var setupVerificationHandler = provider.setupVerificationHandler.bind(provider)();
|
|
92
|
+
var req = { body: successfulMessage };
|
|
93
|
+
var res = {
|
|
94
|
+
json: function () { return done(); }, // Expect a response
|
|
95
|
+
};
|
|
96
|
+
setupVerificationHandler(req, res);
|
|
97
|
+
});
|
|
98
|
+
});
|
|
99
|
+
describe('when their is an invalid setup', function () {
|
|
100
|
+
it('creates a valid express handler that rejects the message', function (done) {
|
|
101
|
+
var setupVerificationHandler = provider.setupVerificationHandler.bind(provider)();
|
|
102
|
+
var req = { body: nonExistentMessage };
|
|
103
|
+
var res = {
|
|
104
|
+
status: function (status) {
|
|
105
|
+
expect(status).to.eq(500);
|
|
106
|
+
return {
|
|
107
|
+
send: function () { return done(); }, // Expect the status to be called with 500
|
|
108
|
+
};
|
|
109
|
+
},
|
|
110
|
+
};
|
|
111
|
+
setupVerificationHandler(req, res);
|
|
112
|
+
});
|
|
113
|
+
});
|
|
114
|
+
});
|
|
115
|
+
describe('#findHandler', function () {
|
|
116
|
+
describe('when given a handler that exists', function () {
|
|
117
|
+
it('returns a Handler object', function () {
|
|
118
|
+
var findHandler = provider.findHandler.bind(provider);
|
|
119
|
+
return expect(findHandler(successfulMessage)).to.eventually.be.a('function');
|
|
120
|
+
});
|
|
121
|
+
});
|
|
122
|
+
describe('when given a handler that does not exist', function () {
|
|
123
|
+
it('returns a failed promise', function () {
|
|
124
|
+
var findHandler = provider.findHandler.bind(provider);
|
|
125
|
+
return expect(findHandler('doesnotexist')).to.eventually.be.rejected;
|
|
126
|
+
});
|
|
127
|
+
});
|
|
128
|
+
});
|
|
129
|
+
describe('#setupStates', function () {
|
|
130
|
+
describe('when given a handler that exists', function () {
|
|
131
|
+
it('returns values of all resolved handlers', function () {
|
|
132
|
+
var setupStates = provider.setupStates.bind(provider);
|
|
133
|
+
return expect(setupStates(successfulMessage)).to.eventually.deep.equal([
|
|
134
|
+
'yay',
|
|
135
|
+
]);
|
|
136
|
+
});
|
|
137
|
+
it('passes params to the handler', function () {
|
|
138
|
+
var setupStates = provider.setupStates.bind(provider);
|
|
139
|
+
return expect(setupStates({
|
|
140
|
+
providerStates: [
|
|
141
|
+
{ name: 'some state with params', params: { foo: 'bar' } },
|
|
142
|
+
],
|
|
143
|
+
})).to.eventually.deep.equal([
|
|
144
|
+
'name: some state with params, params: {"foo":"bar"}',
|
|
145
|
+
]);
|
|
146
|
+
});
|
|
147
|
+
});
|
|
148
|
+
describe('when given a state that does not have a handler', function () {
|
|
149
|
+
it('returns an empty promise', function () {
|
|
150
|
+
provider = new messageProviderPact_1.MessageProviderPact({
|
|
151
|
+
messageProviders: {},
|
|
152
|
+
provider: 'myprovider',
|
|
153
|
+
});
|
|
154
|
+
var findStateHandler = provider.setupStates.bind(provider);
|
|
155
|
+
return expect(findStateHandler(unsuccessfulMessage)).to.eventually.deep.equal([]);
|
|
156
|
+
});
|
|
157
|
+
});
|
|
158
|
+
});
|
|
159
|
+
describe('#waitForServerReady', function () {
|
|
160
|
+
describe('when the http server starts up', function () {
|
|
161
|
+
it('returns a resolved promise', function () {
|
|
162
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
163
|
+
var server = http.createServer(function () { }).listen();
|
|
164
|
+
return expect((0, messageProviderPact_1.waitForServerReady)(server)).to.eventually.be.fulfilled;
|
|
165
|
+
});
|
|
166
|
+
});
|
|
167
|
+
});
|
|
168
|
+
describe('#setupProxyServer', function () {
|
|
169
|
+
describe('when the http server starts up', function () {
|
|
170
|
+
it('returns a resolved promise', function () {
|
|
171
|
+
var app = (0, express_1.default)();
|
|
172
|
+
expect((0, messageProviderPact_1.setupProxyServer)(app)).to.be.an.instanceOf(http.Server);
|
|
173
|
+
});
|
|
174
|
+
});
|
|
175
|
+
});
|
|
176
|
+
describe('#setupProxyApplication', function () {
|
|
177
|
+
it('returns a valid express app', function () {
|
|
178
|
+
var setupProxyApplication = provider.setupProxyApplication.bind(provider);
|
|
179
|
+
expect(setupProxyApplication().listen).to.be.a('function');
|
|
180
|
+
});
|
|
181
|
+
});
|
|
182
|
+
});
|
|
183
|
+
//# sourceMappingURL=messageProviderPact.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"messageProviderPact.spec.js","sourceRoot":"","sources":["../../src/messageProviderPact.spec.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAAkD;AAClD,yCAA6B;AAC7B,sEAA8C;AAC9C,0DAAmC;AACnC,oDAA8B;AAC9B,yCAA6B;AAE7B,6DAI+B;AAE/B,IAAI,CAAC,GAAG,CAAC,oBAAS,CAAC,CAAC;AACpB,IAAI,CAAC,GAAG,CAAC,0BAAc,CAAC,CAAC;AAEjB,IAAA,MAAM,GAAK,IAAI,OAAT,CAAU;AAExB,QAAQ,CAAC,gBAAgB,EAAE;IACzB,IAAI,QAA6B,CAAC;IAClC,IAAM,iBAAiB,GAAG,mBAAmB,CAAC;IAC9C,IAAM,mBAAmB,GAAG,qBAAqB,CAAC;IAElD,IAAM,iBAAiB,GAAY;QACjC,QAAQ,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE;QACxB,WAAW,EAAE,iBAAiB;QAC9B,cAAc,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;KACzC,CAAC;IAEF,IAAM,mBAAmB,GAAY;QACnC,QAAQ,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE;QACxB,WAAW,EAAE,mBAAmB;QAChC,cAAc,EAAE,CAAC,EAAE,IAAI,EAAE,sBAAsB,EAAE,CAAC;KACnD,CAAC;IACF,IAAM,kBAAkB,GAAY;QAClC,QAAQ,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE;QACxB,WAAW,EAAE,gBAAgB;QAC7B,cAAc,EAAE,CAAC,EAAE,IAAI,EAAE,sBAAsB,EAAE,CAAC;KACnD,CAAC;IAEF,UAAU,CAAC;QACT,QAAQ,GAAG,IAAI,yCAAmB,CAAC;YACjC,QAAQ,EAAE,OAAO;YACjB,gBAAgB,EAAE;gBAChB,iBAAiB,EAAE,cAAM,OAAA,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAtB,CAAsB;gBAC/C,mBAAmB,EAAE,cAAM,OAAA,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,EAAhC,CAAgC;aAC5D;YACD,QAAQ,EAAE,YAAY;YACtB,aAAa,EAAE;gBACb,YAAY,EAAE,cAAM,OAAA,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAtB,CAAsB;gBAC1C,wBAAwB,EAAE,UAAC,IAAI,EAAE,MAAM;oBACrC,OAAA,OAAO,CAAC,OAAO,CAAC,gBAAS,IAAI,uBAAa,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAE,CAAC;gBAAnE,CAAmE;aACtE;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,cAAc,EAAE;QACvB,EAAE,CAAC,+DAA+D,EAAE;YAClE,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YACnC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,4DAA4D,EAAE;YAC/D,QAAQ,GAAG,IAAI,yCAAmB,CAAC;gBACjC,gBAAgB,EAAE,EAAE;gBACpB,QAAQ,EAAE,YAAY;aACvB,CAAC,CAAC;YACH,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YACnC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,2BAA2B,EAAE;QACpC,QAAQ,CAAC,6BAA6B,EAAE;YACtC,EAAE,CAAC,iCAAiC,EAAE,UAAC,IAAI;gBACzC,IAAM,wBAAwB,GAC5B,QACD,CAAC,wBAAwB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC5C,IAAM,GAAG,GAAG,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC;gBACxC,IAAM,GAAG,GAAG;oBACV,IAAI,EAAE,cAAM,OAAA,IAAI,EAAE,EAAN,CAAM,EAAE,oBAAoB;iBACzC,CAAC;gBAEF,wBAAwB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACrC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,QAAQ,CAAC,gCAAgC,EAAE;YACzC,EAAE,CAAC,0DAA0D,EAAE,UAAC,IAAI;gBAClE,IAAM,wBAAwB,GAC5B,QACD,CAAC,wBAAwB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC5C,IAAM,GAAG,GAAG,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC;gBACzC,IAAM,GAAG,GAAG;oBACV,MAAM,EAAE,UAAC,MAAc;wBACrB,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;wBAE1B,OAAO;4BACL,IAAI,EAAE,cAAM,OAAA,IAAI,EAAE,EAAN,CAAM,EAAE,0CAA0C;yBAC/D,CAAC;oBACJ,CAAC;iBACF,CAAC;gBAEF,wBAAwB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACrC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,cAAc,EAAE;QACvB,QAAQ,CAAC,kCAAkC,EAAE;YAC3C,EAAE,CAAC,0BAA0B,EAAE;gBAC7B,IAAM,WAAW,GAAI,QAAgB,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACjE,OAAO,MAAM,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAC9D,UAAU,CACX,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,QAAQ,CAAC,0CAA0C,EAAE;YACnD,EAAE,CAAC,0BAA0B,EAAE;gBAC7B,IAAM,WAAW,GAAI,QAAgB,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACjE,OAAO,MAAM,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,QAAQ,CAAC;YACvE,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,cAAc,EAAE;QACvB,QAAQ,CAAC,kCAAkC,EAAE;YAC3C,EAAE,CAAC,yCAAyC,EAAE;gBAC5C,IAAM,WAAW,GAAI,QAAgB,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACjE,OAAO,MAAM,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC;oBACrE,KAAK;iBACN,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YACH,EAAE,CAAC,8BAA8B,EAAE;gBACjC,IAAM,WAAW,GAAI,QAAgB,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACjE,OAAO,MAAM,CACX,WAAW,CAAC;oBACV,cAAc,EAAE;wBACd,EAAE,IAAI,EAAE,wBAAwB,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE;qBAC3D;iBACF,CAAC,CACH,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC;oBACzB,qDAAqD;iBACtD,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,QAAQ,CAAC,iDAAiD,EAAE;YAC1D,EAAE,CAAC,0BAA0B,EAAE;gBAC7B,QAAQ,GAAG,IAAI,yCAAmB,CAAC;oBACjC,gBAAgB,EAAE,EAAE;oBACpB,QAAQ,EAAE,YAAY;iBACvB,CAAC,CAAC;gBACH,IAAM,gBAAgB,GAAI,QAAgB,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACtE,OAAO,MAAM,CACX,gBAAgB,CAAC,mBAAmB,CAAC,CACtC,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACjC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,qBAAqB,EAAE;QAC9B,QAAQ,CAAC,gCAAgC,EAAE;YACzC,EAAE,CAAC,4BAA4B,EAAE;gBAC/B,gEAAgE;gBAChE,IAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,cAAO,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;gBAEpD,OAAO,MAAM,CAAC,IAAA,wCAAkB,EAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,SAAS,CAAC;YACvE,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,QAAQ,CAAC,mBAAmB,EAAE;QAC5B,QAAQ,CAAC,gCAAgC,EAAE;YACzC,EAAE,CAAC,4BAA4B,EAAE;gBAC/B,IAAM,GAAG,GAAG,IAAA,iBAAO,GAAE,CAAC;gBAEtB,MAAM,CAAC,IAAA,sCAAgB,EAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACjE,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,QAAQ,CAAC,wBAAwB,EAAE;QACjC,EAAE,CAAC,6BAA6B,EAAE;YAChC,IAAM,qBAAqB,GACzB,QACD,CAAC,qBAAqB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACvC,MAAM,CAAC,qBAAqB,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pact.integration.spec.js","sourceRoot":"","sources":["../../src/pact.integration.spec.ts"],"names":[],"mappings":"AAAA,yFAAyF;AACzF,sCAAsC;AACtC,+BAA+B;AAC/B,qDAAqD;AACrD,+BAA+B;AAC/B,2CAA2C;AAC3C,gDAAgD;AAChD,0CAA0C;AAE1C,2BAA2B;AAC3B,6BAA6B;AAC7B,4CAA4C;AAE5C,kCAAkC;AAClC,wCAAwC;AAExC,oCAAoC;AACpC,uDAAuD;AACvD,iEAAiE;AACjE,oEAAoE;AACpE,4DAA4D;AAC5D,oCAAoC;AACpC,wCAAwC;AACxC,8CAA8C;AAC9C,2BAA2B;AAC3B,kFAAkF;AAClF,qDAAqD;AACrD,4BAA4B;AAC5B,qCAAqC;AACrC,mBAAmB;AACnB,WAAW;AAEX,gCAAgC;AAChC,YAAY;AACZ,mBAAmB;AACnB,+BAA+B;AAC/B,6CAA6C;AAC7C,qBAAqB;AACrB,gBAAgB;AAChB,uBAAuB;AACvB,wCAAwC;AACxC,4BAA4B;AAC5B,iBAAiB;AACjB,gBAAgB;AAChB,uBAAuB;AACvB,uCAAuC;AACvC,6BAA6B;AAC7B,iBAAiB;AACjB,gBAAgB;AAChB,uBAAuB;AACvB,yCAAyC;AACzC,6BAA6B;AAC7B,iBAAiB;AACjB,gBAAgB;AAChB,uBAAuB;AACvB,oCAAoC;AACpC,6BAA6B;AAC7B,iBAAiB;AACjB,eAAe;AACf,aAAa;AACb,UAAU;AAEV,uCAAuC;AAEvC,sEAAsE;AACtE,yCAAyC;AAEzC,iDAAiD;AACjD,iDAAiD;AACjD,uBAAuB;AACvB,sCAAsC;AACtC,kDAAkD;AAClD,uDAAuD;AACvD,6BAA6B;AAC7B,wCAAwC;AACxC,mCAAmC;AACnC,2BAA2B;AAC3B,8CAA8C;AAC9C,mBAAmB;AACnB,iBAAiB;AACjB,iCAAiC;AACjC,6BAA6B;AAC7B,2BAA2B;AAC3B,sDAAsD;AACtD,mBAAmB;AACnB,qCAAqC;AACrC,iBAAiB;AACjB,eAAe;AACf,YAAY;AAEZ,qCAAqC;AACrC,+CAA+C;AAC/C,uBAAuB;AACvB,+CAA+C;AAC/C,qBAAqB;AACrB,4CAA4C;AAC5C,iBAAiB;AACjB,oCAAoC;AACpC,uEAAuE;AACvE,kBAAkB;AAElB,sDAAsD;AACtD,+DAA+D;AAC/D,WAAW;AAEX,8EAA8E;AAC9E,iDAAiD;AACjD,yBAAyB;AACzB,6CAA6C;AAC7C,kDAAkD;AAClD,qEAAqE;AACrE,6BAA6B;AAC7B,wCAAwC;AACxC,mCAAmC;AACnC,yBAAyB;AACzB,iCAAiC;AACjC,mBAAmB;AACnB,2BAA2B;AAC3B,8CAA8C;AAC9C,mBAAmB;AACnB,iBAAiB;AACjB,iCAAiC;AACjC,6BAA6B;AAC7B,2BAA2B;AAC3B,sDAAsD;AACtD,mBAAmB;AACnB,qCAAqC;AACrC,iBAAiB;AACjB,eAAe;AACf,aAAa;AAEb,qCAAqC;AACrC,+CAA+C;AAC/C,uBAAuB;AACvB,0DAA0D;AAC1D,qBAAqB;AACrB,4CAA4C;AAC5C,iBAAiB;AACjB,oCAAoC;AACpC,uEAAuE;AACvE,kBAAkB;AAElB,sDAAsD;AACtD,+DAA+D;AAC/D,WAAW;AAEX,0EAA0E;AAC1E,iDAAiD;AACjD,yBAAyB;AACzB,6CAA6C;AAC7C,2EAA2E;AAC3E,4DAA4D;AAC5D,6BAA6B;AAC7B,wCAAwC;AACxC,mCAAmC;AACnC,2BAA2B;AAC3B,8CAA8C;AAC9C,mBAAmB;AACnB,iBAAiB;AACjB,iCAAiC;AACjC,6BAA6B;AAC7B,2BAA2B;AAC3B,yCAAyC;AACzC,kDAAkD;AAClD,iDAAiD;AACjD,sBAAsB;AACtB,mBAAmB;AACnB,wBAAwB;AACxB,oBAAoB;AACpB,2BAA2B;AAC3B,uCAAuC;AACvC,qDAAqD;AACrD,qCAAqC;AACrC,wBAAwB;AACxB,qCAAqC;AACrC,sDAAsD;AACtD,0CAA0C;AAC1C,yBAAyB;AACzB,wBAAwB;AACxB,gCAAgC;AAChC,wBAAwB;AACxB,uBAAuB;AACvB,qBAAqB;AACrB,mBAAmB;AACnB,iBAAiB;AACjB,eAAe;AACf,aAAa;AAEb,qCAAqC;AACrC,iDAAiD;AACjD,mDAAmD;AACnD,+CAA+C;AAC/C,mDAAmD;AACnD,2DAA2D;AAE3D,4EAA4E;AAC5E,sBAAsB;AACtB,cAAc;AACd,aAAa;AAEb,sDAAsD;AACtD,+DAA+D;AAC/D,WAAW;AAEX,6CAA6C;AAC7C,yBAAyB;AACzB,2DAA2D;AAC3D,kDAAkD;AAClD,uDAAuD;AACvD,6BAA6B;AAC7B,wCAAwC;AACxC,mCAAmC;AACnC,2BAA2B;AAC3B,8CAA8C;AAC9C,mBAAmB;AACnB,iBAAiB;AACjB,iCAAiC;AACjC,6BAA6B;AAC7B,2BAA2B;AAC3B,sDAAsD;AACtD,mBAAmB;AACnB,qCAAqC;AACrC,iBAAiB;AACjB,eAAe;AAEf,2DAA2D;AAC3D,kDAAkD;AAClD,4EAA4E;AAC5E,6BAA6B;AAC7B,wCAAwC;AACxC,qCAAqC;AACrC,2BAA2B;AAC3B,8CAA8C;AAC9C,mBAAmB;AACnB,iBAAiB;AACjB,iCAAiC;AACjC,6BAA6B;AAC7B,2BAA2B;AAC3B,sDAAsD;AACtD,mBAAmB;AACnB,iBAAiB;AACjB,eAAe;AAEf,6DAA6D;AAC7D,aAAa;AAEb,4CAA4C;AAC5C,mDAAmD;AACnD,+CAA+C;AAC/C,qBAAqB;AACrB,4CAA4C;AAC5C,iBAAiB;AACjB,4CAA4C;AAE5C,sDAAsD;AACtD,iDAAiD;AACjD,qBAAqB;AACrB,4CAA4C;AAC5C,iBAAiB;AACjB,iCAAiC;AACjC,+DAA+D;AAC/D,8CAA8C;AAC9C,iBAAiB;AACjB,wEAAwE;AACxE,eAAe;AACf,aAAa;AAEb,sDAAsD;AACtD,+DAA+D;AAC/D,WAAW;AAEX,0DAA0D;AAC1D,iDAAiD;AACjD,uBAAuB;AACvB,qBAAqB;AACrB,gCAAgC;AAChC,oDAAoD;AACpD,yDAAyD;AACzD,+BAA+B;AAC/B,0CAA0C;AAC1C,qCAAqC;AACrC,6BAA6B;AAC7B,gDAAgD;AAChD,qBAAqB;AACrB,mBAAmB;AACnB,mCAAmC;AACnC,+BAA+B;AAC/B,6BAA6B;AAC7B,wDAAwD;AACxD,qBAAqB;AACrB,uCAAuC;AACvC,mBAAmB;AACnB,iBAAiB;AACjB,qBAAqB;AACrB,gEAAgE;AAChE,iEAAiE;AACjE,gBAAgB;AAChB,YAAY;AAEZ,2CAA2C;AAC3C,mDAAmD;AACnD,+CAA+C;AAC/C,mDAAmD;AACnD,0BAA0B;AAC1B,gFAAgF;AAChF,gBAAgB;AAChB,6CAA6C;AAE7C,mEAAmE;AACnE,uFAAuF;AACvF,cAAc;AACd,aAAa;AACb,WAAW;AACX,SAAS;AACT,OAAO;AACP,KAAK"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { Mismatch, MatchingResult, RequestMismatch } from '@pact-foundation/pact-core/src/consumer/index';
|
|
2
|
+
export declare function displayQuery(query: Record<string, string[]>): string;
|
|
3
|
+
export declare function displayRequest(request: RequestMismatch, indent?: string): string;
|
|
4
|
+
export declare function filterMissingFeatureFlag(mismatches: MatchingResult[]): MatchingResult[];
|
|
5
|
+
export declare function printMismatch(m: Mismatch): string;
|
|
6
|
+
export declare function generateMockServerError(mismatches: MatchingResult[], indent: string): string;
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
3
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
4
|
+
if (ar || !(i in from)) {
|
|
5
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
6
|
+
ar[i] = from[i];
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.generateMockServerError = exports.printMismatch = exports.filterMissingFeatureFlag = exports.displayRequest = exports.displayQuery = void 0;
|
|
13
|
+
/* eslint-disable import/first */
|
|
14
|
+
var ramda_1 = require("ramda");
|
|
15
|
+
function displayQuery(query) {
|
|
16
|
+
var pairs = (0, ramda_1.toPairs)(query);
|
|
17
|
+
var mapped = (0, ramda_1.flatten)((0, ramda_1.map)(function (_a) {
|
|
18
|
+
var key = _a[0], values = _a[1];
|
|
19
|
+
return (0, ramda_1.map)(function (val) { return "".concat(key, "=").concat(val); }, values);
|
|
20
|
+
}, pairs));
|
|
21
|
+
return (0, ramda_1.join)('&', mapped);
|
|
22
|
+
}
|
|
23
|
+
exports.displayQuery = displayQuery;
|
|
24
|
+
function displayHeaders(headers, indent) {
|
|
25
|
+
return (0, ramda_1.join)("\n".concat(indent), (0, ramda_1.map)(function (_a) {
|
|
26
|
+
var k = _a[0], v = _a[1];
|
|
27
|
+
return "".concat(k, ": ").concat(v);
|
|
28
|
+
}, (0, ramda_1.toPairs)(headers)));
|
|
29
|
+
}
|
|
30
|
+
function displayRequest(request, indent) {
|
|
31
|
+
if (indent === void 0) { indent = ''; }
|
|
32
|
+
var output = [''];
|
|
33
|
+
output.push("".concat(indent, "Method: ").concat(request.method, "\n").concat(indent, "Path: ").concat(request.path));
|
|
34
|
+
if (request.query) {
|
|
35
|
+
output.push("".concat(indent, "Query String: ").concat(displayQuery(request.query)));
|
|
36
|
+
}
|
|
37
|
+
if (request.headers) {
|
|
38
|
+
output.push("".concat(indent, "Headers:\n").concat(indent, " ").concat(displayHeaders(request.headers, "".concat(indent, " "))));
|
|
39
|
+
}
|
|
40
|
+
if (request.body) {
|
|
41
|
+
var body = JSON.stringify(request.body);
|
|
42
|
+
output.push("".concat(indent, "Body: ").concat(body.substr(0, 20), "... (").concat(body.length, " length)"));
|
|
43
|
+
}
|
|
44
|
+
return output.join('\n');
|
|
45
|
+
}
|
|
46
|
+
exports.displayRequest = displayRequest;
|
|
47
|
+
function filterMissingFeatureFlag(mismatches) {
|
|
48
|
+
if (process.env.PACT_EXPERIMENTAL_FEATURE_ALLOW_MISSING_REQUESTS) {
|
|
49
|
+
return mismatches.filter(function (m) { return m.type !== 'request-mismatch'; });
|
|
50
|
+
}
|
|
51
|
+
return mismatches;
|
|
52
|
+
}
|
|
53
|
+
exports.filterMissingFeatureFlag = filterMissingFeatureFlag;
|
|
54
|
+
function printMismatch(m) {
|
|
55
|
+
switch (m.type) {
|
|
56
|
+
case 'MethodMismatch':
|
|
57
|
+
return "Expected ".concat(m.expected, ", got: ").concat(m.actual);
|
|
58
|
+
default:
|
|
59
|
+
return m.mismatch;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
exports.printMismatch = printMismatch;
|
|
63
|
+
function generateMockServerError(mismatches, indent) {
|
|
64
|
+
return __spreadArray([
|
|
65
|
+
'Mock server failed with the following mismatches:'
|
|
66
|
+
], mismatches.map(function (mismatch, i) {
|
|
67
|
+
var _a;
|
|
68
|
+
if (mismatch.type === 'request-mismatch') {
|
|
69
|
+
return "\n".concat(indent).concat(i, ") The following request was incorrect: \n\n ").concat(indent).concat(mismatch.method, " ").concat(mismatch.path, "\n ").concat((_a = mismatch.mismatches) === null || _a === void 0 ? void 0 : _a.map(function (d, j) {
|
|
70
|
+
return "\n".concat(indent).concat(indent).concat(indent, " 1.").concat(j, " ").concat(printMismatch(d));
|
|
71
|
+
}).join(''));
|
|
72
|
+
}
|
|
73
|
+
if (mismatch.type === 'request-not-found') {
|
|
74
|
+
return "\n".concat(indent).concat(i, ") The following request was not expected: ").concat(displayRequest(mismatch.request, "".concat(indent, " ")));
|
|
75
|
+
}
|
|
76
|
+
if (mismatch.type === 'missing-request') {
|
|
77
|
+
return "\n".concat(indent).concat(i, ") The following request was expected but not received: ").concat(displayRequest(mismatch.request, "".concat(indent, " ")));
|
|
78
|
+
}
|
|
79
|
+
return '';
|
|
80
|
+
}), true).join('\n');
|
|
81
|
+
}
|
|
82
|
+
exports.generateMockServerError = generateMockServerError;
|
|
83
|
+
//# sourceMappingURL=display.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"display.js","sourceRoot":"","sources":["../../../src/v3/display.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export * from './pact';
|
|
2
|
+
export * from './types';
|
|
3
|
+
/**
|
|
4
|
+
* Exposes {@link MatchersV3}
|
|
5
|
+
* @memberof Pact
|
|
6
|
+
* @static
|
|
7
|
+
*/
|
|
8
|
+
export * as MatchersV3 from './matchers';
|
|
9
|
+
/**
|
|
10
|
+
* Exposes {@link xml}
|
|
11
|
+
* @memberof Pact
|
|
12
|
+
* @static
|
|
13
|
+
*/
|
|
14
|
+
export * from './xml/xmlBuilder';
|
|
15
|
+
export * from './xml/xmlElement';
|
|
16
|
+
export * from './xml/xmlNode';
|
|
17
|
+
export * from './xml/xmlText';
|
package/src/v3/index.js
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
19
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
20
|
+
};
|
|
21
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
22
|
+
if (mod && mod.__esModule) return mod;
|
|
23
|
+
var result = {};
|
|
24
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
25
|
+
__setModuleDefault(result, mod);
|
|
26
|
+
return result;
|
|
27
|
+
};
|
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
exports.MatchersV3 = void 0;
|
|
30
|
+
__exportStar(require("./pact"), exports);
|
|
31
|
+
__exportStar(require("./types"), exports);
|
|
32
|
+
/**
|
|
33
|
+
* Exposes {@link MatchersV3}
|
|
34
|
+
* @memberof Pact
|
|
35
|
+
* @static
|
|
36
|
+
*/
|
|
37
|
+
exports.MatchersV3 = __importStar(require("./matchers"));
|
|
38
|
+
/**
|
|
39
|
+
* Exposes {@link xml}
|
|
40
|
+
* @memberof Pact
|
|
41
|
+
* @static
|
|
42
|
+
*/
|
|
43
|
+
__exportStar(require("./xml/xmlBuilder"), exports);
|
|
44
|
+
__exportStar(require("./xml/xmlElement"), exports);
|
|
45
|
+
__exportStar(require("./xml/xmlNode"), exports);
|
|
46
|
+
__exportStar(require("./xml/xmlText"), exports);
|
|
47
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/v3/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAAuB;AACvB,0CAAwB;AAExB;;;;GAIG;AACH,yDAAyC;AAEzC;;;;GAIG;AACH,mDAAiC;AACjC,mDAAiC;AACjC,gDAA8B;AAC9B,gDAA8B"}
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
import { AnyJson } from '../common/jsonTypes';
|
|
2
|
+
/**
|
|
3
|
+
* Pact Matcher
|
|
4
|
+
*/
|
|
5
|
+
export interface Matcher<T> {
|
|
6
|
+
'pact:matcher:type': string;
|
|
7
|
+
'pact:generator:type'?: string;
|
|
8
|
+
value?: T;
|
|
9
|
+
}
|
|
10
|
+
export declare type AnyTemplate = AnyJson | TemplateMap | TemplateArray | Matcher<unknown>;
|
|
11
|
+
interface TemplateMap {
|
|
12
|
+
[key: string]: AnyJson | AnyTemplate;
|
|
13
|
+
}
|
|
14
|
+
declare type TemplateArray = Array<AnyTemplate>;
|
|
15
|
+
/**
|
|
16
|
+
* Value must match the given template
|
|
17
|
+
* @param template Template to base the comparison on
|
|
18
|
+
*/
|
|
19
|
+
export declare const like: <T extends AnyTemplate>(template: T) => Matcher<T>;
|
|
20
|
+
/**
|
|
21
|
+
* Object where the key itself is ignored, but the value template must match.
|
|
22
|
+
*
|
|
23
|
+
* @param keyTemplate Example key to use
|
|
24
|
+
* @param template Example value template to base the comparison on
|
|
25
|
+
*/
|
|
26
|
+
export declare const eachKeyLike: <T extends AnyTemplate>(keyTemplate: string, template: T) => Matcher<AnyTemplate>;
|
|
27
|
+
/**
|
|
28
|
+
* Array where each element must match the given template
|
|
29
|
+
* @param template Template to base the comparison on
|
|
30
|
+
*/
|
|
31
|
+
export declare const eachLike: <T extends AnyTemplate>(template: T) => Matcher<T[]>;
|
|
32
|
+
/**
|
|
33
|
+
* Like Matcher with a minimum number of required values
|
|
34
|
+
*/
|
|
35
|
+
export interface MinLikeMatcher<T> extends Matcher<T> {
|
|
36
|
+
min: number;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* An array that has to have at least one element and each element must match the given template
|
|
40
|
+
* @param template Template to base the comparison on
|
|
41
|
+
* @param count Number of examples to generate, defaults to one
|
|
42
|
+
*/
|
|
43
|
+
export declare const atLeastOneLike: <T extends AnyTemplate>(template: T, count?: number) => MinLikeMatcher<T[]>;
|
|
44
|
+
/**
|
|
45
|
+
* An array that has to have at least the required number of elements and each element must match the given template
|
|
46
|
+
* @param template Template to base the comparison on
|
|
47
|
+
* @param min Minimum number of elements required in the array
|
|
48
|
+
* @param count Number of examples to generate, defaults to min
|
|
49
|
+
*/
|
|
50
|
+
export declare const atLeastLike: <T extends AnyTemplate>(template: T, min: number, count?: number) => MinLikeMatcher<T[]>;
|
|
51
|
+
/**
|
|
52
|
+
* Like Matcher with a maximum number of required values
|
|
53
|
+
*/
|
|
54
|
+
export interface MaxLikeMatcher<T> extends Matcher<T> {
|
|
55
|
+
max: number;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* An array that has to have at most the required number of elements and each element must match the given template
|
|
59
|
+
* @param template Template to base the comparison on
|
|
60
|
+
* @param max Maximum number of elements required in the array
|
|
61
|
+
* @param count Number of examples to generate, defaults to one
|
|
62
|
+
*/
|
|
63
|
+
export declare const atMostLike: <T extends AnyTemplate>(template: T, max: number, count?: number) => MaxLikeMatcher<T[]>;
|
|
64
|
+
/**
|
|
65
|
+
* An array whose size is constrained to the minimum and maximum number of elements and each element must match the given template
|
|
66
|
+
* @param template Template to base the comparison on
|
|
67
|
+
* @param min Minimum number of elements required in the array
|
|
68
|
+
* @param max Maximum number of elements required in the array
|
|
69
|
+
* @param count Number of examples to generate, defaults to one
|
|
70
|
+
*/
|
|
71
|
+
export declare const constrainedArrayLike: <T extends AnyTemplate>(template: T, min: number, max: number, count?: number) => MinLikeMatcher<T[]> & MaxLikeMatcher<T[]>;
|
|
72
|
+
/**
|
|
73
|
+
* Value must be a boolean
|
|
74
|
+
* @param b Boolean example value. Defaults to true if unsupplied
|
|
75
|
+
*/
|
|
76
|
+
export declare const boolean: (b?: boolean) => Matcher<boolean>;
|
|
77
|
+
/**
|
|
78
|
+
* Value must be an integer (must be a number and have no decimal places)
|
|
79
|
+
* @param int Example value. If omitted a random value will be generated.
|
|
80
|
+
*/
|
|
81
|
+
export declare const integer: (int?: number) => Matcher<number>;
|
|
82
|
+
/**
|
|
83
|
+
* Value must be a decimal number (must be a number and have decimal places)
|
|
84
|
+
* @param num Example value. If omitted a random value will be generated.
|
|
85
|
+
*/
|
|
86
|
+
export declare const decimal: (num?: number) => Matcher<number>;
|
|
87
|
+
/**
|
|
88
|
+
* Value must be a number
|
|
89
|
+
* @param num Example value. If omitted a random integer value will be generated.
|
|
90
|
+
*/
|
|
91
|
+
export declare function number(num?: number): Matcher<number>;
|
|
92
|
+
/**
|
|
93
|
+
* Value must be a string
|
|
94
|
+
* @param str Example value
|
|
95
|
+
*/
|
|
96
|
+
export declare function string(str: string): Matcher<string>;
|
|
97
|
+
export interface RegexMatcher extends Matcher<string> {
|
|
98
|
+
regex: string;
|
|
99
|
+
example?: string;
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Value that must match the given regular expression
|
|
103
|
+
* @param pattern Regular Expression to match
|
|
104
|
+
* @param str Example value
|
|
105
|
+
*/
|
|
106
|
+
export declare function regex(pattern: RegExp | string, str: string): RegexMatcher;
|
|
107
|
+
/**
|
|
108
|
+
* Value that must be equal to the example. This is mainly used to reset the matching rules which cascade.
|
|
109
|
+
* @param value Example value
|
|
110
|
+
*/
|
|
111
|
+
export declare const equal: <T extends AnyTemplate>(value: T) => Matcher<T>;
|
|
112
|
+
export interface DateTimeMatcher extends Matcher<string> {
|
|
113
|
+
format: string;
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* String value that must match the provided datetime format string.
|
|
117
|
+
* @param format Datetime format string. See [Java SimpleDateFormat](https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html)
|
|
118
|
+
* @param example Example value to use. If omitted a value using the current system date and time will be generated.
|
|
119
|
+
*/
|
|
120
|
+
export declare function datetime(format: string, example: string): DateTimeMatcher;
|
|
121
|
+
/**
|
|
122
|
+
* String value that must match the provided datetime format string.
|
|
123
|
+
* @param format Datetime format string. See [Java SimpleDateFormat](https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html)
|
|
124
|
+
* @param example Example value to use. If omitted a value using the current system date and time will be generated.
|
|
125
|
+
*/
|
|
126
|
+
export declare function timestamp(format: string, example: string): DateTimeMatcher;
|
|
127
|
+
/**
|
|
128
|
+
* String value that must match the provided time format string.
|
|
129
|
+
* @param format Time format string. See [Java SimpleDateFormat](https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html)
|
|
130
|
+
* @param example Example value to use. If omitted a value using the current system time will be generated.
|
|
131
|
+
*/
|
|
132
|
+
export declare function time(format: string, example: string): DateTimeMatcher;
|
|
133
|
+
/**
|
|
134
|
+
* String value that must match the provided date format string.
|
|
135
|
+
* @param format Date format string. See [Java SimpleDateFormat](https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html)
|
|
136
|
+
* @param example Example value to use. If omitted a value using the current system date will be generated.
|
|
137
|
+
*/
|
|
138
|
+
export declare function date(format: string, example: string): DateTimeMatcher;
|
|
139
|
+
/**
|
|
140
|
+
* Value that must include the example value as a substring.
|
|
141
|
+
* @param value String value to include
|
|
142
|
+
*/
|
|
143
|
+
export declare function includes(value: string): Matcher<string>;
|
|
144
|
+
/**
|
|
145
|
+
* Value that must be null. This will only match the JSON Null value. For other content types, it will
|
|
146
|
+
* match if the attribute is missing.
|
|
147
|
+
*/
|
|
148
|
+
export declare function nullValue(): Matcher<null>;
|
|
149
|
+
/**
|
|
150
|
+
* Matches a URL composed of a base path and a list of path fragments
|
|
151
|
+
* @param basePath Base path of the URL. If null, will use the base URL from the mock server.
|
|
152
|
+
* @param pathFragments list of path fragments, can be regular expressions
|
|
153
|
+
*/
|
|
154
|
+
export declare function url2(basePath: string | null, pathFragments: Array<string | RegexMatcher | RegExp>): RegexMatcher;
|
|
155
|
+
/**
|
|
156
|
+
* Matches a URL composed of a list of path fragments. The base URL from the mock server will be used.
|
|
157
|
+
* @param pathFragments list of path fragments, can be regular expressions
|
|
158
|
+
*/
|
|
159
|
+
export declare function url(pathFragments: Array<string | RegexMatcher | RegExp>): RegexMatcher;
|
|
160
|
+
export interface ArrayContainsMatcher extends Matcher<AnyTemplate[]> {
|
|
161
|
+
variants: Array<AnyTemplate>;
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* Matches the items in an array against a number of variants. Matching is successful if each variant
|
|
165
|
+
* occurs once in the array. Variants may be objects containing matching rules.
|
|
166
|
+
*/
|
|
167
|
+
export declare function arrayContaining(...variants: AnyTemplate[]): ArrayContainsMatcher;
|
|
168
|
+
export interface ProviderStateInjectedValue<T> extends Matcher<T> {
|
|
169
|
+
expression: string;
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* Marks an item to be injected from the provider state
|
|
173
|
+
* @param expression Expression to lookup in the provider state context
|
|
174
|
+
* @param exampleValue Example value to use in the consumer test
|
|
175
|
+
*/
|
|
176
|
+
export declare function fromProviderState<V extends AnyJson>(expression: string, exampleValue: V): ProviderStateInjectedValue<V>;
|
|
177
|
+
/**
|
|
178
|
+
* Match a universally unique identifier (UUID). Random values will be used for examples if no example is given.
|
|
179
|
+
*/
|
|
180
|
+
export declare function uuid(example?: string): RegexMatcher;
|
|
181
|
+
export declare const matcherValueOrString: (obj: unknown) => string;
|
|
182
|
+
export {};
|