@pact-foundation/pact 12.1.0 → 12.1.1
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 +12 -1
- package/CONTRIBUTING.md +7 -7
- package/package.json +2 -2
- package/scripts/ci/test-examples.sh +4 -4
- package/src/messageConsumerPact.js +1 -1
- package/src/v3/display.js +1 -1
- package/src/v3/display.js.map +1 -1
- package/src/v4/http/index.d.ts +14 -10
- package/src/v4/http/index.js +29 -24
- package/src/v4/http/index.js.map +1 -1
- package/src/v4/index.d.ts +1 -0
- package/src/v4/index.js +19 -4
- package/src/v4/index.js.map +1 -1
- package/src/v4/message/index.d.ts +12 -6
- package/src/v4/message/index.js +29 -20
- package/src/v4/message/index.js.map +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,16 +2,27 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file. See [commit-and-tag-version](https://github.com/absolute-version/commit-and-tag-version) for commit guidelines.
|
|
4
4
|
|
|
5
|
+
### [12.1.1](https://github.com/pact-foundation/pact-js/compare/v12.1.0...v12.1.1) (2023-11-10)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### Fixes and Improvements
|
|
9
|
+
|
|
10
|
+
* allow re-use of PactV4 object ([38a68fb](https://github.com/pact-foundation/pact-js/commit/38a68fb4569a20f54160333498b8b0bc20ec7838))
|
|
11
|
+
* MessageConsumerPact merge pact file correctly ([6b5de27](https://github.com/pact-foundation/pact-js/commit/6b5de27c196af45704d9ca9f4837396363a56a15))
|
|
12
|
+
* package.json & package-lock.json to reduce vulnerabilities ([288bdfd](https://github.com/pact-foundation/pact-js/commit/288bdfd37e497f89589795dde7b7afba97ce0f50))
|
|
13
|
+
* return raw consumer mock server mismatch if structure unknown ([17be53c](https://github.com/pact-foundation/pact-js/commit/17be53c3808c8ea489b5b9d85f9287144f4a1a31))
|
|
14
|
+
|
|
5
15
|
## [12.1.0](https://github.com/pact-foundation/pact-js/compare/v12.0.0...v12.1.0) (2023-07-18)
|
|
6
16
|
|
|
7
17
|
|
|
8
18
|
### Features
|
|
9
19
|
|
|
10
|
-
* add eachKeyMatches + eachValueMatches
|
|
20
|
+
* add eachKeyMatches + eachValueMatches matchers ([0b2098b](https://github.com/pact-foundation/pact-js/commit/0b2098b035a01e8c61c8165804a7eb3b0fb67c0d))
|
|
11
21
|
|
|
12
22
|
|
|
13
23
|
### Fixes and Improvements
|
|
14
24
|
|
|
25
|
+
* Deprecate the `eachKeyLike` matcher ([0b2098b](https://github.com/pact-foundation/pact-js/commit/0b2098b035a01e8c61c8165804a7eb3b0fb67c0d))
|
|
15
26
|
* do not split headers by comma ([fccaa07](https://github.com/pact-foundation/pact-js/commit/fccaa0780562002e78b175a5406479171d689f34)), closes [#1031](https://github.com/pact-foundation/pact-js/issues/1031) [#1058](https://github.com/pact-foundation/pact-js/issues/1058)
|
|
16
27
|
* update dependencies to remove vulnerabilities ([4b00b63](https://github.com/pact-foundation/pact-js/commit/4b00b63fd17248d85017d16dc76d1866556a8117))
|
|
17
28
|
|
package/CONTRIBUTING.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Contributing
|
|
2
2
|
|
|
3
|
-
We love contributors! Pact-js is maintained and
|
|
3
|
+
We love contributors! Pact-js is maintained and contributed to by developers just like you.
|
|
4
4
|
|
|
5
5
|
We have a development channel in the pact-foundation [slack] (`#pact-js-development`).
|
|
6
6
|
|
|
@@ -17,9 +17,9 @@ Please provide the following information with your issue to enable us to respond
|
|
|
17
17
|
|
|
18
18
|
## Key Branches
|
|
19
19
|
|
|
20
|
-
* `master` - this is the current main version supporting the 11.x.x release line. Most investment will be here, including major new features, enhancements, bug fixes, security patches etc.
|
|
20
|
+
* `master` - this is the current main version supporting the 11.x.x release line. Most investment will be here, including major new features, enhancements, bug fixes, security patches, etc.
|
|
21
21
|
* `9.x.x` - this is the previous major version supporting the 9.x.x release line. Critical security patches and bug fixes will be provided as a priority.
|
|
22
|
-
* There is no tracking or release branch for 10.x.x at this stage. Most users can be encouraged to jump straight to 11.x.x noting the single breaking change (see the migration guide)
|
|
22
|
+
* There is no tracking or release branch for 10.x.x at this stage. Most users can be encouraged to jump straight to 11.x.x noting the single breaking change (see the migration guide).
|
|
23
23
|
|
|
24
24
|
## I want to contribute code but don't know where to start
|
|
25
25
|
|
|
@@ -79,10 +79,10 @@ The recommended approach is to configure Prettier to format on save in your edit
|
|
|
79
79
|
|
|
80
80
|
## Pull requests
|
|
81
81
|
|
|
82
|
-
- Please write tests for any changes
|
|
83
|
-
- Please follow existing code style and conventions
|
|
84
|
-
- Please separate unrelated changes into multiple pull requests
|
|
85
|
-
- For bigger changes, make sure you start a discussion first by creating an issue and explaining the intended change
|
|
82
|
+
- Please write tests for any changes.
|
|
83
|
+
- Please follow existing code style and conventions.
|
|
84
|
+
- Please separate unrelated changes into multiple pull requests.
|
|
85
|
+
- For bigger changes, make sure you start a discussion first by creating an issue and explaining the intended change.
|
|
86
86
|
|
|
87
87
|
[stackoverflow]: https://stackoverflow.com/questions/tagged/pact
|
|
88
88
|
[examples]: https://github.com/pact-foundation/pact-js/tree/master/examples
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pact-foundation/pact",
|
|
3
|
-
"version": "12.1.
|
|
3
|
+
"version": "12.1.1",
|
|
4
4
|
"description": "Pact for all things Javascript",
|
|
5
5
|
"main": "./src/index.js",
|
|
6
6
|
"types": "./src/index.d.ts",
|
|
@@ -97,7 +97,7 @@
|
|
|
97
97
|
"dependencies": {
|
|
98
98
|
"@pact-foundation/pact-core": "^14.0.1",
|
|
99
99
|
"@types/express": "^4.17.11",
|
|
100
|
-
"axios": "^
|
|
100
|
+
"axios": "^1.6.1",
|
|
101
101
|
"body-parser": "^1.20.0",
|
|
102
102
|
"cli-color": "^2.0.1",
|
|
103
103
|
"express": "^4.18.1",
|
|
@@ -12,8 +12,8 @@ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")"; pwd)" # Figure out where the
|
|
|
12
12
|
|
|
13
13
|
echo "Running e2e examples build for node version $(node --version)"
|
|
14
14
|
for i in examples/*; do
|
|
15
|
-
[ -d "$i" ] ||
|
|
16
|
-
[ -e "$i" ] ||
|
|
15
|
+
[ -d "$i" ] || break # prevent failure if not a directory
|
|
16
|
+
[ -e "$i" ] || break # prevent failure if there are no examples
|
|
17
17
|
echo "--> running tests for: $i"
|
|
18
18
|
pushd "$i"
|
|
19
19
|
# replace pact dependency with locally build version
|
|
@@ -42,8 +42,8 @@ echo "Running Vx examples build"
|
|
|
42
42
|
# trap "docker kill $BROKER_ID" EXIT
|
|
43
43
|
|
|
44
44
|
for i in examples/v*/*; do
|
|
45
|
-
[ -d "$i" ] ||
|
|
46
|
-
[ -e "$i" ] ||
|
|
45
|
+
[ -d "$i" ] || break # prevent failure if not a directory
|
|
46
|
+
[ -e "$i" ] || break # prevent failure if there are no examples
|
|
47
47
|
echo "------------------------------------------------"
|
|
48
48
|
echo "------------> continuing to test V3/v$ example project: $i"
|
|
49
49
|
node --version
|
|
@@ -165,7 +165,7 @@ var MessageConsumerPact = /** @class */ (function () {
|
|
|
165
165
|
return handler(this.reifiedContent())
|
|
166
166
|
.then(function () {
|
|
167
167
|
var _a;
|
|
168
|
-
_this.pact.writePactFile((_a = _this.config.dir) !== null && _a !== void 0 ? _a : DEFAULT_PACT_DIR, _this.config.pactfileWriteMode
|
|
168
|
+
_this.pact.writePactFile((_a = _this.config.dir) !== null && _a !== void 0 ? _a : DEFAULT_PACT_DIR, _this.config.pactfileWriteMode !== 'overwrite');
|
|
169
169
|
})
|
|
170
170
|
.finally(function () {
|
|
171
171
|
_this.message = _this.pact.newMessage('');
|
package/src/v3/display.js
CHANGED
|
@@ -114,7 +114,7 @@ function generateMockServerError(mismatches, indent) {
|
|
|
114
114
|
if (mismatch.type === 'missing-request') {
|
|
115
115
|
return "\n".concat(indent).concat(i, ") The following request was expected but not received: ").concat(displayRequest(mismatch.request, "".concat(indent, " ")));
|
|
116
116
|
}
|
|
117
|
-
return
|
|
117
|
+
return "Unknown mismatch: ".concat(mismatch);
|
|
118
118
|
}), true).join('\n');
|
|
119
119
|
}
|
|
120
120
|
exports.generateMockServerError = generateMockServerError;
|
package/src/v3/display.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"display.js","sourceRoot":"","sources":["../../../src/v3/display.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"display.js","sourceRoot":"","sources":["../../../src/v3/display.ts"],"names":[],"mappings":"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"}
|
package/src/v4/http/index.d.ts
CHANGED
|
@@ -7,7 +7,8 @@ export declare class UnconfiguredInteraction implements V4UnconfiguredInteractio
|
|
|
7
7
|
protected pact: ConsumerPact;
|
|
8
8
|
protected interaction: ConsumerInteraction;
|
|
9
9
|
protected opts: PactV4Options;
|
|
10
|
-
|
|
10
|
+
protected cleanupFn: () => void;
|
|
11
|
+
constructor(pact: ConsumerPact, interaction: ConsumerInteraction, opts: PactV4Options, cleanupFn: () => void);
|
|
11
12
|
uponReceiving(description: string): V4UnconfiguredInteraction;
|
|
12
13
|
given(state: string, parameters?: JsonMap): V4UnconfiguredInteraction;
|
|
13
14
|
withCompleteRequest(request: V4Request): V4InteractionWithCompleteRequest;
|
|
@@ -18,15 +19,16 @@ export declare class InteractionWithCompleteRequest implements V4InteractionWith
|
|
|
18
19
|
private pact;
|
|
19
20
|
private interaction;
|
|
20
21
|
private opts;
|
|
21
|
-
|
|
22
|
-
constructor(pact: ConsumerPact, interaction: ConsumerInteraction, opts: PactV4Options,
|
|
22
|
+
protected cleanupFn: () => void;
|
|
23
|
+
constructor(pact: ConsumerPact, interaction: ConsumerInteraction, opts: PactV4Options, cleanupFn: () => void);
|
|
23
24
|
withCompleteResponse(response: V4Response): V4InteractionWithResponse;
|
|
24
25
|
}
|
|
25
26
|
export declare class InteractionwithRequest implements V4InteractionwithRequest {
|
|
26
27
|
private pact;
|
|
27
28
|
private interaction;
|
|
28
29
|
private opts;
|
|
29
|
-
|
|
30
|
+
protected cleanupFn: () => void;
|
|
31
|
+
constructor(pact: ConsumerPact, interaction: ConsumerInteraction, opts: PactV4Options, cleanupFn: () => void);
|
|
30
32
|
willRespondWith(status: number, builder?: V4ResponseBuilderFunc): InteractionWithResponse;
|
|
31
33
|
}
|
|
32
34
|
export declare class RequestBuilder implements V4RequestBuilder {
|
|
@@ -50,16 +52,17 @@ export declare class ResponseBuilder implements V4ResponseBuilder {
|
|
|
50
52
|
}
|
|
51
53
|
export declare class InteractionWithResponse implements V4InteractionWithResponse {
|
|
52
54
|
private pact;
|
|
53
|
-
private interaction;
|
|
54
55
|
private opts;
|
|
55
|
-
|
|
56
|
+
protected cleanupFn: () => void;
|
|
57
|
+
constructor(pact: ConsumerPact, opts: PactV4Options, cleanupFn: () => void);
|
|
56
58
|
executeTest<T>(testFn: TestFunction<T>): Promise<T | undefined>;
|
|
57
59
|
}
|
|
58
60
|
export declare class InteractionWithPlugin implements V4InteractionWithPlugin {
|
|
59
61
|
private pact;
|
|
60
62
|
private interaction;
|
|
61
63
|
private opts;
|
|
62
|
-
|
|
64
|
+
protected cleanupFn: () => void;
|
|
65
|
+
constructor(pact: ConsumerPact, interaction: ConsumerInteraction, opts: PactV4Options, cleanupFn: () => void);
|
|
63
66
|
usingPlugin(config: PluginConfig): V4InteractionWithPlugin;
|
|
64
67
|
withRequest(method: string, path: Path, builder?: V4PluginRequestBuilderFunc): V4InteractionWithPluginRequest;
|
|
65
68
|
}
|
|
@@ -67,7 +70,8 @@ export declare class InteractionWithPluginRequest implements V4InteractionWithPl
|
|
|
67
70
|
private pact;
|
|
68
71
|
private interaction;
|
|
69
72
|
private opts;
|
|
70
|
-
|
|
73
|
+
protected cleanupFn: () => void;
|
|
74
|
+
constructor(pact: ConsumerPact, interaction: ConsumerInteraction, opts: PactV4Options, cleanupFn: () => void);
|
|
71
75
|
willRespondWith(status: number, builder?: V4PluginResponseBuilderFunc): V4InteractionWithPluginResponse;
|
|
72
76
|
}
|
|
73
77
|
export declare class RequestWithPluginBuilder extends RequestBuilder implements V4RequestWithPluginBuilder {
|
|
@@ -78,8 +82,8 @@ export declare class ResponseWithPluginBuilder extends ResponseBuilder implement
|
|
|
78
82
|
}
|
|
79
83
|
export declare class InteractionWithPluginResponse implements V4InteractionWithPluginResponse {
|
|
80
84
|
private pact;
|
|
81
|
-
private interaction;
|
|
82
85
|
private opts;
|
|
83
|
-
|
|
86
|
+
protected cleanupFn: () => void;
|
|
87
|
+
constructor(pact: ConsumerPact, opts: PactV4Options, cleanupFn: () => void);
|
|
84
88
|
executeTest<T>(testFn: (mockServer: V4MockServer) => Promise<T>): Promise<T | undefined>;
|
|
85
89
|
}
|
package/src/v4/http/index.js
CHANGED
|
@@ -62,10 +62,11 @@ var display_1 = require("../../v3/display");
|
|
|
62
62
|
var logger_1 = __importDefault(require("../../common/logger"));
|
|
63
63
|
var UnconfiguredInteraction = /** @class */ (function () {
|
|
64
64
|
// tslint:disable:no-empty-function
|
|
65
|
-
function UnconfiguredInteraction(pact, interaction, opts) {
|
|
65
|
+
function UnconfiguredInteraction(pact, interaction, opts, cleanupFn) {
|
|
66
66
|
this.pact = pact;
|
|
67
67
|
this.interaction = interaction;
|
|
68
68
|
this.opts = opts;
|
|
69
|
+
this.cleanupFn = cleanupFn;
|
|
69
70
|
}
|
|
70
71
|
UnconfiguredInteraction.prototype.uponReceiving = function (description) {
|
|
71
72
|
this.interaction.uponReceiving(description);
|
|
@@ -84,49 +85,50 @@ var UnconfiguredInteraction = /** @class */ (function () {
|
|
|
84
85
|
return this;
|
|
85
86
|
};
|
|
86
87
|
UnconfiguredInteraction.prototype.withCompleteRequest = function (request) {
|
|
87
|
-
return new InteractionWithCompleteRequest(this.pact, this.interaction, this.opts,
|
|
88
|
+
return new InteractionWithCompleteRequest(this.pact, this.interaction, this.opts, this.cleanupFn);
|
|
88
89
|
};
|
|
89
90
|
UnconfiguredInteraction.prototype.withRequest = function (method, path, builder) {
|
|
90
91
|
this.interaction.withRequest(method, (0, matchers_1.matcherValueOrString)(path));
|
|
91
92
|
if (builder) {
|
|
92
93
|
builder(new RequestBuilder(this.interaction));
|
|
93
94
|
}
|
|
94
|
-
return new InteractionwithRequest(this.pact, this.interaction, this.opts);
|
|
95
|
+
return new InteractionwithRequest(this.pact, this.interaction, this.opts, this.cleanupFn);
|
|
95
96
|
};
|
|
96
97
|
UnconfiguredInteraction.prototype.usingPlugin = function (config) {
|
|
97
98
|
this.pact.addPlugin(config.plugin, config.version);
|
|
98
|
-
return new InteractionWithPlugin(this.pact, this.interaction, this.opts);
|
|
99
|
+
return new InteractionWithPlugin(this.pact, this.interaction, this.opts, this.cleanupFn);
|
|
99
100
|
};
|
|
100
101
|
return UnconfiguredInteraction;
|
|
101
102
|
}());
|
|
102
103
|
exports.UnconfiguredInteraction = UnconfiguredInteraction;
|
|
103
104
|
var InteractionWithCompleteRequest = /** @class */ (function () {
|
|
104
|
-
function InteractionWithCompleteRequest(pact, interaction, opts,
|
|
105
|
+
function InteractionWithCompleteRequest(pact, interaction, opts, cleanupFn) {
|
|
105
106
|
this.pact = pact;
|
|
106
107
|
this.interaction = interaction;
|
|
107
108
|
this.opts = opts;
|
|
108
|
-
this.
|
|
109
|
+
this.cleanupFn = cleanupFn;
|
|
109
110
|
throw Error('V4InteractionWithCompleteRequest is unimplemented');
|
|
110
111
|
}
|
|
111
112
|
InteractionWithCompleteRequest.prototype.withCompleteResponse = function (response) {
|
|
112
|
-
return new InteractionWithResponse(this.pact, this.
|
|
113
|
+
return new InteractionWithResponse(this.pact, this.opts, this.cleanupFn);
|
|
113
114
|
};
|
|
114
115
|
return InteractionWithCompleteRequest;
|
|
115
116
|
}());
|
|
116
117
|
exports.InteractionWithCompleteRequest = InteractionWithCompleteRequest;
|
|
117
118
|
var InteractionwithRequest = /** @class */ (function () {
|
|
118
119
|
// tslint:disable:no-empty-function
|
|
119
|
-
function InteractionwithRequest(pact, interaction, opts) {
|
|
120
|
+
function InteractionwithRequest(pact, interaction, opts, cleanupFn) {
|
|
120
121
|
this.pact = pact;
|
|
121
122
|
this.interaction = interaction;
|
|
122
123
|
this.opts = opts;
|
|
124
|
+
this.cleanupFn = cleanupFn;
|
|
123
125
|
}
|
|
124
126
|
InteractionwithRequest.prototype.willRespondWith = function (status, builder) {
|
|
125
127
|
this.interaction.withStatus(status);
|
|
126
128
|
if (typeof builder === 'function') {
|
|
127
129
|
builder(new ResponseBuilder(this.interaction));
|
|
128
130
|
}
|
|
129
|
-
return new InteractionWithResponse(this.pact, this.
|
|
131
|
+
return new InteractionWithResponse(this.pact, this.opts, this.cleanupFn);
|
|
130
132
|
};
|
|
131
133
|
return InteractionwithRequest;
|
|
132
134
|
}());
|
|
@@ -217,15 +219,15 @@ var ResponseBuilder = /** @class */ (function () {
|
|
|
217
219
|
exports.ResponseBuilder = ResponseBuilder;
|
|
218
220
|
var InteractionWithResponse = /** @class */ (function () {
|
|
219
221
|
// tslint:disable:no-empty-function
|
|
220
|
-
function InteractionWithResponse(pact,
|
|
222
|
+
function InteractionWithResponse(pact, opts, cleanupFn) {
|
|
221
223
|
this.pact = pact;
|
|
222
|
-
this.interaction = interaction;
|
|
223
224
|
this.opts = opts;
|
|
225
|
+
this.cleanupFn = cleanupFn;
|
|
224
226
|
}
|
|
225
227
|
InteractionWithResponse.prototype.executeTest = function (testFn) {
|
|
226
228
|
return __awaiter(this, void 0, void 0, function () {
|
|
227
229
|
return __generator(this, function (_a) {
|
|
228
|
-
return [2 /*return*/, executeTest(this.pact, this.opts, testFn)];
|
|
230
|
+
return [2 /*return*/, executeTest(this.pact, this.opts, testFn, this.cleanupFn)];
|
|
229
231
|
});
|
|
230
232
|
});
|
|
231
233
|
};
|
|
@@ -234,10 +236,11 @@ var InteractionWithResponse = /** @class */ (function () {
|
|
|
234
236
|
exports.InteractionWithResponse = InteractionWithResponse;
|
|
235
237
|
var InteractionWithPlugin = /** @class */ (function () {
|
|
236
238
|
// tslint:disable:no-empty-function
|
|
237
|
-
function InteractionWithPlugin(pact, interaction, opts) {
|
|
239
|
+
function InteractionWithPlugin(pact, interaction, opts, cleanupFn) {
|
|
238
240
|
this.pact = pact;
|
|
239
241
|
this.interaction = interaction;
|
|
240
242
|
this.opts = opts;
|
|
243
|
+
this.cleanupFn = cleanupFn;
|
|
241
244
|
}
|
|
242
245
|
// Multiple plugins are allowed
|
|
243
246
|
InteractionWithPlugin.prototype.usingPlugin = function (config) {
|
|
@@ -249,24 +252,25 @@ var InteractionWithPlugin = /** @class */ (function () {
|
|
|
249
252
|
if (typeof builder === 'function') {
|
|
250
253
|
builder(new RequestWithPluginBuilder(this.interaction));
|
|
251
254
|
}
|
|
252
|
-
return new InteractionWithPluginRequest(this.pact, this.interaction, this.opts);
|
|
255
|
+
return new InteractionWithPluginRequest(this.pact, this.interaction, this.opts, this.cleanupFn);
|
|
253
256
|
};
|
|
254
257
|
return InteractionWithPlugin;
|
|
255
258
|
}());
|
|
256
259
|
exports.InteractionWithPlugin = InteractionWithPlugin;
|
|
257
260
|
var InteractionWithPluginRequest = /** @class */ (function () {
|
|
258
261
|
// tslint:disable:no-empty-function
|
|
259
|
-
function InteractionWithPluginRequest(pact, interaction, opts) {
|
|
262
|
+
function InteractionWithPluginRequest(pact, interaction, opts, cleanupFn) {
|
|
260
263
|
this.pact = pact;
|
|
261
264
|
this.interaction = interaction;
|
|
262
265
|
this.opts = opts;
|
|
266
|
+
this.cleanupFn = cleanupFn;
|
|
263
267
|
}
|
|
264
268
|
InteractionWithPluginRequest.prototype.willRespondWith = function (status, builder) {
|
|
265
269
|
this.interaction.withStatus(status);
|
|
266
270
|
if (typeof builder === 'function') {
|
|
267
271
|
builder(new ResponseWithPluginBuilder(this.interaction));
|
|
268
272
|
}
|
|
269
|
-
return new InteractionWithPluginResponse(this.pact, this.
|
|
273
|
+
return new InteractionWithPluginResponse(this.pact, this.opts, this.cleanupFn);
|
|
270
274
|
};
|
|
271
275
|
return InteractionWithPluginRequest;
|
|
272
276
|
}());
|
|
@@ -297,15 +301,15 @@ var ResponseWithPluginBuilder = /** @class */ (function (_super) {
|
|
|
297
301
|
exports.ResponseWithPluginBuilder = ResponseWithPluginBuilder;
|
|
298
302
|
var InteractionWithPluginResponse = /** @class */ (function () {
|
|
299
303
|
// tslint:disable:no-empty-function
|
|
300
|
-
function InteractionWithPluginResponse(pact,
|
|
304
|
+
function InteractionWithPluginResponse(pact, opts, cleanupFn) {
|
|
301
305
|
this.pact = pact;
|
|
302
|
-
this.interaction = interaction;
|
|
303
306
|
this.opts = opts;
|
|
307
|
+
this.cleanupFn = cleanupFn;
|
|
304
308
|
}
|
|
305
309
|
InteractionWithPluginResponse.prototype.executeTest = function (testFn) {
|
|
306
310
|
return __awaiter(this, void 0, void 0, function () {
|
|
307
311
|
return __generator(this, function (_a) {
|
|
308
|
-
return [2 /*return*/, executeTest(this.pact, this.opts, testFn)];
|
|
312
|
+
return [2 /*return*/, executeTest(this.pact, this.opts, testFn, this.cleanupFn)];
|
|
309
313
|
});
|
|
310
314
|
});
|
|
311
315
|
};
|
|
@@ -321,14 +325,15 @@ var readBinaryData = function (file) {
|
|
|
321
325
|
throw new Error("unable to read file for binary payload : ".concat(e.message));
|
|
322
326
|
}
|
|
323
327
|
};
|
|
324
|
-
var cleanup = function (success, pact, opts, server) {
|
|
328
|
+
var cleanup = function (success, pact, opts, server, cleanupFn) {
|
|
325
329
|
if (success) {
|
|
326
330
|
pact.writePactFile(opts.dir || './pacts');
|
|
327
331
|
}
|
|
328
332
|
pact.cleanupMockServer(server.port);
|
|
329
333
|
pact.cleanupPlugins();
|
|
334
|
+
cleanupFn();
|
|
330
335
|
};
|
|
331
|
-
var executeTest = function (pact, opts, testFn) { return __awaiter(void 0, void 0, void 0, function () {
|
|
336
|
+
var executeTest = function (pact, opts, testFn, cleanupFn) { return __awaiter(void 0, void 0, void 0, function () {
|
|
332
337
|
var scheme, host, port, server, val, error, e_1, matchingResults, errors, success, errorMessage;
|
|
333
338
|
return __generator(this, function (_a) {
|
|
334
339
|
switch (_a.label) {
|
|
@@ -356,7 +361,7 @@ var executeTest = function (pact, opts, testFn) { return __awaiter(void 0, void
|
|
|
356
361
|
if (!success && errors.length > 0) {
|
|
357
362
|
errorMessage = 'Test failed for the following reasons:';
|
|
358
363
|
errorMessage += "\n\n ".concat((0, display_1.generateMockServerError)(matchingResults, '\t'));
|
|
359
|
-
cleanup(false, pact, opts, server);
|
|
364
|
+
cleanup(false, pact, opts, server, cleanupFn);
|
|
360
365
|
// If the tests throws an error, we need to rethrow the error, but print out
|
|
361
366
|
// any additional mock server errors to help the user understand what happened
|
|
362
367
|
// (The proximate cause here is often the HTTP 500 from the mock server,
|
|
@@ -370,11 +375,11 @@ var executeTest = function (pact, opts, testFn) { return __awaiter(void 0, void
|
|
|
370
375
|
}
|
|
371
376
|
// Scenario: test threw an error, but Pact validation was OK (error in client or test)
|
|
372
377
|
if (error) {
|
|
373
|
-
cleanup(false, pact, opts, server);
|
|
378
|
+
cleanup(false, pact, opts, server, cleanupFn);
|
|
374
379
|
throw error;
|
|
375
380
|
}
|
|
376
381
|
// Scenario: Pact validation passed, test didn't throw - return the callback value
|
|
377
|
-
cleanup(true, pact, opts, server);
|
|
382
|
+
cleanup(true, pact, opts, server, cleanupFn);
|
|
378
383
|
return [2 /*return*/, val];
|
|
379
384
|
}
|
|
380
385
|
});
|
package/src/v4/http/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/v4/http/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,+BAA0C;AAE1C,8CAAkE;AAwBlE,uBAA0B;AAC1B,4CAG0B;AAC1B,+DAAyC;AAIzC;IACE,mCAAmC;IACnC,iCACY,IAAkB,EAClB,WAAgC,EAChC,IAAmB;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/v4/http/index.ts"],"names":[],"mappings":"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"}
|
package/src/v4/index.d.ts
CHANGED
|
@@ -5,6 +5,7 @@ export declare class PactV4 implements V4ConsumerPact {
|
|
|
5
5
|
private opts;
|
|
6
6
|
private pact;
|
|
7
7
|
constructor(opts: PactV4Options);
|
|
8
|
+
setup(): void;
|
|
8
9
|
addInteraction(): V4UnconfiguredInteraction;
|
|
9
10
|
addSynchronousInteraction(description: string): V4UnconfiguredSynchronousMessage;
|
|
10
11
|
}
|
package/src/v4/index.js
CHANGED
|
@@ -8,19 +8,34 @@ var message_1 = require("./message");
|
|
|
8
8
|
var v3_1 = require("../v3");
|
|
9
9
|
var PactV4 = /** @class */ (function () {
|
|
10
10
|
function PactV4(opts) {
|
|
11
|
-
var _a;
|
|
12
11
|
this.opts = opts;
|
|
13
12
|
if (!process.env.ENABLE_FEATURE_V4) {
|
|
14
13
|
throw Error("The v4 package is currently in beta and requires the 'ENABLE_FEATURE_V4' environment variable to be set");
|
|
15
14
|
}
|
|
16
|
-
this.
|
|
15
|
+
this.setup();
|
|
17
16
|
this.pact.addMetadata('pact-js', 'version', package_json_1.version);
|
|
18
17
|
}
|
|
18
|
+
PactV4.prototype.setup = function () {
|
|
19
|
+
var _a, _b;
|
|
20
|
+
this.pact = (0, pact_core_1.makeConsumerPact)(this.opts.consumer, this.opts.provider, (_a = this.opts.spec) !== null && _a !== void 0 ? _a : v3_1.SpecificationVersion.SPECIFICATION_VERSION_V3, (_b = this.opts.logLevel) !== null && _b !== void 0 ? _b : 'info');
|
|
21
|
+
};
|
|
19
22
|
PactV4.prototype.addInteraction = function () {
|
|
20
|
-
|
|
23
|
+
var _this = this;
|
|
24
|
+
return new http_1.UnconfiguredInteraction(this.pact, this.pact.newInteraction(''), this.opts, function () {
|
|
25
|
+
// This function needs to be called if the PactV4 object is to be re-used (commonly expected by users)
|
|
26
|
+
// Because of the type-state model used here, it's a bit awkward as we need to thread this through
|
|
27
|
+
// to children, ultimately to be called on the "executeTest" stage.
|
|
28
|
+
_this.setup();
|
|
29
|
+
});
|
|
21
30
|
};
|
|
22
31
|
PactV4.prototype.addSynchronousInteraction = function (description) {
|
|
23
|
-
|
|
32
|
+
var _this = this;
|
|
33
|
+
return new message_1.UnconfiguredSynchronousMessage(this.pact, this.pact.newSynchronousMessage(description), this.opts, function () {
|
|
34
|
+
// This function needs to be called if the PactV4 object is to be re-used (commonly expected by users)
|
|
35
|
+
// Because of the type-state model used here, it's a bit awkward as we need to thread this through
|
|
36
|
+
// to children, ultimately to be called on the "executeTest" stage.
|
|
37
|
+
_this.setup();
|
|
38
|
+
});
|
|
24
39
|
};
|
|
25
40
|
return PactV4;
|
|
26
41
|
}());
|
package/src/v4/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/v4/index.ts"],"names":[],"mappings":";;;AAAA,wDAA4E;AAC5E,+BAAiD;AAGjD,mDAAmE;AAEnE,qCAA2D;AAC3D,4BAA6C;AAE7C;IAGE,gBAAoB,IAAmB
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/v4/index.ts"],"names":[],"mappings":";;;AAAA,wDAA4E;AAC5E,+BAAiD;AAGjD,mDAAmE;AAEnE,qCAA2D;AAC3D,4BAA6C;AAE7C;IAGE,gBAAoB,IAAmB;QAAnB,SAAI,GAAJ,IAAI,CAAe;QACrC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE;YAClC,MAAM,KAAK,CACT,yGAAyG,CAC1G,CAAC;SACH;QAED,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,SAAS,EAAE,sBAAkB,CAAC,CAAC;IAClE,CAAC;IAED,sBAAK,GAAL;;QACE,IAAI,CAAC,IAAI,GAAG,IAAA,4BAAgB,EAC1B,IAAI,CAAC,IAAI,CAAC,QAAQ,EAClB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAClB,MAAA,IAAI,CAAC,IAAI,CAAC,IAAI,mCAAI,yBAAoB,CAAC,wBAAwB,EAC/D,MAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,mCAAI,MAAM,CAC7B,CAAC;IACJ,CAAC;IAED,+BAAc,GAAd;QAAA,iBAYC;QAXC,OAAO,IAAI,8BAAuB,CAChC,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,EAC5B,IAAI,CAAC,IAAI,EACT;YACE,sGAAsG;YACtG,kGAAkG;YAClG,mEAAmE;YACnE,KAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CACF,CAAC;IACJ,CAAC;IAED,0CAAyB,GAAzB,UACE,WAAmB;QADrB,iBAcC;QAXC,OAAO,IAAI,wCAA8B,CACvC,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,EAC5C,IAAI,CAAC,IAAI,EACT;YACE,sGAAsG;YACtG,kGAAkG;YAClG,mEAAmE;YACnE,KAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CACF,CAAC;IACJ,CAAC;IACH,aAAC;AAAD,CAAC,AApDD,IAoDC;AApDY,wBAAM"}
|
|
@@ -9,7 +9,8 @@ export declare class UnconfiguredSynchronousMessage implements V4UnconfiguredSyn
|
|
|
9
9
|
protected pact: ConsumerPact;
|
|
10
10
|
protected interaction: PactCoreSynchronousMessage;
|
|
11
11
|
protected opts: PactV4Options;
|
|
12
|
-
|
|
12
|
+
protected cleanupFn: () => void;
|
|
13
|
+
constructor(pact: ConsumerPact, interaction: PactCoreSynchronousMessage, opts: PactV4Options, cleanupFn: () => void);
|
|
13
14
|
given(state: string, parameters?: JsonMap): V4UnconfiguredSynchronousMessage;
|
|
14
15
|
usingPlugin(config: PluginConfig): V4SynchronousMessageWithPlugin;
|
|
15
16
|
withRequest(r: V4MessagePluginRequestBuilderFunc): V4SynchronousMessageWithRequest;
|
|
@@ -18,7 +19,8 @@ export declare class SynchronousMessageWithPlugin implements V4SynchronousMessag
|
|
|
18
19
|
protected pact: ConsumerPact;
|
|
19
20
|
protected interaction: PactCoreSynchronousMessage;
|
|
20
21
|
protected opts: PactV4Options;
|
|
21
|
-
|
|
22
|
+
protected cleanupFn: () => void;
|
|
23
|
+
constructor(pact: ConsumerPact, interaction: PactCoreSynchronousMessage, opts: PactV4Options, cleanupFn: () => void);
|
|
22
24
|
usingPlugin(config: PluginConfig): V4SynchronousMessageWithPlugin;
|
|
23
25
|
withPluginContents(contents: string, contentType: string): V4SynchronousMessageWithPluginContents;
|
|
24
26
|
}
|
|
@@ -34,7 +36,8 @@ export declare class SynchronousMessageWithRequest implements V4SynchronousMessa
|
|
|
34
36
|
protected pact: ConsumerPact;
|
|
35
37
|
protected interaction: PactCoreSynchronousMessage;
|
|
36
38
|
protected opts: PactV4Options;
|
|
37
|
-
|
|
39
|
+
protected cleanupFn: () => void;
|
|
40
|
+
constructor(pact: ConsumerPact, interaction: PactCoreSynchronousMessage, opts: PactV4Options, cleanupFn: () => void);
|
|
38
41
|
withResponse(builder: V4MessagePluginResponseBuilderFunc): V4SynchronousMessageWithResponse;
|
|
39
42
|
}
|
|
40
43
|
export declare class SynchronousMessageWithResponseBuilder implements V4SynchronousMessageWithResponseBuilder {
|
|
@@ -50,7 +53,8 @@ export declare class SynchronousMessageWithPluginContents implements V4Synchrono
|
|
|
50
53
|
protected pact: ConsumerPact;
|
|
51
54
|
protected interaction: PactCoreSynchronousMessage;
|
|
52
55
|
protected opts: PactV4Options;
|
|
53
|
-
|
|
56
|
+
protected cleanupFn: () => void;
|
|
57
|
+
constructor(pact: ConsumerPact, interaction: PactCoreSynchronousMessage, opts: PactV4Options, cleanupFn: () => void);
|
|
54
58
|
executeTest<T>(integrationTest: (m: SynchronousMessage) => Promise<T>): Promise<T | undefined>;
|
|
55
59
|
startTransport(transport: string, address: string, // IP Address or hostname
|
|
56
60
|
config?: AnyJson): V4SynchronousMessageWithTransport;
|
|
@@ -61,13 +65,15 @@ export declare class SynchronousMessageWithTransport implements V4SynchronousMes
|
|
|
61
65
|
protected opts: PactV4Options;
|
|
62
66
|
protected port: number;
|
|
63
67
|
protected address: string;
|
|
64
|
-
|
|
68
|
+
protected cleanupFn: () => void;
|
|
69
|
+
constructor(pact: ConsumerPact, interaction: PactCoreSynchronousMessage, opts: PactV4Options, port: number, address: string, cleanupFn: () => void);
|
|
65
70
|
executeTest<T>(integrationTest: (tc: TransportConfig, m: SynchronousMessage) => Promise<T>): Promise<T | undefined>;
|
|
66
71
|
}
|
|
67
72
|
export declare class SynchronousMessageWithResponse implements V4SynchronousMessageWithResponse {
|
|
68
73
|
protected pact: ConsumerPact;
|
|
69
74
|
protected interaction: PactCoreSynchronousMessage;
|
|
70
75
|
protected opts: PactV4Options;
|
|
71
|
-
|
|
76
|
+
protected cleanupFn: () => void;
|
|
77
|
+
constructor(pact: ConsumerPact, interaction: PactCoreSynchronousMessage, opts: PactV4Options, cleanupFn: () => void);
|
|
72
78
|
executeTest<T>(integrationTest: (m: SynchronousMessage) => Promise<T>): Promise<T | undefined>;
|
|
73
79
|
}
|
package/src/v4/message/index.js
CHANGED
|
@@ -46,10 +46,11 @@ var display_1 = require("../../v3/display");
|
|
|
46
46
|
var logger_1 = __importDefault(require("../../common/logger"));
|
|
47
47
|
var defaultPactDir = './pacts';
|
|
48
48
|
var UnconfiguredSynchronousMessage = /** @class */ (function () {
|
|
49
|
-
function UnconfiguredSynchronousMessage(pact, interaction, opts) {
|
|
49
|
+
function UnconfiguredSynchronousMessage(pact, interaction, opts, cleanupFn) {
|
|
50
50
|
this.pact = pact;
|
|
51
51
|
this.interaction = interaction;
|
|
52
52
|
this.opts = opts;
|
|
53
|
+
this.cleanupFn = cleanupFn;
|
|
53
54
|
}
|
|
54
55
|
UnconfiguredSynchronousMessage.prototype.given = function (state, parameters) {
|
|
55
56
|
var _this = this;
|
|
@@ -65,19 +66,20 @@ var UnconfiguredSynchronousMessage = /** @class */ (function () {
|
|
|
65
66
|
};
|
|
66
67
|
UnconfiguredSynchronousMessage.prototype.usingPlugin = function (config) {
|
|
67
68
|
this.pact.addPlugin(config.plugin, config.version);
|
|
68
|
-
return new SynchronousMessageWithPlugin(this.pact, this.interaction, this.opts);
|
|
69
|
+
return new SynchronousMessageWithPlugin(this.pact, this.interaction, this.opts, this.cleanupFn);
|
|
69
70
|
};
|
|
70
71
|
UnconfiguredSynchronousMessage.prototype.withRequest = function (r) {
|
|
71
|
-
return new SynchronousMessageWithRequest(this.pact, this.interaction, this.opts);
|
|
72
|
+
return new SynchronousMessageWithRequest(this.pact, this.interaction, this.opts, this.cleanupFn);
|
|
72
73
|
};
|
|
73
74
|
return UnconfiguredSynchronousMessage;
|
|
74
75
|
}());
|
|
75
76
|
exports.UnconfiguredSynchronousMessage = UnconfiguredSynchronousMessage;
|
|
76
77
|
var SynchronousMessageWithPlugin = /** @class */ (function () {
|
|
77
|
-
function SynchronousMessageWithPlugin(pact, interaction, opts) {
|
|
78
|
+
function SynchronousMessageWithPlugin(pact, interaction, opts, cleanupFn) {
|
|
78
79
|
this.pact = pact;
|
|
79
80
|
this.interaction = interaction;
|
|
80
81
|
this.opts = opts;
|
|
82
|
+
this.cleanupFn = cleanupFn;
|
|
81
83
|
}
|
|
82
84
|
SynchronousMessageWithPlugin.prototype.usingPlugin = function (config) {
|
|
83
85
|
this.pact.addPlugin(config.plugin, config.version);
|
|
@@ -85,7 +87,7 @@ var SynchronousMessageWithPlugin = /** @class */ (function () {
|
|
|
85
87
|
};
|
|
86
88
|
SynchronousMessageWithPlugin.prototype.withPluginContents = function (contents, contentType) {
|
|
87
89
|
this.interaction.withPluginRequestResponseInteractionContents(contentType, contents);
|
|
88
|
-
return new SynchronousMessageWithPluginContents(this.pact, this.interaction, this.opts);
|
|
90
|
+
return new SynchronousMessageWithPluginContents(this.pact, this.interaction, this.opts, this.cleanupFn);
|
|
89
91
|
};
|
|
90
92
|
return SynchronousMessageWithPlugin;
|
|
91
93
|
}());
|
|
@@ -111,14 +113,15 @@ var SynchronousMessageWithRequestBuilder = /** @class */ (function () {
|
|
|
111
113
|
}());
|
|
112
114
|
exports.SynchronousMessageWithRequestBuilder = SynchronousMessageWithRequestBuilder;
|
|
113
115
|
var SynchronousMessageWithRequest = /** @class */ (function () {
|
|
114
|
-
function SynchronousMessageWithRequest(pact, interaction, opts) {
|
|
116
|
+
function SynchronousMessageWithRequest(pact, interaction, opts, cleanupFn) {
|
|
115
117
|
this.pact = pact;
|
|
116
118
|
this.interaction = interaction;
|
|
117
119
|
this.opts = opts;
|
|
120
|
+
this.cleanupFn = cleanupFn;
|
|
118
121
|
}
|
|
119
122
|
SynchronousMessageWithRequest.prototype.withResponse = function (builder) {
|
|
120
123
|
builder(new SynchronousMessageWithResponseBuilder(this.pact, this.interaction, this.opts));
|
|
121
|
-
return new SynchronousMessageWithResponse(this.pact, this.interaction, this.opts);
|
|
124
|
+
return new SynchronousMessageWithResponse(this.pact, this.interaction, this.opts, this.cleanupFn);
|
|
122
125
|
};
|
|
123
126
|
return SynchronousMessageWithRequest;
|
|
124
127
|
}());
|
|
@@ -154,29 +157,31 @@ var SynchronousMessageWithResponseBuilder = /** @class */ (function () {
|
|
|
154
157
|
}());
|
|
155
158
|
exports.SynchronousMessageWithResponseBuilder = SynchronousMessageWithResponseBuilder;
|
|
156
159
|
var SynchronousMessageWithPluginContents = /** @class */ (function () {
|
|
157
|
-
function SynchronousMessageWithPluginContents(pact, interaction, opts) {
|
|
160
|
+
function SynchronousMessageWithPluginContents(pact, interaction, opts, cleanupFn) {
|
|
158
161
|
this.pact = pact;
|
|
159
162
|
this.interaction = interaction;
|
|
160
163
|
this.opts = opts;
|
|
164
|
+
this.cleanupFn = cleanupFn;
|
|
161
165
|
}
|
|
162
166
|
SynchronousMessageWithPluginContents.prototype.executeTest = function (integrationTest) {
|
|
163
|
-
return executeNonTransportTest(this.pact, this.opts, integrationTest);
|
|
167
|
+
return executeNonTransportTest(this.pact, this.opts, integrationTest, this.cleanupFn);
|
|
164
168
|
};
|
|
165
169
|
SynchronousMessageWithPluginContents.prototype.startTransport = function (transport, address, // IP Address or hostname
|
|
166
170
|
config) {
|
|
167
171
|
var port = this.pact.pactffiCreateMockServerForTransport(address, transport, config ? JSON.stringify(config) : '');
|
|
168
|
-
return new SynchronousMessageWithTransport(this.pact, this.interaction, this.opts, port, address);
|
|
172
|
+
return new SynchronousMessageWithTransport(this.pact, this.interaction, this.opts, port, address, this.cleanupFn);
|
|
169
173
|
};
|
|
170
174
|
return SynchronousMessageWithPluginContents;
|
|
171
175
|
}());
|
|
172
176
|
exports.SynchronousMessageWithPluginContents = SynchronousMessageWithPluginContents;
|
|
173
177
|
var SynchronousMessageWithTransport = /** @class */ (function () {
|
|
174
|
-
function SynchronousMessageWithTransport(pact, interaction, opts, port, address) {
|
|
178
|
+
function SynchronousMessageWithTransport(pact, interaction, opts, port, address, cleanupFn) {
|
|
175
179
|
this.pact = pact;
|
|
176
180
|
this.interaction = interaction;
|
|
177
181
|
this.opts = opts;
|
|
178
182
|
this.port = port;
|
|
179
183
|
this.address = address;
|
|
184
|
+
this.cleanupFn = cleanupFn;
|
|
180
185
|
}
|
|
181
186
|
// TODO: this is basically the same as the HTTP variant, except only with a different test function wrapper
|
|
182
187
|
// extract these into smaller, testable chunks and re-use them
|
|
@@ -203,7 +208,7 @@ var SynchronousMessageWithTransport = /** @class */ (function () {
|
|
|
203
208
|
if (!success && errors.length > 0) {
|
|
204
209
|
errorMessage = 'Test failed for the following reasons:';
|
|
205
210
|
errorMessage += "\n\n ".concat((0, display_1.generateMockServerError)(matchingResults, '\t'));
|
|
206
|
-
cleanup(false, this.pact, this.opts, this.port, true);
|
|
211
|
+
cleanup(false, this.pact, this.opts, this.cleanupFn, this.port, true);
|
|
207
212
|
// If the tests throws an error, we need to rethrow the error, but print out
|
|
208
213
|
// any additional mock server errors to help the user understand what happened
|
|
209
214
|
// (The proximate cause here is often the HTTP 500 from the mock server,
|
|
@@ -217,11 +222,11 @@ var SynchronousMessageWithTransport = /** @class */ (function () {
|
|
|
217
222
|
}
|
|
218
223
|
// Scenario: test threw an error, but Pact validation was OK (error in client or test)
|
|
219
224
|
if (error) {
|
|
220
|
-
cleanup(false, this.pact, this.opts, this.port, true);
|
|
225
|
+
cleanup(false, this.pact, this.opts, this.cleanupFn, this.port, true);
|
|
221
226
|
throw error;
|
|
222
227
|
}
|
|
223
228
|
// Scenario: Pact validation passed, test didn't throw - return the callback value
|
|
224
|
-
cleanup(true, this.pact, this.opts, this.port, true);
|
|
229
|
+
cleanup(true, this.pact, this.opts, this.cleanupFn, this.port, true);
|
|
225
230
|
return [2 /*return*/, val];
|
|
226
231
|
}
|
|
227
232
|
});
|
|
@@ -231,18 +236,21 @@ var SynchronousMessageWithTransport = /** @class */ (function () {
|
|
|
231
236
|
}());
|
|
232
237
|
exports.SynchronousMessageWithTransport = SynchronousMessageWithTransport;
|
|
233
238
|
var SynchronousMessageWithResponse = /** @class */ (function () {
|
|
234
|
-
function SynchronousMessageWithResponse(pact, interaction, opts) {
|
|
239
|
+
function SynchronousMessageWithResponse(pact, interaction, opts, cleanupFn) {
|
|
235
240
|
this.pact = pact;
|
|
236
241
|
this.interaction = interaction;
|
|
237
242
|
this.opts = opts;
|
|
243
|
+
this.cleanupFn = cleanupFn;
|
|
238
244
|
}
|
|
239
245
|
SynchronousMessageWithResponse.prototype.executeTest = function (integrationTest) {
|
|
240
|
-
|
|
246
|
+
var res = executeNonTransportTest(this.pact, this.opts, integrationTest, this.cleanupFn);
|
|
247
|
+
this.cleanupFn();
|
|
248
|
+
return res;
|
|
241
249
|
};
|
|
242
250
|
return SynchronousMessageWithResponse;
|
|
243
251
|
}());
|
|
244
252
|
exports.SynchronousMessageWithResponse = SynchronousMessageWithResponse;
|
|
245
|
-
var cleanup = function (success, pact, opts, port, transport) {
|
|
253
|
+
var cleanup = function (success, pact, opts, cleanupFn, port, transport) {
|
|
246
254
|
if (transport === void 0) { transport = false; }
|
|
247
255
|
if (success) {
|
|
248
256
|
if (transport && port) {
|
|
@@ -256,8 +264,9 @@ var cleanup = function (success, pact, opts, port, transport) {
|
|
|
256
264
|
pact.cleanupMockServer(port);
|
|
257
265
|
}
|
|
258
266
|
pact.cleanupPlugins();
|
|
267
|
+
cleanupFn();
|
|
259
268
|
};
|
|
260
|
-
var executeNonTransportTest = function (pact, opts, integrationTest) { return __awaiter(void 0, void 0, void 0, function () {
|
|
269
|
+
var executeNonTransportTest = function (pact, opts, integrationTest, cleanupFn) { return __awaiter(void 0, void 0, void 0, function () {
|
|
261
270
|
var val, error, e_2;
|
|
262
271
|
return __generator(this, function (_a) {
|
|
263
272
|
switch (_a.label) {
|
|
@@ -274,11 +283,11 @@ var executeNonTransportTest = function (pact, opts, integrationTest) { return __
|
|
|
274
283
|
case 3:
|
|
275
284
|
// Scenario: test threw an error, but Pact validation was OK (error in client or test)
|
|
276
285
|
if (error) {
|
|
277
|
-
cleanup(false, pact, opts);
|
|
286
|
+
cleanup(false, pact, opts, cleanupFn);
|
|
278
287
|
throw error;
|
|
279
288
|
}
|
|
280
289
|
// Scenario: Pact validation passed, test didn't throw - return the callback value
|
|
281
|
-
cleanup(true, pact, opts);
|
|
290
|
+
cleanup(true, pact, opts, cleanupFn);
|
|
282
291
|
return [2 /*return*/, val];
|
|
283
292
|
}
|
|
284
293
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/v4/message/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwBA,+BAAmD;AACnD,uFAAiE;AACjE,4CAG0B;AAC1B,+DAAyC;AAEzC,IAAM,cAAc,GAAG,SAAS,CAAC;AAEjC;IAGE,wCACY,IAAkB,EAClB,WAAuC,EACvC,IAAmB;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/v4/message/index.ts"],"names":[],"mappings":"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"}
|