@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.
- package/CHANGELOG.md +17 -0
- package/MIGRATION.md +24 -1
- package/README.md +174 -1374
- package/package.json +24 -36
- package/src/common/net.d.ts +1 -0
- package/src/common/net.js +11 -1
- package/src/common/net.js.map +1 -1
- package/src/common/request.js +1 -0
- package/src/common/request.js.map +1 -1
- package/src/common/spec.d.ts +2 -0
- package/src/common/spec.js +22 -0
- package/src/common/spec.js.map +1 -0
- package/src/dsl/apolloGraphql.spec.js +24 -0
- package/src/dsl/apolloGraphql.spec.js.map +1 -1
- package/src/dsl/graphql.d.ts +2 -2
- package/src/dsl/graphql.js +1 -0
- package/src/dsl/graphql.js.map +1 -1
- package/src/dsl/graphql.spec.js +77 -2
- package/src/dsl/graphql.spec.js.map +1 -1
- package/src/dsl/interaction.d.ts +13 -7
- package/src/dsl/interaction.js +30 -1
- package/src/dsl/interaction.js.map +1 -1
- package/src/dsl/interaction.spec.js +21 -31
- package/src/dsl/interaction.spec.js.map +1 -1
- package/src/dsl/matchers.d.ts +27 -32
- package/src/dsl/matchers.js +24 -23
- package/src/dsl/matchers.js.map +1 -1
- package/src/dsl/matchers.spec.js +101 -96
- package/src/dsl/matchers.spec.js.map +1 -1
- package/src/dsl/message.d.ts +19 -13
- package/src/dsl/mockService.d.ts +1 -46
- package/src/dsl/mockService.js +0 -72
- package/src/dsl/mockService.js.map +1 -1
- package/src/dsl/verifier/verifier.spec.js +1 -1
- package/src/dsl/verifier/verifier.spec.js.map +1 -1
- package/src/httpPact/ffi.d.ts +15 -0
- package/src/httpPact/ffi.js +91 -0
- package/src/httpPact/ffi.js.map +1 -0
- package/src/{dsl/mockService.spec.d.ts → 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/src/httpPact/index.d.ts +10 -10
- package/src/httpPact/index.js +141 -80
- package/src/httpPact/index.js.map +1 -1
- package/src/httpPact/index.spec.js +117 -220
- package/src/httpPact/index.spec.js.map +1 -1
- package/src/httpPact/tracing.js +4 -4
- package/src/httpPact/tracing.js.map +1 -1
- package/src/index.d.ts +1 -7
- package/src/index.js +3 -8
- package/src/index.js.map +1 -1
- package/src/messageConsumerPact.d.ts +34 -17
- package/src/messageConsumerPact.js +85 -66
- package/src/messageConsumerPact.js.map +1 -1
- package/src/messageConsumerPact.spec.js +0 -46
- package/src/messageConsumerPact.spec.js.map +1 -1
- package/src/messageProviderPact.js +1 -1
- package/src/messageProviderPact.js.map +1 -1
- package/src/messageProviderPact.spec.js +17 -2
- package/src/messageProviderPact.spec.js.map +1 -1
- 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 +1 -6
- package/src/v3/index.js +1 -6
- package/src/v3/index.js.map +1 -1
- package/src/v3/matchers.d.ts +1 -0
- package/src/v3/matchers.js +7 -1
- package/src/v3/matchers.js.map +1 -1
- package/src/v3/pact.d.ts +4 -70
- package/src/v3/pact.js +68 -133
- package/src/v3/pact.js.map +1 -1
- package/src/v3/types.d.ts +81 -0
- package/src/v3/types.js +11 -0
- package/src/v3/types.js.map +1 -0
- package/src/v3/xml/xmlElement.spec.js +31 -48
- package/src/v3/xml/xmlElement.spec.js.map +1 -1
- package/src/dsl/mockService.spec.js +0 -124
- package/src/dsl/mockService.spec.js.map +0 -1
- package/src/dsl/publisher.d.ts +0 -10
- package/src/dsl/publisher.js +0 -22
- package/src/dsl/publisher.js.map +0 -1
- package/src/dsl/publisher.spec.d.ts +0 -1
- package/src/dsl/publisher.spec.js +0 -47
- package/src/dsl/publisher.spec.js.map +0 -1
- package/src/v3/verifier.d.ts +0 -12
- package/src/v3/verifier.js +0 -23
- package/src/v3/verifier.js.map +0 -1
- package/v3/index.d.ts +0 -1
- package/v3/index.js +0 -20
- package/v3/index.js.map +0 -1
|
@@ -2,17 +2,6 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* @module Message
|
|
4
4
|
*/
|
|
5
|
-
var __assign = (this && this.__assign) || function () {
|
|
6
|
-
__assign = Object.assign || function(t) {
|
|
7
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
8
|
-
s = arguments[i];
|
|
9
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
10
|
-
t[p] = s[p];
|
|
11
|
-
}
|
|
12
|
-
return t;
|
|
13
|
-
};
|
|
14
|
-
return __assign.apply(this, arguments);
|
|
15
|
-
};
|
|
16
5
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
17
6
|
if (k2 === undefined) k2 = k;
|
|
18
7
|
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
@@ -42,13 +31,21 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
42
31
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
43
32
|
exports.asynchronousBodyHandler = exports.synchronousBodyHandler = exports.MessageConsumerPact = void 0;
|
|
44
33
|
var lodash_1 = require("lodash");
|
|
45
|
-
var pact_core_1 =
|
|
46
|
-
var
|
|
34
|
+
var pact_core_1 = __importStar(require("@pact-foundation/pact-core"));
|
|
35
|
+
var ramda_1 = require("ramda");
|
|
47
36
|
var logger_1 = __importStar(require("./common/logger"));
|
|
48
37
|
var configurationError_1 = __importDefault(require("./errors/configurationError"));
|
|
49
|
-
var
|
|
50
|
-
|
|
51
|
-
|
|
38
|
+
var package_json_1 = require("../package.json");
|
|
39
|
+
var spec_1 = require("./common/spec");
|
|
40
|
+
var v3_1 = require("./v3");
|
|
41
|
+
var DEFAULT_PACT_DIR = './pacts';
|
|
42
|
+
// eslint-disable-next-line no-shadow
|
|
43
|
+
var ContentType;
|
|
44
|
+
(function (ContentType) {
|
|
45
|
+
ContentType[ContentType["JSON"] = 0] = "JSON";
|
|
46
|
+
ContentType[ContentType["BINARY"] = 1] = "BINARY";
|
|
47
|
+
ContentType[ContentType["STRING"] = 2] = "STRING";
|
|
48
|
+
})(ContentType || (ContentType = {}));
|
|
52
49
|
/**
|
|
53
50
|
* A Message Consumer is analagous to a Provider in the HTTP Interaction model.
|
|
54
51
|
* It is the receiver of an interaction, and needs to be able to handle whatever
|
|
@@ -57,33 +54,30 @@ var isMessage = function (x) {
|
|
|
57
54
|
var MessageConsumerPact = /** @class */ (function () {
|
|
58
55
|
function MessageConsumerPact(config) {
|
|
59
56
|
this.config = config;
|
|
60
|
-
// Build up a valid Message object
|
|
61
57
|
this.state = {};
|
|
58
|
+
this.pact = (0, pact_core_1.makeConsumerAsyncMessagePact)(config.consumer, config.provider, (0, spec_1.numberToSpec)(config.spec, v3_1.SpecificationVersion.SPECIFICATION_VERSION_V3), config.logLevel);
|
|
59
|
+
this.pact.addMetadata('pact-js', 'version', package_json_1.version);
|
|
60
|
+
this.message = this.pact.newMessage('');
|
|
62
61
|
if (!(0, lodash_1.isEmpty)(config.logLevel)) {
|
|
63
62
|
(0, logger_1.setLogLevel)(config.logLevel);
|
|
64
63
|
pact_core_1.default.logLevel(config.logLevel);
|
|
65
64
|
}
|
|
66
65
|
}
|
|
67
|
-
// eslint-disable-next-line class-methods-use-this
|
|
68
|
-
MessageConsumerPact.prototype.getServiceFactory = function () {
|
|
69
|
-
return pact_core_1.default;
|
|
70
|
-
};
|
|
71
66
|
/**
|
|
72
67
|
* Gives a state the provider should be in for this Message.
|
|
73
68
|
*
|
|
74
|
-
* @param {string}
|
|
69
|
+
* @param {string} state - The state of the provider.
|
|
75
70
|
* @returns {Message} MessageConsumer
|
|
76
71
|
*/
|
|
77
|
-
MessageConsumerPact.prototype.given = function (
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
];
|
|
72
|
+
MessageConsumerPact.prototype.given = function (state) {
|
|
73
|
+
var _this = this;
|
|
74
|
+
if (typeof state === 'string') {
|
|
75
|
+
this.message.given(state);
|
|
76
|
+
}
|
|
77
|
+
else {
|
|
78
|
+
(0, ramda_1.forEachObjIndexed)(function (v, k) {
|
|
79
|
+
_this.message.givenWithParam(state.name, "".concat(k), JSON.stringify(v));
|
|
80
|
+
}, state.params);
|
|
87
81
|
}
|
|
88
82
|
return this;
|
|
89
83
|
};
|
|
@@ -97,13 +91,14 @@ var MessageConsumerPact = /** @class */ (function () {
|
|
|
97
91
|
if ((0, lodash_1.isEmpty)(description)) {
|
|
98
92
|
throw new configurationError_1.default('You must provide a description for the Message.');
|
|
99
93
|
}
|
|
100
|
-
this.
|
|
94
|
+
this.message.expectsToReceive(description);
|
|
101
95
|
return this;
|
|
102
96
|
};
|
|
103
97
|
/**
|
|
104
|
-
* The
|
|
98
|
+
* The JSON object to be received by the message consumer.
|
|
105
99
|
*
|
|
106
|
-
* May be a JSON
|
|
100
|
+
* May be a JSON object or JSON primitive. The contents must be able to be properly
|
|
101
|
+
* strigified and parse (i.e. via JSON.stringify and JSON.parse).
|
|
107
102
|
*
|
|
108
103
|
* @param {string} content - A description of the Message to be received
|
|
109
104
|
* @returns {Message} MessageConsumer
|
|
@@ -112,30 +107,53 @@ var MessageConsumerPact = /** @class */ (function () {
|
|
|
112
107
|
if ((0, lodash_1.isEmpty)(content)) {
|
|
113
108
|
throw new configurationError_1.default('You must provide a valid JSON document or primitive for the Message.');
|
|
114
109
|
}
|
|
115
|
-
this.
|
|
110
|
+
this.message.withContents(JSON.stringify(content), 'application/json');
|
|
111
|
+
this.state.contentType = ContentType.JSON;
|
|
116
112
|
return this;
|
|
117
113
|
};
|
|
118
114
|
/**
|
|
119
|
-
*
|
|
115
|
+
* The text content to be received by the message consumer.
|
|
116
|
+
*
|
|
117
|
+
* May be any text
|
|
118
|
+
*
|
|
119
|
+
* @param {string} content - A description of the Message to be received
|
|
120
|
+
* @returns {Message} MessageConsumer
|
|
121
|
+
*/
|
|
122
|
+
MessageConsumerPact.prototype.withTextContent = function (content, contentType) {
|
|
123
|
+
this.message.withContents(content, contentType);
|
|
124
|
+
this.state.contentType = ContentType.STRING;
|
|
125
|
+
return this;
|
|
126
|
+
};
|
|
127
|
+
/**
|
|
128
|
+
* The binary content to be received by the message consumer.
|
|
129
|
+
*
|
|
130
|
+
* Content will be stored in base64 in the resulting pact file.
|
|
131
|
+
*
|
|
132
|
+
* @param {Buffer} content - A buffer containing the binary content
|
|
133
|
+
* @param {String} contenttype - The mime type of the content to expect
|
|
134
|
+
* @returns {Message} MessageConsumer
|
|
135
|
+
*/
|
|
136
|
+
MessageConsumerPact.prototype.withBinaryContent = function (content, contentType) {
|
|
137
|
+
this.message.withBinaryContents(content, contentType);
|
|
138
|
+
this.state.contentType = ContentType.BINARY;
|
|
139
|
+
return this;
|
|
140
|
+
};
|
|
141
|
+
/**
|
|
142
|
+
* Message metadata.
|
|
120
143
|
*
|
|
121
144
|
* @param {string} metadata -
|
|
122
145
|
* @returns {Message} MessageConsumer
|
|
123
146
|
*/
|
|
124
147
|
MessageConsumerPact.prototype.withMetadata = function (metadata) {
|
|
148
|
+
var _this = this;
|
|
125
149
|
if ((0, lodash_1.isEmpty)(metadata)) {
|
|
126
150
|
throw new configurationError_1.default('You must provide valid metadata for the Message, or none at all');
|
|
127
151
|
}
|
|
128
|
-
|
|
152
|
+
(0, ramda_1.forEachObjIndexed)(function (v, k) {
|
|
153
|
+
_this.message.withMetadata("".concat(k), typeof v === 'string' ? v : v.getValue());
|
|
154
|
+
}, metadata);
|
|
129
155
|
return this;
|
|
130
156
|
};
|
|
131
|
-
/**
|
|
132
|
-
* Returns the Message object created.
|
|
133
|
-
*
|
|
134
|
-
* @returns {Message}
|
|
135
|
-
*/
|
|
136
|
-
MessageConsumerPact.prototype.json = function () {
|
|
137
|
-
return this.state;
|
|
138
|
-
};
|
|
139
157
|
/**
|
|
140
158
|
* Creates a new Pact _message_ interaction to build a testable interaction.
|
|
141
159
|
*
|
|
@@ -145,32 +163,33 @@ var MessageConsumerPact = /** @class */ (function () {
|
|
|
145
163
|
MessageConsumerPact.prototype.verify = function (handler) {
|
|
146
164
|
var _this = this;
|
|
147
165
|
logger_1.default.info('Verifying message');
|
|
148
|
-
return this.
|
|
149
|
-
.then(function () { return (0, lodash_1.cloneDeep)(_this.state); })
|
|
150
|
-
.then(function (clone) {
|
|
151
|
-
return handler(__assign(__assign({}, clone), { contents: (0, matchers_1.extractPayload)(clone.contents) }));
|
|
152
|
-
})
|
|
166
|
+
return handler(this.reifiedContent())
|
|
153
167
|
.then(function () {
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
spec: 3,
|
|
161
|
-
});
|
|
168
|
+
var _a;
|
|
169
|
+
_this.pact.writePactFile((_a = _this.config.dir) !== null && _a !== void 0 ? _a : DEFAULT_PACT_DIR, _this.config.pactfileWriteMode === 'overwrite');
|
|
170
|
+
})
|
|
171
|
+
.finally(function () {
|
|
172
|
+
_this.message = _this.pact.newMessage('');
|
|
173
|
+
_this.state = {};
|
|
162
174
|
});
|
|
163
175
|
};
|
|
176
|
+
MessageConsumerPact.prototype.reifiedContent = function () {
|
|
177
|
+
var raw = this.message.reifyMessage();
|
|
178
|
+
logger_1.default.debug("reified message raw: raw");
|
|
179
|
+
var reified = JSON.parse(raw);
|
|
180
|
+
if (this.state.contentType === ContentType.BINARY) {
|
|
181
|
+
reified.contents = Buffer.from(reified.contents, 'base64');
|
|
182
|
+
}
|
|
183
|
+
logger_1.default.debug("rehydrated message body into correct type: ".concat(reified.contents));
|
|
184
|
+
return reified;
|
|
185
|
+
};
|
|
164
186
|
/**
|
|
165
|
-
*
|
|
187
|
+
* Returns the Message object created.
|
|
166
188
|
*
|
|
167
|
-
* @returns {
|
|
189
|
+
* @returns {Message}
|
|
168
190
|
*/
|
|
169
|
-
MessageConsumerPact.prototype.
|
|
170
|
-
|
|
171
|
-
return Promise.resolve();
|
|
172
|
-
}
|
|
173
|
-
return Promise.reject(new Error('message has not yet been properly constructed'));
|
|
191
|
+
MessageConsumerPact.prototype.json = function () {
|
|
192
|
+
return this.state;
|
|
174
193
|
};
|
|
175
194
|
return MessageConsumerPact;
|
|
176
195
|
}());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messageConsumerPact.js","sourceRoot":"","sources":["../../src/messageConsumerPact.ts"],"names":[],"mappings":";AAAA;;GAEG
|
|
1
|
+
{"version":3,"file":"messageConsumerPact.js","sourceRoot":"","sources":["../../src/messageConsumerPact.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,38 +31,6 @@ describe('MessageConsumer', function () {
|
|
|
31
31
|
});
|
|
32
32
|
});
|
|
33
33
|
describe('#dsl', function () {
|
|
34
|
-
describe('when a valid Message has been constructed', function () {
|
|
35
|
-
it('the state should be valid', function () {
|
|
36
|
-
consumer
|
|
37
|
-
.given('some state')
|
|
38
|
-
.expectsToReceive('A message about something')
|
|
39
|
-
.withContent({ foo: 'bar' })
|
|
40
|
-
.withMetadata({ baz: 'bat' });
|
|
41
|
-
return expect(consumer.validate()).to.eventually.be.fulfilled;
|
|
42
|
-
});
|
|
43
|
-
});
|
|
44
|
-
describe('when a valid state has been given', function () {
|
|
45
|
-
it('the state should be save id in v3 format', function () {
|
|
46
|
-
consumer
|
|
47
|
-
.given('some state')
|
|
48
|
-
.expectsToReceive('A message about something')
|
|
49
|
-
.withContent({ foo: 'bar' })
|
|
50
|
-
.withMetadata({ baz: 'bat' });
|
|
51
|
-
expect(consumer.json().providerStates).to.be.a('array');
|
|
52
|
-
expect(consumer.json().providerStates).to.deep.eq([
|
|
53
|
-
{ name: 'some state' },
|
|
54
|
-
]);
|
|
55
|
-
});
|
|
56
|
-
});
|
|
57
|
-
describe('when a valid Message has not been constructed', function () {
|
|
58
|
-
it('the state should not be valid', function () {
|
|
59
|
-
consumer
|
|
60
|
-
.given('some state')
|
|
61
|
-
.expectsToReceive('A message about something')
|
|
62
|
-
.withMetadata({ baz: 'bat' });
|
|
63
|
-
return expect(consumer.validate()).to.eventually.be.rejected;
|
|
64
|
-
});
|
|
65
|
-
});
|
|
66
34
|
describe('when an empty description has been given', function () {
|
|
67
35
|
it('it should throw an error', function () {
|
|
68
36
|
expect(function () {
|
|
@@ -107,20 +75,6 @@ describe('MessageConsumer', function () {
|
|
|
107
75
|
});
|
|
108
76
|
});
|
|
109
77
|
});
|
|
110
|
-
describe('#json', function () {
|
|
111
|
-
it('returns a valid Message object', function () {
|
|
112
|
-
consumer.withContent({ foo: 'bar' });
|
|
113
|
-
var m = consumer.json();
|
|
114
|
-
expect(m.contents).to.deep.eq({ foo: 'bar' });
|
|
115
|
-
});
|
|
116
|
-
});
|
|
117
|
-
describe('#getServiceFactory', function () {
|
|
118
|
-
it('returns a valid pact-core object', function () {
|
|
119
|
-
var serviceFactory = consumer.getServiceFactory();
|
|
120
|
-
expect(serviceFactory).to.be.a('object');
|
|
121
|
-
expect(serviceFactory).to.respondTo('createMessage');
|
|
122
|
-
});
|
|
123
|
-
});
|
|
124
78
|
describe('handler transformers', function () {
|
|
125
79
|
describe('#asynchronousbodyHandler', function () {
|
|
126
80
|
describe('when given a function that succeeds', function () {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messageConsumerPact.spec.js","sourceRoot":"","sources":["../../src/messageConsumerPact.spec.ts"],"names":[],"mappings":";;;;;AAAA,kDAAkD;AAClD,8CAAwB;AACxB,sEAA8C;AAC9C,0DAAmC;AACnC,6DAI+B;AAG/B,cAAI,CAAC,GAAG,CAAC,oBAAS,CAAC,CAAC;AACpB,cAAI,CAAC,GAAG,CAAC,0BAAc,CAAC,CAAC;AAEjB,IAAA,MAAM,GAAK,cAAI,OAAT,CAAU;AAExB,QAAQ,CAAC,iBAAiB,EAAE;IAC1B,IAAI,QAA6B,CAAC;IAElC,UAAU,CAAC;QACT,QAAQ,GAAG,IAAI,yCAAmB,CAAC;YACjC,QAAQ,EAAE,YAAY;YACtB,QAAQ,EAAE,YAAY;SACvB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"messageConsumerPact.spec.js","sourceRoot":"","sources":["../../src/messageConsumerPact.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -166,7 +166,7 @@ var MessageProviderPact = /** @class */ (function () {
|
|
|
166
166
|
? _this.config.stateHandlers[state.name]
|
|
167
167
|
: null;
|
|
168
168
|
if (handler) {
|
|
169
|
-
promises.push(handler(state.name));
|
|
169
|
+
promises.push(handler(state.name, state.params));
|
|
170
170
|
}
|
|
171
171
|
else {
|
|
172
172
|
logger_1.default.warn("no state handler found for \"".concat(state.name, "\", ignoring"));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messageProviderPact.js","sourceRoot":"","sources":["../../src/messageProviderPact.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"messageProviderPact.js","sourceRoot":"","sources":["../../src/messageProviderPact.ts"],"names":[],"mappings":"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"}
|
|
@@ -65,6 +65,9 @@ describe('MesageProvider', function () {
|
|
|
65
65
|
provider: 'myprovider',
|
|
66
66
|
stateHandlers: {
|
|
67
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
|
+
},
|
|
68
71
|
},
|
|
69
72
|
});
|
|
70
73
|
});
|
|
@@ -126,8 +129,20 @@ describe('MesageProvider', function () {
|
|
|
126
129
|
describe('#setupStates', function () {
|
|
127
130
|
describe('when given a handler that exists', function () {
|
|
128
131
|
it('returns values of all resolved handlers', function () {
|
|
129
|
-
var
|
|
130
|
-
return expect(
|
|
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
|
+
]);
|
|
131
146
|
});
|
|
132
147
|
});
|
|
133
148
|
describe('when given a state that does not have a handler', function () {
|
|
@@ -1 +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;
|
|
1
|
+
{"version":3,"file":"messageProviderPact.spec.js","sourceRoot":"","sources":["../../src/messageProviderPact.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -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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"}
|
package/src/v3/index.d.ts
CHANGED
|
@@ -1,16 +1,11 @@
|
|
|
1
1
|
export * from './pact';
|
|
2
|
+
export * from './types';
|
|
2
3
|
/**
|
|
3
4
|
* Exposes {@link MatchersV3}
|
|
4
5
|
* @memberof Pact
|
|
5
6
|
* @static
|
|
6
7
|
*/
|
|
7
8
|
export * as MatchersV3 from './matchers';
|
|
8
|
-
/**
|
|
9
|
-
* Exposes {@link VerifierV3}
|
|
10
|
-
* @memberof Pact
|
|
11
|
-
* @static
|
|
12
|
-
*/
|
|
13
|
-
export * from './verifier';
|
|
14
9
|
/**
|
|
15
10
|
* Exposes {@link xml}
|
|
16
11
|
* @memberof Pact
|
package/src/v3/index.js
CHANGED
|
@@ -28,18 +28,13 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
29
|
exports.MatchersV3 = void 0;
|
|
30
30
|
__exportStar(require("./pact"), exports);
|
|
31
|
+
__exportStar(require("./types"), exports);
|
|
31
32
|
/**
|
|
32
33
|
* Exposes {@link MatchersV3}
|
|
33
34
|
* @memberof Pact
|
|
34
35
|
* @static
|
|
35
36
|
*/
|
|
36
37
|
exports.MatchersV3 = __importStar(require("./matchers"));
|
|
37
|
-
/**
|
|
38
|
-
* Exposes {@link VerifierV3}
|
|
39
|
-
* @memberof Pact
|
|
40
|
-
* @static
|
|
41
|
-
*/
|
|
42
|
-
__exportStar(require("./verifier"), exports);
|
|
43
38
|
/**
|
|
44
39
|
* Exposes {@link xml}
|
|
45
40
|
* @memberof Pact
|
package/src/v3/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/v3/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAAuB;
|
|
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"}
|
package/src/v3/matchers.d.ts
CHANGED
|
@@ -178,4 +178,5 @@ export declare function fromProviderState<V extends AnyJson>(expression: string,
|
|
|
178
178
|
* Match a universally unique identifier (UUID). Random values will be used for examples if no example is given.
|
|
179
179
|
*/
|
|
180
180
|
export declare function uuid(example?: string): RegexMatcher;
|
|
181
|
+
export declare const matcherValueOrString: (obj: unknown) => string;
|
|
181
182
|
export {};
|
package/src/v3/matchers.js
CHANGED
|
@@ -12,7 +12,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
12
12
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
13
|
};
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.uuid = exports.fromProviderState = exports.arrayContaining = exports.url = exports.url2 = exports.nullValue = exports.includes = exports.date = exports.time = exports.timestamp = exports.datetime = exports.equal = exports.regex = exports.string = exports.number = exports.decimal = exports.integer = exports.boolean = exports.constrainedArrayLike = exports.atMostLike = exports.atLeastLike = exports.atLeastOneLike = exports.eachLike = exports.eachKeyLike = exports.like = void 0;
|
|
15
|
+
exports.matcherValueOrString = exports.uuid = exports.fromProviderState = exports.arrayContaining = exports.url = exports.url2 = exports.nullValue = exports.includes = exports.date = exports.time = exports.timestamp = exports.datetime = exports.equal = exports.regex = exports.string = exports.number = exports.decimal = exports.integer = exports.boolean = exports.constrainedArrayLike = exports.atMostLike = exports.atLeastLike = exports.atLeastOneLike = exports.eachLike = exports.eachKeyLike = exports.like = void 0;
|
|
16
16
|
var ramda_1 = require("ramda");
|
|
17
17
|
var randexp_1 = __importDefault(require("randexp"));
|
|
18
18
|
/**
|
|
@@ -434,4 +434,10 @@ function uuid(example) {
|
|
|
434
434
|
};
|
|
435
435
|
}
|
|
436
436
|
exports.uuid = uuid;
|
|
437
|
+
var matcherValueOrString = function (obj) {
|
|
438
|
+
if (typeof obj === 'string')
|
|
439
|
+
return obj;
|
|
440
|
+
return JSON.stringify(obj);
|
|
441
|
+
};
|
|
442
|
+
exports.matcherValueOrString = matcherValueOrString;
|
|
437
443
|
//# sourceMappingURL=matchers.js.map
|