@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
|
@@ -1,4 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
2
13
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
14
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
15
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -39,29 +50,16 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
39
50
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
40
51
|
};
|
|
41
52
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
53
|
+
// @ts-nocheck
|
|
42
54
|
var chai_1 = __importDefault(require("chai"));
|
|
43
55
|
var chai_as_promised_1 = __importDefault(require("chai-as-promised"));
|
|
44
56
|
var sinon_1 = __importDefault(require("sinon"));
|
|
45
57
|
var sinon_chai_1 = __importDefault(require("sinon-chai"));
|
|
46
|
-
var pact_core_1 = __importDefault(require("@pact-foundation/pact-core"));
|
|
47
|
-
var ts_mock_imports_1 = require("ts-mock-imports");
|
|
48
|
-
var request_1 = require("../common/request");
|
|
49
|
-
var interaction_1 = require("../dsl/interaction");
|
|
50
|
-
var mockService_1 = require("../dsl/mockService");
|
|
51
58
|
var _1 = require(".");
|
|
52
|
-
// Mock out the PactNode interfaces
|
|
53
|
-
var PactServer = /** @class */ (function () {
|
|
54
|
-
function PactServer() {
|
|
55
|
-
}
|
|
56
|
-
PactServer.prototype.start = function () { };
|
|
57
|
-
PactServer.prototype.delete = function () { };
|
|
58
|
-
return PactServer;
|
|
59
|
-
}());
|
|
60
59
|
chai_1.default.use(sinon_chai_1.default);
|
|
61
60
|
chai_1.default.use(chai_as_promised_1.default);
|
|
62
61
|
var expect = chai_1.default.expect;
|
|
63
62
|
describe('Pact', function () {
|
|
64
|
-
var pact;
|
|
65
63
|
var fullOpts = {
|
|
66
64
|
consumer: 'A',
|
|
67
65
|
provider: 'B',
|
|
@@ -71,20 +69,10 @@ describe('Pact', function () {
|
|
|
71
69
|
logLevel: 'info',
|
|
72
70
|
spec: 2,
|
|
73
71
|
cors: false,
|
|
74
|
-
pactfileWriteMode: '
|
|
72
|
+
pactfileWriteMode: 'merge',
|
|
75
73
|
};
|
|
76
|
-
before(function () {
|
|
77
|
-
// Stub out pact-core
|
|
78
|
-
var manager = ts_mock_imports_1.ImportMock.mockClass(pact_core_1.default, 'createServer');
|
|
79
|
-
manager.mock('createServer', function () { });
|
|
80
|
-
});
|
|
81
|
-
beforeEach(function () {
|
|
82
|
-
pact = Object.create(_1.Pact.prototype);
|
|
83
|
-
pact.opts = fullOpts;
|
|
84
|
-
});
|
|
85
74
|
afterEach(function () {
|
|
86
75
|
sinon_1.default.restore();
|
|
87
|
-
// return serviceFactory.removeAllServers()
|
|
88
76
|
});
|
|
89
77
|
describe('#constructor', function () {
|
|
90
78
|
it('throws Error when consumer not provided', function () {
|
|
@@ -113,44 +101,39 @@ describe('Pact', function () {
|
|
|
113
101
|
expect(opts.spec).to.eq(2);
|
|
114
102
|
expect(opts.dir).not.to.be.empty;
|
|
115
103
|
expect(opts.log).not.to.be.empty;
|
|
116
|
-
expect(opts.pactfileWriteMode).to.eq('
|
|
104
|
+
expect(opts.pactfileWriteMode).to.eq('merge');
|
|
117
105
|
expect(opts.ssl).to.eq(false);
|
|
118
106
|
expect(opts.sslcert).to.eq(undefined);
|
|
119
107
|
expect(opts.sslkey).to.eq(undefined);
|
|
120
108
|
});
|
|
121
109
|
});
|
|
122
110
|
describe('#setup', function () {
|
|
123
|
-
var serverMock = {
|
|
124
|
-
start: function () { return Promise.resolve(); },
|
|
125
|
-
options: { port: 1234 },
|
|
126
|
-
logLevel: function () { },
|
|
127
|
-
};
|
|
128
|
-
describe('when server is not properly configured', function () {
|
|
129
|
-
describe('and pact-core is unable to start the server', function () {
|
|
130
|
-
it('returns a rejected promise', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
131
|
-
var p;
|
|
132
|
-
return __generator(this, function (_a) {
|
|
133
|
-
p = new _1.Pact(fullOpts);
|
|
134
|
-
p.server = {
|
|
135
|
-
start: function () { return Promise.reject(new Error('pact-core error')); },
|
|
136
|
-
options: { port: 1234 },
|
|
137
|
-
};
|
|
138
|
-
return [2 /*return*/, expect(p.setup()).to.eventually.be.rejectedWith('pact-core error')];
|
|
139
|
-
});
|
|
140
|
-
}); });
|
|
141
|
-
});
|
|
142
|
-
});
|
|
143
|
-
describe('when server is properly configured', function () {
|
|
144
|
-
it('starts the mock server in the background', function () {
|
|
145
|
-
var p = new _1.Pact(fullOpts);
|
|
146
|
-
p.server = serverMock;
|
|
147
|
-
return expect(p.setup()).to.eventually.be.fulfilled;
|
|
148
|
-
});
|
|
149
|
-
});
|
|
150
111
|
describe('when server is properly configured', function () {
|
|
112
|
+
it('updates the mock service configuration', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
113
|
+
var p;
|
|
114
|
+
return __generator(this, function (_a) {
|
|
115
|
+
switch (_a.label) {
|
|
116
|
+
case 0:
|
|
117
|
+
p = new _1.Pact(fullOpts);
|
|
118
|
+
return [4 /*yield*/, p.setup()];
|
|
119
|
+
case 1:
|
|
120
|
+
_a.sent();
|
|
121
|
+
expect(p.mockService).to.deep.equal({
|
|
122
|
+
baseUrl: 'http://127.0.0.1:1234',
|
|
123
|
+
pactDetails: {
|
|
124
|
+
pactfile_write_mode: 'merge',
|
|
125
|
+
consumer: {
|
|
126
|
+
name: 'A',
|
|
127
|
+
},
|
|
128
|
+
provider: { name: 'B' },
|
|
129
|
+
},
|
|
130
|
+
});
|
|
131
|
+
return [2 /*return*/];
|
|
132
|
+
}
|
|
133
|
+
});
|
|
134
|
+
}); });
|
|
151
135
|
it('returns the current configuration', function () {
|
|
152
136
|
var p = new _1.Pact(fullOpts);
|
|
153
|
-
p.server = serverMock;
|
|
154
137
|
return expect(p.setup()).to.eventually.include({
|
|
155
138
|
consumer: 'A',
|
|
156
139
|
provider: 'B',
|
|
@@ -160,181 +143,95 @@ describe('Pact', function () {
|
|
|
160
143
|
logLevel: 'info',
|
|
161
144
|
spec: 2,
|
|
162
145
|
cors: false,
|
|
163
|
-
pactfileWriteMode: '
|
|
146
|
+
pactfileWriteMode: 'merge',
|
|
164
147
|
});
|
|
165
148
|
});
|
|
166
149
|
});
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
method: request_1.HTTPMethods.GET,
|
|
174
|
-
path: '/projects',
|
|
175
|
-
headers: { Accept: 'application/json' },
|
|
176
|
-
},
|
|
177
|
-
willRespondWith: {
|
|
178
|
-
status: 200,
|
|
179
|
-
headers: { 'Content-Type': 'application/json' },
|
|
180
|
-
body: {},
|
|
181
|
-
},
|
|
182
|
-
};
|
|
183
|
-
describe('when given a provider state', function () {
|
|
184
|
-
it('creates interaction with state', function () {
|
|
185
|
-
pact.mockService = {
|
|
186
|
-
addInteraction: function (int) { return Promise.resolve(int.state); },
|
|
187
|
-
};
|
|
188
|
-
return expect(pact.addInteraction(interaction)).to.eventually.have.property('providerState');
|
|
189
|
-
});
|
|
190
|
-
});
|
|
191
|
-
describe('when not given a provider state', function () {
|
|
192
|
-
it('creates interaction with no state', function () {
|
|
193
|
-
pact.mockService = {
|
|
194
|
-
addInteraction: function (int) { return Promise.resolve(int.state); },
|
|
195
|
-
};
|
|
196
|
-
interaction.state = undefined;
|
|
197
|
-
return expect(pact.addInteraction(interaction)).to.eventually.not.have.property('providerState');
|
|
198
|
-
});
|
|
199
|
-
describe('when given an Interaction as a builder', function () {
|
|
200
|
-
it('creates interaction', function () {
|
|
201
|
-
var interaction2 = new interaction_1.Interaction()
|
|
202
|
-
.given('i have a list of projects')
|
|
203
|
-
.uponReceiving('a request for projects')
|
|
204
|
-
.withRequest({
|
|
205
|
-
method: request_1.HTTPMethods.GET,
|
|
206
|
-
path: '/projects',
|
|
207
|
-
headers: { Accept: 'application/json' },
|
|
208
|
-
})
|
|
209
|
-
.willRespondWith({
|
|
210
|
-
status: 200,
|
|
211
|
-
headers: { 'Content-Type': 'application/json' },
|
|
212
|
-
body: {},
|
|
213
|
-
});
|
|
214
|
-
pact.mockService = {
|
|
215
|
-
addInteraction: function (int) {
|
|
216
|
-
return Promise.resolve(int);
|
|
217
|
-
},
|
|
218
|
-
};
|
|
219
|
-
return expect(pact.addInteraction(interaction2)).to.eventually.have.property('given');
|
|
220
|
-
});
|
|
221
|
-
});
|
|
222
|
-
});
|
|
223
|
-
});
|
|
224
|
-
describe('#verify', function () {
|
|
225
|
-
describe('when pact verification is successful', function () {
|
|
226
|
-
it('returns a successful promise and remove interactions', function () {
|
|
227
|
-
pact.mockService = {
|
|
228
|
-
verify: function () { return Promise.resolve('verified!'); },
|
|
229
|
-
removeInteractions: function () { return Promise.resolve('removeInteractions'); },
|
|
230
|
-
};
|
|
231
|
-
var verifyPromise = pact.verify();
|
|
232
|
-
return Promise.all([
|
|
233
|
-
expect(verifyPromise).to.eventually.eq('removeInteractions'),
|
|
234
|
-
expect(verifyPromise).to.eventually.be.fulfilled,
|
|
235
|
-
]);
|
|
236
|
-
});
|
|
237
|
-
});
|
|
238
|
-
describe('when pact verification is unsuccessful', function () {
|
|
239
|
-
it('throws an error', function () {
|
|
240
|
-
var removeInteractionsStub = sinon_1.default
|
|
241
|
-
.stub(mockService_1.MockService.prototype, 'removeInteractions')
|
|
242
|
-
.resolves('removeInteractions');
|
|
243
|
-
pact.mockService = {
|
|
244
|
-
verify: function () { return Promise.reject(new Error('not verified!')); },
|
|
245
|
-
removeInteractions: removeInteractionsStub,
|
|
246
|
-
};
|
|
247
|
-
var verifyPromise = pact.verify();
|
|
248
|
-
return Promise.all([
|
|
249
|
-
expect(verifyPromise).to.eventually.be.rejectedWith(Error),
|
|
250
|
-
verifyPromise.catch(function () {
|
|
251
|
-
expect(removeInteractionsStub).to.callCount(1);
|
|
252
|
-
}),
|
|
253
|
-
]);
|
|
254
|
-
});
|
|
255
|
-
});
|
|
256
|
-
describe('when pact verification is successful', function () {
|
|
257
|
-
describe('and an error is thrown in the cleanup', function () {
|
|
258
|
-
it('throws an error', function () {
|
|
259
|
-
pact.mockService = {
|
|
260
|
-
verify: function () { return Promise.resolve('verified!'); },
|
|
261
|
-
removeInteractions: function () {
|
|
262
|
-
throw new Error('error removing interactions');
|
|
263
|
-
},
|
|
264
|
-
};
|
|
265
|
-
return expect(pact.verify()).to.eventually.be.rejectedWith(Error);
|
|
266
|
-
});
|
|
267
|
-
});
|
|
268
|
-
});
|
|
269
|
-
});
|
|
270
|
-
describe('#finalize', function () {
|
|
271
|
-
describe('when writing Pact is successful', function () {
|
|
272
|
-
it('returns a successful promise and shuts down down the mock server', function () {
|
|
273
|
-
pact.mockService = {
|
|
274
|
-
writePact: function () { return Promise.resolve('pact file written!'); },
|
|
275
|
-
removeInteractions: sinon_1.default.stub(),
|
|
276
|
-
};
|
|
277
|
-
pact.server = {
|
|
278
|
-
delete: function () { return Promise.resolve(); },
|
|
279
|
-
};
|
|
280
|
-
return expect(pact.finalize()).to.eventually.be.fulfilled;
|
|
281
|
-
});
|
|
282
|
-
});
|
|
283
|
-
describe('when writing Pact is unsuccessful', function () {
|
|
284
|
-
it('throws an error and shuts down the server', function () {
|
|
285
|
-
pact.mockService = {
|
|
286
|
-
writePact: function () { return Promise.reject(new Error('pact not file written!')); },
|
|
287
|
-
removeInteractions: sinon_1.default.stub(),
|
|
288
|
-
};
|
|
289
|
-
var deleteStub = sinon_1.default
|
|
290
|
-
.stub(PactServer.prototype, 'delete')
|
|
291
|
-
.resolves();
|
|
292
|
-
pact.server = { delete: deleteStub };
|
|
293
|
-
return expect(pact.finalize()).to.eventually.be.rejected.then(function () {
|
|
294
|
-
return expect(deleteStub).to.callCount(1);
|
|
295
|
-
});
|
|
296
|
-
});
|
|
297
|
-
});
|
|
298
|
-
describe('when writing pact is successful and shutting down the mock server is unsuccessful', function () {
|
|
299
|
-
it('throws an error', function () {
|
|
300
|
-
pact.mockService = {
|
|
301
|
-
writePact: sinon_1.default.stub(),
|
|
302
|
-
removeInteractions: sinon_1.default.stub(),
|
|
303
|
-
};
|
|
304
|
-
pact.server = {
|
|
305
|
-
delete: function () { return Promise.reject(); },
|
|
306
|
-
};
|
|
307
|
-
return expect(pact.finalize).to.throw(Error);
|
|
150
|
+
describe('when a port is given', function () {
|
|
151
|
+
it('checks if the port is available', function () {
|
|
152
|
+
var p = new _1.Pact(fullOpts);
|
|
153
|
+
return expect(p.setup())
|
|
154
|
+
.to.eventually.have.property('port')
|
|
155
|
+
.eq(fullOpts.port);
|
|
308
156
|
});
|
|
309
157
|
});
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
removeInteractions: sinon_1.default.stub(),
|
|
317
|
-
};
|
|
318
|
-
var writePactPromise = pact.writePact();
|
|
319
|
-
return Promise.all([
|
|
320
|
-
expect(writePactPromise).to.eventually.eq('pact file written!'),
|
|
321
|
-
expect(writePactPromise).to.eventually.be.fulfilled,
|
|
322
|
-
]);
|
|
158
|
+
describe('when no port is given', function () {
|
|
159
|
+
it('finds a free port', function () {
|
|
160
|
+
var opts = __assign(__assign({}, fullOpts), { port: undefined });
|
|
161
|
+
var p = new _1.Pact(opts);
|
|
162
|
+
return expect(p.setup()).to.eventually.have.property('port').not
|
|
163
|
+
.undefined;
|
|
323
164
|
});
|
|
324
165
|
});
|
|
325
166
|
});
|
|
326
|
-
describe('#
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
167
|
+
describe('#addInteraction', function () {
|
|
168
|
+
// This is more of an integration test, as the function has taken on a lot more
|
|
169
|
+
// responsibility previously covered by other functions during the upgrade to
|
|
170
|
+
// the rust core, to ensure the API remains backwards compatible
|
|
171
|
+
it('sets the correct request and response details on the FFI and starts the mock server', function () {
|
|
172
|
+
var p = new _1.Pact(fullOpts);
|
|
173
|
+
var uponReceiving = sinon_1.default.stub().returns(true);
|
|
174
|
+
var given = sinon_1.default.stub().returns(true);
|
|
175
|
+
var withRequest = sinon_1.default.stub().returns(true);
|
|
176
|
+
var withRequestBody = sinon_1.default.stub().returns(true);
|
|
177
|
+
var withRequestHeader = sinon_1.default.stub().returns(true);
|
|
178
|
+
var withQuery = sinon_1.default.stub().returns(true);
|
|
179
|
+
var withResponseBody = sinon_1.default.stub().returns(true);
|
|
180
|
+
var withResponseHeader = sinon_1.default.stub().returns(true);
|
|
181
|
+
var withStatus = sinon_1.default.stub().returns(true);
|
|
182
|
+
var createMockServer = sinon_1.default.stub().returns(1234);
|
|
183
|
+
var pactMock = {
|
|
184
|
+
createMockServer: createMockServer,
|
|
185
|
+
};
|
|
186
|
+
var interactionMock = {
|
|
187
|
+
uponReceiving: uponReceiving,
|
|
188
|
+
given: given,
|
|
189
|
+
withRequest: withRequest,
|
|
190
|
+
withRequestBody: withRequestBody,
|
|
191
|
+
withRequestHeader: withRequestHeader,
|
|
192
|
+
withQuery: withQuery,
|
|
193
|
+
withResponseBody: withResponseBody,
|
|
194
|
+
withResponseHeader: withResponseHeader,
|
|
195
|
+
withStatus: withStatus,
|
|
196
|
+
};
|
|
197
|
+
p.pact = pactMock;
|
|
198
|
+
p.interaction = interactionMock;
|
|
199
|
+
p.mockService = {};
|
|
200
|
+
p.addInteraction({
|
|
201
|
+
state: 'some state',
|
|
202
|
+
uponReceiving: 'some description',
|
|
203
|
+
withRequest: {
|
|
204
|
+
method: 'GET',
|
|
205
|
+
path: '/',
|
|
206
|
+
body: { foo: 'bar' },
|
|
207
|
+
headers: {
|
|
208
|
+
'content-type': 'application/json',
|
|
209
|
+
foo: 'bar',
|
|
210
|
+
},
|
|
211
|
+
query: {
|
|
212
|
+
query: 'string',
|
|
213
|
+
foo: 'bar',
|
|
214
|
+
},
|
|
215
|
+
},
|
|
216
|
+
willRespondWith: {
|
|
217
|
+
status: 200,
|
|
218
|
+
body: { baz: 'bat' },
|
|
219
|
+
headers: {
|
|
220
|
+
'content-type': 'application/hal+json',
|
|
221
|
+
foo: 'bar',
|
|
222
|
+
},
|
|
223
|
+
},
|
|
337
224
|
});
|
|
225
|
+
expect(uponReceiving.calledOnce).to.be.true;
|
|
226
|
+
expect(given.calledOnce).to.be.true;
|
|
227
|
+
expect(withRequest.calledOnce).to.be.true;
|
|
228
|
+
expect(withQuery.calledTwice).to.be.true;
|
|
229
|
+
expect(withRequestHeader.calledTwice).to.be.true;
|
|
230
|
+
expect(withRequestBody.calledOnce).to.be.true;
|
|
231
|
+
expect(withResponseBody.calledOnce).to.be.true;
|
|
232
|
+
expect(withResponseHeader.calledTwice).to.be.true;
|
|
233
|
+
// Pact mock server started
|
|
234
|
+
expect(createMockServer.called).to.be.true;
|
|
338
235
|
});
|
|
339
236
|
});
|
|
340
237
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.spec.js","sourceRoot":"","sources":["../../../src/httpPact/index.spec.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.spec.js","sourceRoot":"","sources":["../../../src/httpPact/index.spec.ts"],"names":[],"mappings":"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"}
|
package/src/httpPact/tracing.js
CHANGED
|
@@ -22,15 +22,15 @@ var traceHttpInteractions = function () {
|
|
|
22
22
|
http_1.default.request = function (options, cb) {
|
|
23
23
|
var requestBodyChunks = [];
|
|
24
24
|
var responseBodyChunks = [];
|
|
25
|
-
var
|
|
25
|
+
var hijackedCallback = function (res) {
|
|
26
26
|
logger_1.default.trace("outgoing request: ".concat(JSON.stringify(__assign(__assign({}, options), { body: Buffer.concat(requestBodyChunks).toString('utf8') }))));
|
|
27
27
|
if (cb) {
|
|
28
28
|
cb(res);
|
|
29
29
|
}
|
|
30
30
|
};
|
|
31
|
-
var clientRequest = originalRequest(options,
|
|
32
|
-
var oldWrite = clientRequest.
|
|
33
|
-
clientRequest.
|
|
31
|
+
var clientRequest = originalRequest(options, hijackedCallback);
|
|
32
|
+
var oldWrite = clientRequest.end.bind(clientRequest);
|
|
33
|
+
clientRequest.end = function (chunk) {
|
|
34
34
|
requestBodyChunks.push(Buffer.from(chunk));
|
|
35
35
|
return oldWrite(chunk);
|
|
36
36
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tracing.js","sourceRoot":"","sources":["../../../src/httpPact/tracing.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,8CAA4E;AAE5E,4DAAsC;AAE/B,IAAM,qBAAqB,GAAG;IACnC,IAAM,eAAe,GAAG,cAAI,CAAC,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"tracing.js","sourceRoot":"","sources":["../../../src/httpPact/tracing.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,8CAA4E;AAE5E,4DAAsC;AAE/B,IAAM,qBAAqB,GAAG;IACnC,IAAM,eAAe,GAAG,cAAI,CAAC,OAAO,CAAC;IACrC,cAAI,CAAC,OAAO,GAAG,UACb,OAAuB,EACvB,EAAkC;QAElC,IAAM,iBAAiB,GAAa,EAAE,CAAC;QACvC,IAAM,kBAAkB,GAAa,EAAE,CAAC;QACxC,IAAM,gBAAgB,GAAG,UAAC,GAAoB;YAC5C,gBAAM,CAAC,KAAK,CACV,4BAAqB,IAAI,CAAC,SAAS,uBAC9B,OAAO,KACV,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IACvD,CAAE,CACL,CAAC;YACF,IAAI,EAAE,EAAE;gBACN,EAAE,CAAC,GAAG,CAAC,CAAC;aACT;QACH,CAAC,CAAC;QACF,IAAM,aAAa,GAAkB,eAAe,CAClD,OAAO,EACP,gBAAgB,CACjB,CAAC;QACF,IAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACvD,aAAa,CAAC,GAAG,GAAG,UAAC,KAAgD;YACnE,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YAC3C,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC,CAAC;QAEF,aAAa,CAAC,EAAE,CAAC,UAAU,EAAE,UAAC,QAAyB;YACrD,QAAQ,CAAC,EAAE,CAAC,UAAU,EAAE;gBACtB,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YACxD,CAAC,CAAC,CAAC;YACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE;gBACjB,gBAAM,CAAC,KAAK,CACV,oBAAa,IAAI,CAAC,SAAS,CAAC;oBAC1B,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;oBACxD,OAAO,EAAE,QAAQ,CAAC,OAAO;oBACzB,UAAU,EAAE,QAAQ,CAAC,UAAU;iBAChC,CAAC,CAAE,CACL,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,OAAO,aAAa,CAAC;IACvB,CAAC,CAAC;AACJ,CAAC,CAAC;AA7CW,QAAA,qBAAqB,yBA6ChC"}
|
package/src/index.d.ts
CHANGED
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
import * as MatchersStar from './dsl/matchers';
|
|
18
18
|
export declare const Matchers: typeof MatchersStar;
|
|
19
19
|
export { InterfaceToTemplate } from './dsl/matchers';
|
|
20
|
-
export
|
|
20
|
+
export { Pact } from './httpPact';
|
|
21
21
|
/**
|
|
22
22
|
* Exposes {@link MessageConsumerPact}
|
|
23
23
|
* @memberof Pact
|
|
@@ -67,12 +67,6 @@ export * from './dsl/interaction';
|
|
|
67
67
|
*/
|
|
68
68
|
export * from './dsl/mockService';
|
|
69
69
|
export * from './v3';
|
|
70
|
-
/**
|
|
71
|
-
* Exposes {@link Publisher}
|
|
72
|
-
* @memberof Pact
|
|
73
|
-
* @static
|
|
74
|
-
*/
|
|
75
|
-
export * from './dsl/publisher';
|
|
76
70
|
/**
|
|
77
71
|
* Exposes {@link PactOptions}
|
|
78
72
|
* @memberof Pact
|
package/src/index.js
CHANGED
|
@@ -30,7 +30,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
30
30
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
31
31
|
};
|
|
32
32
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
33
|
-
exports.providerWithMetadata = exports.MessageProviderPact = exports.Matchers = void 0;
|
|
33
|
+
exports.providerWithMetadata = exports.MessageProviderPact = exports.Pact = exports.Matchers = void 0;
|
|
34
34
|
/**
|
|
35
35
|
* Exposes {@link Pact}
|
|
36
36
|
* @memberof Pact
|
|
@@ -45,7 +45,8 @@ exports.providerWithMetadata = exports.MessageProviderPact = exports.Matchers =
|
|
|
45
45
|
*/
|
|
46
46
|
var MatchersStar = __importStar(require("./dsl/matchers"));
|
|
47
47
|
exports.Matchers = MatchersStar;
|
|
48
|
-
|
|
48
|
+
var httpPact_1 = require("./httpPact");
|
|
49
|
+
Object.defineProperty(exports, "Pact", { enumerable: true, get: function () { return httpPact_1.Pact; } });
|
|
49
50
|
/**
|
|
50
51
|
* Exposes {@link MessageConsumerPact}
|
|
51
52
|
* @memberof Pact
|
|
@@ -97,12 +98,6 @@ __exportStar(require("./dsl/interaction"), exports);
|
|
|
97
98
|
*/
|
|
98
99
|
__exportStar(require("./dsl/mockService"), exports);
|
|
99
100
|
__exportStar(require("./v3"), exports);
|
|
100
|
-
/**
|
|
101
|
-
* Exposes {@link Publisher}
|
|
102
|
-
* @memberof Pact
|
|
103
|
-
* @static
|
|
104
|
-
*/
|
|
105
|
-
__exportStar(require("./dsl/publisher"), exports);
|
|
106
101
|
/**
|
|
107
102
|
* Exposes {@link PactOptions}
|
|
108
103
|
* @memberof Pact
|
package/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH;;;;GAIG;AAEH;;;;;;GAMG;AACH,2DAA+C;AAElC,QAAA,QAAQ,GAAG,YAAY,CAAC;AAIrC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH;;;;GAIG;AAEH;;;;;;GAMG;AACH,2DAA+C;AAElC,QAAA,QAAQ,GAAG,YAAY,CAAC;AAIrC,uCAAkC;AAAzB,gGAAA,IAAI,OAAA;AAEb;;;;GAIG;AACH,wDAAsC;AAEtC;;;;GAIG;AACH,6DAG+B;AAF7B,0HAAA,mBAAmB,OAAA;AACnB,2HAAA,oBAAoB,OAAA;AAGtB;;;;GAIG;AACH,gDAA8B;AAE9B;;;;GAIG;AACH,0DAAwC;AAExC;;;;GAIG;AACH,gDAA8B;AAC9B;;;;GAIG;AACH,sDAAoC;AAEpC;;;;GAIG;AACH,oDAAkC;AAElC;;;;GAIG;AACH,oDAAkC;AAElC,uCAAqB;AAErB;;;;GAIG;AACH,gDAA8B"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @module Message
|
|
3
3
|
*/
|
|
4
|
+
/// <reference types="node" />
|
|
4
5
|
import { AnyJson } from './common/jsonTypes';
|
|
5
6
|
import { AnyTemplate } from './dsl/matchers';
|
|
6
|
-
import { Metadata, Message, MessageConsumer } from './dsl/message';
|
|
7
|
+
import { Metadata, Message, MessageConsumer, ProviderState } from './dsl/message';
|
|
7
8
|
import { MessageConsumerOptions } from './dsl/options';
|
|
8
9
|
/**
|
|
9
10
|
* A Message Consumer is analagous to a Provider in the HTTP Interaction model.
|
|
@@ -13,15 +14,16 @@ import { MessageConsumerOptions } from './dsl/options';
|
|
|
13
14
|
export declare class MessageConsumerPact {
|
|
14
15
|
private config;
|
|
15
16
|
private state;
|
|
16
|
-
private
|
|
17
|
+
private pact;
|
|
18
|
+
private message;
|
|
17
19
|
constructor(config: MessageConsumerOptions);
|
|
18
20
|
/**
|
|
19
21
|
* Gives a state the provider should be in for this Message.
|
|
20
22
|
*
|
|
21
|
-
* @param {string}
|
|
23
|
+
* @param {string} state - The state of the provider.
|
|
22
24
|
* @returns {Message} MessageConsumer
|
|
23
25
|
*/
|
|
24
|
-
given(
|
|
26
|
+
given(state: string | ProviderState): MessageConsumerPact;
|
|
25
27
|
/**
|
|
26
28
|
* A free style description of the Message.
|
|
27
29
|
*
|
|
@@ -30,27 +32,41 @@ export declare class MessageConsumerPact {
|
|
|
30
32
|
*/
|
|
31
33
|
expectsToReceive(description: string): MessageConsumerPact;
|
|
32
34
|
/**
|
|
33
|
-
* The
|
|
35
|
+
* The JSON object to be received by the message consumer.
|
|
34
36
|
*
|
|
35
|
-
* May be a JSON
|
|
37
|
+
* May be a JSON object or JSON primitive. The contents must be able to be properly
|
|
38
|
+
* strigified and parse (i.e. via JSON.stringify and JSON.parse).
|
|
36
39
|
*
|
|
37
40
|
* @param {string} content - A description of the Message to be received
|
|
38
41
|
* @returns {Message} MessageConsumer
|
|
39
42
|
*/
|
|
40
43
|
withContent(content: AnyTemplate): MessageConsumerPact;
|
|
41
44
|
/**
|
|
42
|
-
*
|
|
45
|
+
* The text content to be received by the message consumer.
|
|
43
46
|
*
|
|
44
|
-
*
|
|
47
|
+
* May be any text
|
|
48
|
+
*
|
|
49
|
+
* @param {string} content - A description of the Message to be received
|
|
45
50
|
* @returns {Message} MessageConsumer
|
|
46
51
|
*/
|
|
47
|
-
|
|
52
|
+
withTextContent(content: string, contentType: string): MessageConsumerPact;
|
|
48
53
|
/**
|
|
49
|
-
*
|
|
54
|
+
* The binary content to be received by the message consumer.
|
|
50
55
|
*
|
|
51
|
-
*
|
|
56
|
+
* Content will be stored in base64 in the resulting pact file.
|
|
57
|
+
*
|
|
58
|
+
* @param {Buffer} content - A buffer containing the binary content
|
|
59
|
+
* @param {String} contenttype - The mime type of the content to expect
|
|
60
|
+
* @returns {Message} MessageConsumer
|
|
52
61
|
*/
|
|
53
|
-
|
|
62
|
+
withBinaryContent(content: Buffer, contentType: string): MessageConsumerPact;
|
|
63
|
+
/**
|
|
64
|
+
* Message metadata.
|
|
65
|
+
*
|
|
66
|
+
* @param {string} metadata -
|
|
67
|
+
* @returns {Message} MessageConsumer
|
|
68
|
+
*/
|
|
69
|
+
withMetadata(metadata: Metadata): MessageConsumerPact;
|
|
54
70
|
/**
|
|
55
71
|
* Creates a new Pact _message_ interaction to build a testable interaction.
|
|
56
72
|
*
|
|
@@ -58,12 +74,13 @@ export declare class MessageConsumerPact {
|
|
|
58
74
|
* @returns {Promise}
|
|
59
75
|
*/
|
|
60
76
|
verify(handler: MessageConsumer): Promise<unknown>;
|
|
77
|
+
private reifiedContent;
|
|
61
78
|
/**
|
|
62
|
-
*
|
|
79
|
+
* Returns the Message object created.
|
|
63
80
|
*
|
|
64
|
-
* @returns {
|
|
81
|
+
* @returns {Message}
|
|
65
82
|
*/
|
|
66
|
-
|
|
83
|
+
json(): Message;
|
|
67
84
|
}
|
|
68
|
-
export declare function synchronousBodyHandler<R>(handler: (body: AnyJson) => R): MessageConsumer;
|
|
69
|
-
export declare function asynchronousBodyHandler<R>(handler: (body: AnyJson) => Promise<R>): MessageConsumer;
|
|
85
|
+
export declare function synchronousBodyHandler<R>(handler: (body: AnyJson | Buffer) => R): MessageConsumer;
|
|
86
|
+
export declare function asynchronousBodyHandler<R>(handler: (body: AnyJson | Buffer) => Promise<R>): MessageConsumer;
|