@pact-foundation/pact 16.0.4 → 16.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +19 -0
- package/package.json +9 -9
- package/src/common/matchingRules.d.ts +19 -0
- package/src/common/matchingRules.js +80 -0
- package/src/common/matchingRules.js.map +1 -0
- package/src/v3/matchers.d.ts +6 -0
- package/src/v3/matchers.js +11 -1
- package/src/v3/matchers.js.map +1 -1
- package/src/v3/pact.d.ts +21 -1
- package/src/v3/pact.js +33 -0
- package/src/v3/pact.js.map +1 -1
- package/src/v3/types.d.ts +19 -0
- package/src/v4/http/requestBuilder.d.ts +10 -1
- package/src/v4/http/requestBuilder.js +15 -0
- package/src/v4/http/requestBuilder.js.map +1 -1
- package/src/v4/http/requestWithPluginBuilder.d.ts +10 -1
- package/src/v4/http/requestWithPluginBuilder.js +12 -0
- package/src/v4/http/requestWithPluginBuilder.js.map +1 -1
- package/src/v4/http/responseBuilder.d.ts +10 -1
- package/src/v4/http/responseBuilder.js +15 -0
- package/src/v4/http/responseBuilder.js.map +1 -1
- package/src/v4/http/types.d.ts +5 -1
- package/src/v4/message/asynchronousMessage.d.ts +2 -0
- package/src/v4/message/asynchronousMessage.js +7 -0
- package/src/v4/message/asynchronousMessage.js.map +1 -1
- package/src/v4/message/index.d.ts +3 -0
- package/src/v4/message/index.js +13 -0
- package/src/v4/message/index.js.map +1 -1
- package/src/v4/message/types.d.ts +4 -0
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,25 @@
|
|
|
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
|
+
## [16.2.0](https://github.com/pact-foundation/pact-js/compare/v16.1.0...v16.2.0) (2026-02-10)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### Features
|
|
9
|
+
|
|
10
|
+
* add matching rules support to async and sync interactions ([#1663](https://github.com/pact-foundation/pact-js/issues/1663)) ([ee4dc99](https://github.com/pact-foundation/pact-js/commit/ee4dc9900dfa706f9a18529212c9fd179e4a2b37))
|
|
11
|
+
|
|
12
|
+
## [16.1.0](https://github.com/pact-foundation/pact-js/compare/v16.0.4...v16.1.0) (2026-02-06)
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
### Features
|
|
16
|
+
|
|
17
|
+
* add support for with_matching_rules and add example usage ([#1640](https://github.com/pact-foundation/pact-js/issues/1640)) ([31a277b](https://github.com/pact-foundation/pact-js/commit/31a277bdf8590bae80dc6c38f7e6e48449eb3fa7))
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
### Fixes and Improvements
|
|
21
|
+
|
|
22
|
+
* **deps:** update dependency @pact-foundation/pact-core to v18 ([#1635](https://github.com/pact-foundation/pact-js/issues/1635)) ([1700f6f](https://github.com/pact-foundation/pact-js/commit/1700f6f0ba3dfd7eccf6ca651e668df5b6cab21e))
|
|
23
|
+
|
|
5
24
|
## [16.0.4](https://github.com/pact-foundation/pact-js/compare/v16.0.3...v16.0.4) (2025-12-19)
|
|
6
25
|
|
|
7
26
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pact-foundation/pact",
|
|
3
|
-
"version": "16.0
|
|
3
|
+
"version": "16.2.0",
|
|
4
4
|
"description": "Pact for all things Javascript",
|
|
5
5
|
"main": "./src/index.js",
|
|
6
6
|
"types": "./src/index.d.ts",
|
|
@@ -103,7 +103,7 @@
|
|
|
103
103
|
]
|
|
104
104
|
},
|
|
105
105
|
"dependencies": {
|
|
106
|
-
"@pact-foundation/pact-core": "^
|
|
106
|
+
"@pact-foundation/pact-core": "^18.1.0",
|
|
107
107
|
"axios": "^1.12.2",
|
|
108
108
|
"body-parser": "^2.2.0",
|
|
109
109
|
"chalk": "4.1.2",
|
|
@@ -120,25 +120,25 @@
|
|
|
120
120
|
"stack-utils": "^2.0.6"
|
|
121
121
|
},
|
|
122
122
|
"devDependencies": {
|
|
123
|
-
"@babel/cli": "7.28.
|
|
124
|
-
"@babel/core": "7.
|
|
125
|
-
"@babel/preset-env": "7.
|
|
123
|
+
"@babel/cli": "7.28.6",
|
|
124
|
+
"@babel/core": "7.29.0",
|
|
125
|
+
"@babel/preset-env": "7.29.0",
|
|
126
126
|
"@pact-foundation/pact-js-prettier-config": "1.0.0",
|
|
127
127
|
"@types/chai": "5.2.3",
|
|
128
128
|
"@types/chai-as-promised": "8.0.2",
|
|
129
129
|
"@types/express": "4.17.25",
|
|
130
130
|
"@types/http-proxy": "1.17.17",
|
|
131
|
-
"@types/lodash": "4.17.
|
|
131
|
+
"@types/lodash": "4.17.23",
|
|
132
132
|
"@types/mocha": "10.0.10",
|
|
133
133
|
"@types/nock": "11.1.0",
|
|
134
|
-
"@types/node": "24.10.
|
|
134
|
+
"@types/node": "24.10.11",
|
|
135
135
|
"@types/ramda": "0.31.1",
|
|
136
136
|
"@types/sinon": "21.0.0",
|
|
137
137
|
"@types/sinon-chai": "4.0.0",
|
|
138
138
|
"@types/stack-utils": "2.0.3",
|
|
139
139
|
"@typescript-eslint/eslint-plugin": "5.62.0",
|
|
140
140
|
"@typescript-eslint/parser": "5.62.0",
|
|
141
|
-
"chai": "6.2.
|
|
141
|
+
"chai": "6.2.2",
|
|
142
142
|
"chai-as-promised": "8.0.2",
|
|
143
143
|
"commit-and-tag-version": "12.6.1",
|
|
144
144
|
"copyfiles": "2.4.1",
|
|
@@ -156,7 +156,7 @@
|
|
|
156
156
|
"prettier": "3.6.2",
|
|
157
157
|
"proxyquire": "2.1.3",
|
|
158
158
|
"rimraf": "6.1.2",
|
|
159
|
-
"sinon": "21.0.
|
|
159
|
+
"sinon": "21.0.1",
|
|
160
160
|
"sinon-chai": "4.0.1",
|
|
161
161
|
"source-map-support": "0.5.21",
|
|
162
162
|
"tsx": "4.21.0",
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Rules, Matcher } from '../v3/types';
|
|
2
|
+
/**
|
|
3
|
+
* Converts a matcher to the FFI format expected by pact-core
|
|
4
|
+
* @param matcher The matcher to convert
|
|
5
|
+
* @returns The matcher in FFI format
|
|
6
|
+
*/
|
|
7
|
+
export declare const convertMatcherToFFI: (matcher: Matcher<unknown>) => Record<string, unknown>;
|
|
8
|
+
/**
|
|
9
|
+
* Validates that the rules parameter is of type Rules
|
|
10
|
+
* @param rules The rules to validate
|
|
11
|
+
* @throws Error if rules is not a valid Rules object
|
|
12
|
+
*/
|
|
13
|
+
export declare const validateRules: (rules: Rules) => void;
|
|
14
|
+
/**
|
|
15
|
+
* Converts Rules format to FFI matching rules format
|
|
16
|
+
* @param rules Rules in the user-friendly format
|
|
17
|
+
* @returns Rules in FFI format
|
|
18
|
+
*/
|
|
19
|
+
export declare const convertRulesToFFI: (rules: Rules) => Record<string, unknown>;
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.convertRulesToFFI = exports.validateRules = exports.convertMatcherToFFI = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Converts a matcher to the FFI format expected by pact-core
|
|
6
|
+
* @param matcher The matcher to convert
|
|
7
|
+
* @returns The matcher in FFI format
|
|
8
|
+
*/
|
|
9
|
+
var convertMatcherToFFI = function (matcher) {
|
|
10
|
+
var result = {};
|
|
11
|
+
if (matcher['pact:matcher:type']) {
|
|
12
|
+
result.match = matcher['pact:matcher:type'];
|
|
13
|
+
}
|
|
14
|
+
Object.keys(matcher).forEach(function (key) {
|
|
15
|
+
if (key !== 'pact:matcher:type' && key !== 'pact:generator:type') {
|
|
16
|
+
result[key] = matcher[key];
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
return result;
|
|
20
|
+
};
|
|
21
|
+
exports.convertMatcherToFFI = convertMatcherToFFI;
|
|
22
|
+
/**
|
|
23
|
+
* Validates that the rules parameter is of type Rules
|
|
24
|
+
* @param rules The rules to validate
|
|
25
|
+
* @throws Error if rules is not a valid Rules object
|
|
26
|
+
*/
|
|
27
|
+
var validateRules = function (rules) {
|
|
28
|
+
if (!rules || typeof rules !== 'object' || Array.isArray(rules)) {
|
|
29
|
+
throw new Error('rules must be an object');
|
|
30
|
+
}
|
|
31
|
+
var validParts = ['path', 'body', 'header', 'query', 'status'];
|
|
32
|
+
var ruleKeys = Object.keys(rules);
|
|
33
|
+
ruleKeys.forEach(function (key) {
|
|
34
|
+
if (!validParts.includes(key)) {
|
|
35
|
+
throw new Error("Invalid part \"".concat(key, "\" in rules. Valid parts are: ").concat(validParts.join(', ')));
|
|
36
|
+
}
|
|
37
|
+
var partRules = rules[key];
|
|
38
|
+
if (!partRules)
|
|
39
|
+
return;
|
|
40
|
+
var rulesArray = Array.isArray(partRules) ? partRules : [partRules];
|
|
41
|
+
rulesArray.forEach(function (rule, index) {
|
|
42
|
+
if (!rule || typeof rule !== 'object') {
|
|
43
|
+
throw new Error("Rule at ".concat(key, "[").concat(index, "] must be an object"));
|
|
44
|
+
}
|
|
45
|
+
var ruleObj = rule;
|
|
46
|
+
if (!('rules' in ruleObj) || !Array.isArray(ruleObj.rules)) {
|
|
47
|
+
throw new Error("Rule at ".concat(key, "[").concat(index, "] must have a \"rule\" property that is an array"));
|
|
48
|
+
}
|
|
49
|
+
if ('path' in ruleObj && typeof ruleObj.path !== 'string') {
|
|
50
|
+
throw new Error("Rule at ".concat(key, "[").concat(index, "] has a \"path\" property that is not a string"));
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
});
|
|
54
|
+
};
|
|
55
|
+
exports.validateRules = validateRules;
|
|
56
|
+
/**
|
|
57
|
+
* Converts Rules format to FFI matching rules format
|
|
58
|
+
* @param rules Rules in the user-friendly format
|
|
59
|
+
* @returns Rules in FFI format
|
|
60
|
+
*/
|
|
61
|
+
var convertRulesToFFI = function (rules) {
|
|
62
|
+
var ffiRules = {};
|
|
63
|
+
Object.keys(rules).forEach(function (part) {
|
|
64
|
+
var partRules = rules[part];
|
|
65
|
+
if (!partRules)
|
|
66
|
+
return;
|
|
67
|
+
var rulesArray = Array.isArray(partRules) ? partRules : [partRules];
|
|
68
|
+
ffiRules[part] = {};
|
|
69
|
+
rulesArray.forEach(function (rule) {
|
|
70
|
+
if (rule.path) {
|
|
71
|
+
ffiRules[part][rule.path] = {
|
|
72
|
+
matchers: rule.rules.map(exports.convertMatcherToFFI),
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
});
|
|
77
|
+
return ffiRules;
|
|
78
|
+
};
|
|
79
|
+
exports.convertRulesToFFI = convertRulesToFFI;
|
|
80
|
+
//# sourceMappingURL=matchingRules.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"matchingRules.js","sourceRoot":"","sources":["../../../src/common/matchingRules.ts"],"names":[],"mappings":"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"}
|
package/src/v3/matchers.d.ts
CHANGED
|
@@ -98,6 +98,12 @@ export declare function string(str?: string): Matcher<string>;
|
|
|
98
98
|
* @param str Example value
|
|
99
99
|
*/
|
|
100
100
|
export declare function regex(pattern: RegExp | string, str: string): V3RegexMatcher;
|
|
101
|
+
/**
|
|
102
|
+
* Matches the content type of a multipart field.
|
|
103
|
+
* Used for matching binary content or specific content types in multipart requests.
|
|
104
|
+
* @param contentTypeValue The content type to match (e.g., 'image/jpeg', 'text/plain')
|
|
105
|
+
*/
|
|
106
|
+
export declare const contentType: (contentTypeValue: string) => Matcher<string>;
|
|
101
107
|
/**
|
|
102
108
|
* Value that must be equal to the example. This is mainly used to reset the matching rules which cascade.
|
|
103
109
|
* @param value Example value
|
package/src/v3/matchers.js
CHANGED
|
@@ -37,7 +37,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
37
37
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
38
38
|
};
|
|
39
39
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
40
|
-
exports.matcherValueOrString = exports.equal = exports.decimal = exports.integer = exports.boolean = exports.constrainedArrayLike = exports.atMostLike = exports.atLeastLike = exports.atLeastOneLike = exports.eachLike = exports.eachValueMatches = exports.eachKeyMatches = exports.eachKeyLike = exports.like = void 0;
|
|
40
|
+
exports.matcherValueOrString = exports.equal = exports.contentType = exports.decimal = exports.integer = exports.boolean = exports.constrainedArrayLike = exports.atMostLike = exports.atLeastLike = exports.atLeastOneLike = exports.eachLike = exports.eachValueMatches = exports.eachKeyMatches = exports.eachKeyLike = exports.like = void 0;
|
|
41
41
|
exports.isMatcher = isMatcher;
|
|
42
42
|
exports.number = number;
|
|
43
43
|
exports.string = string;
|
|
@@ -322,6 +322,16 @@ function regex(pattern, str) {
|
|
|
322
322
|
value: str,
|
|
323
323
|
};
|
|
324
324
|
}
|
|
325
|
+
/**
|
|
326
|
+
* Matches the content type of a multipart field.
|
|
327
|
+
* Used for matching binary content or specific content types in multipart requests.
|
|
328
|
+
* @param contentTypeValue The content type to match (e.g., 'image/jpeg', 'text/plain')
|
|
329
|
+
*/
|
|
330
|
+
var contentType = function (contentTypeValue) { return ({
|
|
331
|
+
'pact:matcher:type': 'contentType',
|
|
332
|
+
value: contentTypeValue,
|
|
333
|
+
}); };
|
|
334
|
+
exports.contentType = contentType;
|
|
325
335
|
/**
|
|
326
336
|
* Value that must be equal to the example. This is mainly used to reset the matching rules which cascade.
|
|
327
337
|
* @param value Example value
|
package/src/v3/matchers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"matchers.js","sourceRoot":"","sources":["../../../src/v3/matchers.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkBA,8BAMC;AAkPD,wBAiBC;AAMD,wBAKC;AAOD,sBAaC;
|
|
1
|
+
{"version":3,"file":"matchers.js","sourceRoot":"","sources":["../../../src/v3/matchers.ts"],"names":[],"mappings":"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"}
|
package/src/v3/pact.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { JsonMap } from '../common/jsonTypes';
|
|
2
|
-
import { PactV3Options, V3Interaction, V3MockServer, V3Request, V3Response } from './types';
|
|
2
|
+
import { PactV3Options, Rules, V3Interaction, V3MockServer, V3Request, V3Response } from './types';
|
|
3
3
|
export declare class PactV3 {
|
|
4
4
|
private opts;
|
|
5
5
|
private states;
|
|
@@ -11,6 +11,26 @@ export declare class PactV3 {
|
|
|
11
11
|
uponReceiving(description: string): PactV3;
|
|
12
12
|
withRequest(req: V3Request): PactV3;
|
|
13
13
|
withRequestBinaryFile(req: V3Request, contentType: string, file: string): PactV3;
|
|
14
|
+
/**
|
|
15
|
+
* Applies matching rules to the consumer request.
|
|
16
|
+
* Matching rules allow you to define flexible matching criteria for request attributes
|
|
17
|
+
* beyond exact equality (e.g., regex patterns, type matching, number ranges).
|
|
18
|
+
*
|
|
19
|
+
* @param req - The request configuration (method, path, headers, etc.)
|
|
20
|
+
* @param rules - The matching rules.
|
|
21
|
+
* @returns The PactV3 instance for method chaining
|
|
22
|
+
*/
|
|
23
|
+
withRequestMatchingRules(req: V3Request, rules: Rules): PactV3;
|
|
24
|
+
/**
|
|
25
|
+
* Applies matching rules to the provider response.
|
|
26
|
+
* Matching rules allow you to define flexible matching criteria for response attributes
|
|
27
|
+
* beyond exact equality (e.g., regex patterns, type matching, number ranges).
|
|
28
|
+
*
|
|
29
|
+
* @param req - The request configuration (method, path, headers, etc.)
|
|
30
|
+
* @param rules - The matching rules.
|
|
31
|
+
* @returns The PactV3 instance for method chaining
|
|
32
|
+
*/
|
|
33
|
+
withResponseMatchingRules(req: V3Request, rules: Rules): PactV3;
|
|
14
34
|
/**
|
|
15
35
|
* Sets up the expected consumer request with multipart file upload data.
|
|
16
36
|
* This is useful for testing APIs that accept multipart/form-data uploads.
|
package/src/v3/pact.js
CHANGED
|
@@ -44,6 +44,7 @@ var ramda_1 = require("ramda");
|
|
|
44
44
|
var pact_core_1 = require("@pact-foundation/pact-core");
|
|
45
45
|
var fs = require("fs");
|
|
46
46
|
var package_json_1 = require("../../package.json");
|
|
47
|
+
var matchingRules_1 = require("../common/matchingRules");
|
|
47
48
|
var types_1 = require("./types");
|
|
48
49
|
var matchers_1 = require("./matchers");
|
|
49
50
|
var display_1 = require("./display");
|
|
@@ -122,6 +123,38 @@ var PactV3 = /** @class */ (function () {
|
|
|
122
123
|
(0, ffi_1.setRequestDetails)(this.interaction, req);
|
|
123
124
|
return this;
|
|
124
125
|
};
|
|
126
|
+
/**
|
|
127
|
+
* Applies matching rules to the consumer request.
|
|
128
|
+
* Matching rules allow you to define flexible matching criteria for request attributes
|
|
129
|
+
* beyond exact equality (e.g., regex patterns, type matching, number ranges).
|
|
130
|
+
*
|
|
131
|
+
* @param req - The request configuration (method, path, headers, etc.)
|
|
132
|
+
* @param rules - The matching rules.
|
|
133
|
+
* @returns The PactV3 instance for method chaining
|
|
134
|
+
*/
|
|
135
|
+
PactV3.prototype.withRequestMatchingRules = function (req, rules) {
|
|
136
|
+
(0, matchingRules_1.validateRules)(rules);
|
|
137
|
+
var ffiRules = (0, matchingRules_1.convertRulesToFFI)(rules);
|
|
138
|
+
this.interaction.withRequestMatchingRules(JSON.stringify(ffiRules));
|
|
139
|
+
(0, ffi_1.setRequestDetails)(this.interaction, req);
|
|
140
|
+
return this;
|
|
141
|
+
};
|
|
142
|
+
/**
|
|
143
|
+
* Applies matching rules to the provider response.
|
|
144
|
+
* Matching rules allow you to define flexible matching criteria for response attributes
|
|
145
|
+
* beyond exact equality (e.g., regex patterns, type matching, number ranges).
|
|
146
|
+
*
|
|
147
|
+
* @param req - The request configuration (method, path, headers, etc.)
|
|
148
|
+
* @param rules - The matching rules.
|
|
149
|
+
* @returns The PactV3 instance for method chaining
|
|
150
|
+
*/
|
|
151
|
+
PactV3.prototype.withResponseMatchingRules = function (req, rules) {
|
|
152
|
+
(0, matchingRules_1.validateRules)(rules);
|
|
153
|
+
var ffiRules = (0, matchingRules_1.convertRulesToFFI)(rules);
|
|
154
|
+
this.interaction.withResponseMatchingRules(JSON.stringify(ffiRules));
|
|
155
|
+
(0, ffi_1.setRequestDetails)(this.interaction, req);
|
|
156
|
+
return this;
|
|
157
|
+
};
|
|
125
158
|
/**
|
|
126
159
|
* Sets up the expected consumer request with multipart file upload data.
|
|
127
160
|
* This is useful for testing APIs that accept multipart/form-data uploads.
|
package/src/v3/pact.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pact.js","sourceRoot":"","sources":["../../../src/v3/pact.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAA+B;AAC/B,wDAIoC;AACpC,uBAA0B;AAC1B,mDAAmE;AAEnE,
|
|
1
|
+
{"version":3,"file":"pact.js","sourceRoot":"","sources":["../../../src/v3/pact.ts"],"names":[],"mappings":"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"}
|
package/src/v3/types.d.ts
CHANGED
|
@@ -40,6 +40,25 @@ export interface ProviderStateInjectedValue<T> extends Matcher<T> {
|
|
|
40
40
|
export interface RulesMatcher<T> extends Matcher<T> {
|
|
41
41
|
rules: Matcher<T>[];
|
|
42
42
|
}
|
|
43
|
+
/**
|
|
44
|
+
* Part of a request or response where matching rules can be applied
|
|
45
|
+
*/
|
|
46
|
+
export type Part = 'path' | 'body' | 'header' | 'query' | 'status';
|
|
47
|
+
export type JSONPath = string;
|
|
48
|
+
/**
|
|
49
|
+
* A matching rule with optional JSONPath and array of matchers
|
|
50
|
+
*/
|
|
51
|
+
export type Rule = {
|
|
52
|
+
path?: JSONPath;
|
|
53
|
+
rules: Matcher<unknown>[];
|
|
54
|
+
};
|
|
55
|
+
/**
|
|
56
|
+
* Matching rules organized by part (path, body, header, query, status)
|
|
57
|
+
* Each part can have its own set of matching rules
|
|
58
|
+
*/
|
|
59
|
+
export type Rules = Partial<{
|
|
60
|
+
[part in Part]: Rule | Rule[];
|
|
61
|
+
}>;
|
|
43
62
|
/**
|
|
44
63
|
* Options for the mock server
|
|
45
64
|
*/
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ConsumerInteraction } from '@pact-foundation/pact-core';
|
|
2
|
-
import { TemplateQuery, TemplateHeaders } from '../../v3';
|
|
2
|
+
import { TemplateQuery, TemplateHeaders, Rules } from '../../v3';
|
|
3
3
|
import { V4RequestBuilder } from './types';
|
|
4
4
|
export declare class RequestBuilder implements V4RequestBuilder {
|
|
5
5
|
protected interaction: ConsumerInteraction;
|
|
@@ -19,5 +19,14 @@ export declare class RequestBuilder implements V4RequestBuilder {
|
|
|
19
19
|
* @returns The V4RequestBuilder instance for method chaining
|
|
20
20
|
*/
|
|
21
21
|
multipartBody(contentType: string, file: string, mimePartName: string, boundary?: string): V4RequestBuilder;
|
|
22
|
+
/**
|
|
23
|
+
* Applies matching rules to the consumer request.
|
|
24
|
+
* Matching rules allow you to define flexible matching criteria for request attributes
|
|
25
|
+
* beyond exact equality (e.g., regex patterns, type matching, number ranges).
|
|
26
|
+
*
|
|
27
|
+
* @param rules - The matching rules as a strongly typed Rules object. Rules should follow the Pact matching rules format.
|
|
28
|
+
* @returns The V4RequestBuilder instance for method chaining
|
|
29
|
+
*/
|
|
30
|
+
matchingRules(rules: Rules): V4RequestBuilder;
|
|
22
31
|
body(contentType: string, body: Buffer): V4RequestBuilder;
|
|
23
32
|
}
|
|
@@ -4,6 +4,7 @@ exports.RequestBuilder = void 0;
|
|
|
4
4
|
var ramda_1 = require("ramda");
|
|
5
5
|
var matchers_1 = require("../../v3/matchers");
|
|
6
6
|
var _1 = require(".");
|
|
7
|
+
var matchingRules_1 = require("../../common/matchingRules");
|
|
7
8
|
var RequestBuilder = /** @class */ (function () {
|
|
8
9
|
// tslint:disable:no-empty-function
|
|
9
10
|
function RequestBuilder(interaction) {
|
|
@@ -60,6 +61,20 @@ var RequestBuilder = /** @class */ (function () {
|
|
|
60
61
|
this.interaction.withRequestMultipartBody(contentType, file, mimePartName, boundary);
|
|
61
62
|
return this;
|
|
62
63
|
};
|
|
64
|
+
/**
|
|
65
|
+
* Applies matching rules to the consumer request.
|
|
66
|
+
* Matching rules allow you to define flexible matching criteria for request attributes
|
|
67
|
+
* beyond exact equality (e.g., regex patterns, type matching, number ranges).
|
|
68
|
+
*
|
|
69
|
+
* @param rules - The matching rules as a strongly typed Rules object. Rules should follow the Pact matching rules format.
|
|
70
|
+
* @returns The V4RequestBuilder instance for method chaining
|
|
71
|
+
*/
|
|
72
|
+
RequestBuilder.prototype.matchingRules = function (rules) {
|
|
73
|
+
(0, matchingRules_1.validateRules)(rules);
|
|
74
|
+
var ffiRules = (0, matchingRules_1.convertRulesToFFI)(rules);
|
|
75
|
+
this.interaction.withRequestMatchingRules(JSON.stringify(ffiRules));
|
|
76
|
+
return this;
|
|
77
|
+
};
|
|
63
78
|
RequestBuilder.prototype.body = function (contentType, body) {
|
|
64
79
|
this.interaction.withRequestBinaryBody(body, contentType);
|
|
65
80
|
return this;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"requestBuilder.js","sourceRoot":"","sources":["../../../../src/v4/http/requestBuilder.ts"],"names":[],"mappings":";;;AACA,+BAA0C;AAE1C,8CAAyD;AAEzD,sBAAmC;
|
|
1
|
+
{"version":3,"file":"requestBuilder.js","sourceRoot":"","sources":["../../../../src/v4/http/requestBuilder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { TemplateHeaders, TemplateQuery } from '../../v3';
|
|
1
|
+
import { Rules, TemplateHeaders, TemplateQuery } from '../../v3';
|
|
2
2
|
import { RequestBuilder } from './requestBuilder';
|
|
3
3
|
import { V4RequestWithPluginBuilder } from './types';
|
|
4
4
|
export declare class RequestWithPluginBuilder extends RequestBuilder implements V4RequestWithPluginBuilder {
|
|
@@ -18,5 +18,14 @@ export declare class RequestWithPluginBuilder extends RequestBuilder implements
|
|
|
18
18
|
* @returns The V4RequestWithPluginBuilder instance for method chaining
|
|
19
19
|
*/
|
|
20
20
|
multipartBody(contentType: string, file: string, mimePartName: string, boundary?: string): V4RequestWithPluginBuilder;
|
|
21
|
+
/**
|
|
22
|
+
* Applies matching rules to the consumer request.
|
|
23
|
+
* Matching rules allow you to define flexible matching criteria for request attributes
|
|
24
|
+
* beyond exact equality (e.g., regex patterns, type matching, number ranges).
|
|
25
|
+
*
|
|
26
|
+
* @param rules - The matching rules as a strongly typed Rules object. Rules should follow the Pact matching rules format.
|
|
27
|
+
* @returns The V4RequestWithPluginBuilder instance for method chaining
|
|
28
|
+
*/
|
|
29
|
+
matchingRules(rules: Rules): V4RequestWithPluginBuilder;
|
|
21
30
|
body(contentType: string, body: Buffer): V4RequestWithPluginBuilder;
|
|
22
31
|
}
|
|
@@ -56,6 +56,18 @@ var RequestWithPluginBuilder = /** @class */ (function (_super) {
|
|
|
56
56
|
_super.prototype.multipartBody.call(this, contentType, file, mimePartName, boundary);
|
|
57
57
|
return this;
|
|
58
58
|
};
|
|
59
|
+
/**
|
|
60
|
+
* Applies matching rules to the consumer request.
|
|
61
|
+
* Matching rules allow you to define flexible matching criteria for request attributes
|
|
62
|
+
* beyond exact equality (e.g., regex patterns, type matching, number ranges).
|
|
63
|
+
*
|
|
64
|
+
* @param rules - The matching rules as a strongly typed Rules object. Rules should follow the Pact matching rules format.
|
|
65
|
+
* @returns The V4RequestWithPluginBuilder instance for method chaining
|
|
66
|
+
*/
|
|
67
|
+
RequestWithPluginBuilder.prototype.matchingRules = function (rules) {
|
|
68
|
+
_super.prototype.matchingRules.call(this, rules);
|
|
69
|
+
return this;
|
|
70
|
+
};
|
|
59
71
|
RequestWithPluginBuilder.prototype.body = function (contentType, body) {
|
|
60
72
|
_super.prototype.body.call(this, contentType, body);
|
|
61
73
|
return this;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"requestWithPluginBuilder.js","sourceRoot":"","sources":["../../../../src/v4/http/requestWithPluginBuilder.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AACA,mDAAkD;AAGlD;IACU,4CAAc;IADxB;;
|
|
1
|
+
{"version":3,"file":"requestWithPluginBuilder.js","sourceRoot":"","sources":["../../../../src/v4/http/requestWithPluginBuilder.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AACA,mDAAkD;AAGlD;IACU,4CAAc;IADxB;;IA+EA,CAAC;IA3EC,iDAAc,GAAd,UACE,WAAmB,EACnB,QAAgB;QAEhB,IAAI,CAAC,WAAW,CAAC,oCAAoC,CACnD,WAAW,EACX,QAAQ,CACT,CAAC;QAEF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,wCAAK,GAAL,UAAM,KAAoB;QACxB,gBAAK,CAAC,KAAK,YAAC,KAAK,CAAC,CAAC;QAEnB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,0CAAO,GAAP,UAAQ,OAAwB;QAC9B,gBAAK,CAAC,OAAO,YAAC,OAAO,CAAC,CAAC;QAEvB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,2CAAQ,GAAR,UAAS,IAAa;QACpB,gBAAK,CAAC,QAAQ,YAAC,IAAI,CAAC,CAAC;QAErB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,6CAAU,GAAV,UAAW,WAAmB,EAAE,IAAY;QAC1C,gBAAK,CAAC,UAAU,YAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAEpC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;OASG;IACH,gDAAa,GAAb,UACE,WAAmB,EACnB,IAAY,EACZ,YAAoB,EACpB,QAAiB;QAEjB,gBAAK,CAAC,aAAa,YAAC,WAAW,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;QAE/D,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;OAOG;IACH,gDAAa,GAAb,UAAc,KAAY;QACxB,gBAAK,CAAC,aAAa,YAAC,KAAK,CAAC,CAAC;QAC3B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,uCAAI,GAAJ,UAAK,WAAmB,EAAE,IAAY;QACpC,gBAAK,CAAC,IAAI,YAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAE9B,OAAO,IAAI,CAAC;IACd,CAAC;IACH,+BAAC;AAAD,CAAC,AA/ED,CACU,+BAAc,GA8EvB;AA/EY,4DAAwB"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ConsumerInteraction } from '@pact-foundation/pact-core';
|
|
2
|
-
import { TemplateHeaders } from '../../v3';
|
|
2
|
+
import { TemplateHeaders, Rules } from '../../v3';
|
|
3
3
|
import { V4ResponseBuilder } from './types';
|
|
4
4
|
export declare class ResponseBuilder implements V4ResponseBuilder {
|
|
5
5
|
protected interaction: ConsumerInteraction;
|
|
@@ -18,5 +18,14 @@ export declare class ResponseBuilder implements V4ResponseBuilder {
|
|
|
18
18
|
* @returns The V4ResponseBuilder instance for method chaining
|
|
19
19
|
*/
|
|
20
20
|
multipartBody(contentType: string, file: string, mimePartName: string, boundary?: string): V4ResponseBuilder;
|
|
21
|
+
/**
|
|
22
|
+
* Applies matching rules to the provider response.
|
|
23
|
+
* Matching rules allow you to define flexible matching criteria for response attributes
|
|
24
|
+
* beyond exact equality (e.g., regex patterns, type matching, number ranges).
|
|
25
|
+
*
|
|
26
|
+
* @param rules - The matching rules as a strongly typed Rules object. Rules should follow the Pact matching rules format.
|
|
27
|
+
* @returns The V4ResponseBuilder instance for method chaining
|
|
28
|
+
*/
|
|
29
|
+
matchingRules(rules: Rules): V4ResponseBuilder;
|
|
21
30
|
body(contentType: string, body: Buffer): V4ResponseBuilder;
|
|
22
31
|
}
|
|
@@ -4,6 +4,7 @@ exports.ResponseBuilder = void 0;
|
|
|
4
4
|
var ramda_1 = require("ramda");
|
|
5
5
|
var _1 = require(".");
|
|
6
6
|
var matchers_1 = require("../../v3/matchers");
|
|
7
|
+
var matchingRules_1 = require("../../common/matchingRules");
|
|
7
8
|
var ResponseBuilder = /** @class */ (function () {
|
|
8
9
|
function ResponseBuilder(interaction) {
|
|
9
10
|
this.interaction = interaction;
|
|
@@ -38,6 +39,20 @@ var ResponseBuilder = /** @class */ (function () {
|
|
|
38
39
|
this.interaction.withResponseMultipartBody(contentType, file, mimePartName, boundary);
|
|
39
40
|
return this;
|
|
40
41
|
};
|
|
42
|
+
/**
|
|
43
|
+
* Applies matching rules to the provider response.
|
|
44
|
+
* Matching rules allow you to define flexible matching criteria for response attributes
|
|
45
|
+
* beyond exact equality (e.g., regex patterns, type matching, number ranges).
|
|
46
|
+
*
|
|
47
|
+
* @param rules - The matching rules as a strongly typed Rules object. Rules should follow the Pact matching rules format.
|
|
48
|
+
* @returns The V4ResponseBuilder instance for method chaining
|
|
49
|
+
*/
|
|
50
|
+
ResponseBuilder.prototype.matchingRules = function (rules) {
|
|
51
|
+
(0, matchingRules_1.validateRules)(rules);
|
|
52
|
+
var ffiRules = (0, matchingRules_1.convertRulesToFFI)(rules);
|
|
53
|
+
this.interaction.withResponseMatchingRules(JSON.stringify(ffiRules));
|
|
54
|
+
return this;
|
|
55
|
+
};
|
|
41
56
|
ResponseBuilder.prototype.body = function (contentType, body) {
|
|
42
57
|
this.interaction.withResponseBinaryBody(body, contentType);
|
|
43
58
|
return this;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"responseBuilder.js","sourceRoot":"","sources":["../../../../src/v4/http/responseBuilder.ts"],"names":[],"mappings":";;;AACA,+BAA0C;AAC1C,sBAAmC;AAEnC,8CAAyD;
|
|
1
|
+
{"version":3,"file":"responseBuilder.js","sourceRoot":"","sources":["../../../../src/v4/http/responseBuilder.ts"],"names":[],"mappings":";;;AACA,+BAA0C;AAC1C,sBAAmC;AAEnC,8CAAyD;AAEzD,4DAA8E;AAE9E;IAGE,yBAAY,WAAgC;QAC1C,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;IAED,iCAAO,GAAP,UAAQ,OAAwB;QAAhC,iBAMC;QALC,IAAA,yBAAiB,EAAC,UAAC,CAAC,EAAE,CAAC;YACrB,KAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,UAAG,CAAC,CAAE,EAAE,CAAC,EAAE,IAAA,+BAAoB,EAAC,CAAC,CAAC,CAAC,CAAC;QAC1E,CAAC,EAAE,OAAO,CAAC,CAAC;QAEZ,OAAO,IAAI,CAAC;IACd,CAAC;IAED,kCAAQ,GAAR,UAAS,IAAa;QACpB,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAC/B,IAAA,+BAAoB,EAAC,IAAI,CAAC,EAC1B,kBAAkB,CACnB,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,oCAAU,GAAV,UAAW,WAAmB,EAAE,IAAY;QAC1C,IAAM,IAAI,GAAG,IAAA,iBAAc,EAAC,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAE3D,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;OASG;IACH,uCAAa,GAAb,UACE,WAAmB,EACnB,IAAY,EACZ,YAAoB,EACpB,QAAiB;QAEjB,IAAI,CAAC,WAAW,CAAC,yBAAyB,CACxC,WAAW,EACX,IAAI,EACJ,YAAY,EACZ,QAAQ,CACT,CAAC;QAEF,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;OAOG;IACH,uCAAa,GAAb,UAAc,KAAY;QACxB,IAAA,6BAAa,EAAC,KAAK,CAAC,CAAC;QACrB,IAAM,QAAQ,GAAG,IAAA,iCAAiB,EAAC,KAAK,CAAC,CAAC;QAC1C,IAAI,CAAC,WAAW,CAAC,yBAAyB,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;QACrE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,8BAAI,GAAJ,UAAK,WAAmB,EAAE,IAAY;QACpC,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAE3D,OAAO,IAAI,CAAC;IACd,CAAC;IACH,sBAAC;AAAD,CAAC,AA5ED,IA4EC;AA5EY,0CAAe"}
|
package/src/v4/http/types.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { JsonMap } from '../../common/jsonTypes';
|
|
2
|
-
import { Matcher, Path, SpecificationVersion, TemplateHeaders, TemplateQuery, V3MockServer, V3ProviderState, V3Request, V3Response } from '../../v3';
|
|
2
|
+
import { Matcher, Path, Rules, SpecificationVersion, TemplateHeaders, TemplateQuery, V3MockServer, V3ProviderState, V3Request, V3Response } from '../../v3';
|
|
3
3
|
export type V4ProviderState = V3ProviderState;
|
|
4
4
|
export type V4MockServer = V3MockServer;
|
|
5
5
|
export type V4Request = V3Request;
|
|
@@ -59,6 +59,7 @@ export interface V4RequestBuilder {
|
|
|
59
59
|
jsonBody(body: unknown): V4RequestBuilder;
|
|
60
60
|
binaryFile(contentType: string, file: string): V4RequestBuilder;
|
|
61
61
|
multipartBody(contentType: string, filename: string, mimePartName: string, boundary?: string): V4RequestBuilder;
|
|
62
|
+
matchingRules(rules: Rules): V4RequestBuilder;
|
|
62
63
|
body(contentType: string, body: Buffer): V4RequestBuilder;
|
|
63
64
|
}
|
|
64
65
|
export interface V4ResponseBuilder {
|
|
@@ -66,6 +67,7 @@ export interface V4ResponseBuilder {
|
|
|
66
67
|
jsonBody(body: unknown): V4ResponseBuilder;
|
|
67
68
|
binaryFile(contentType: string, file: string): V4ResponseBuilder;
|
|
68
69
|
multipartBody(contentType: string, filename: string, mimePartName: string, boundary?: string): V4ResponseBuilder;
|
|
70
|
+
matchingRules(rules: Rules): V4ResponseBuilder;
|
|
69
71
|
body(contentType: string, body: Buffer): V4ResponseBuilder;
|
|
70
72
|
}
|
|
71
73
|
export type V4ResponseBuilderFunc = (builder: V4ResponseBuilder) => void;
|
|
@@ -92,6 +94,7 @@ export interface V4RequestWithPluginBuilder {
|
|
|
92
94
|
binaryFile(contentType: string, file: string): V4RequestWithPluginBuilder;
|
|
93
95
|
multipartBody(contentType: string, filename: string, mimePartName: string, boundary?: string): V4RequestWithPluginBuilder;
|
|
94
96
|
body(contentType: string, body: Buffer): V4RequestWithPluginBuilder;
|
|
97
|
+
matchingRules(rules: Rules): V4RequestWithPluginBuilder;
|
|
95
98
|
pluginContents(contentType: string, contents: string): V4RequestWithPluginBuilder;
|
|
96
99
|
}
|
|
97
100
|
export interface V4ResponseWithPluginBuilder {
|
|
@@ -99,6 +102,7 @@ export interface V4ResponseWithPluginBuilder {
|
|
|
99
102
|
jsonBody(body: unknown): V4ResponseBuilder;
|
|
100
103
|
binaryFile(contentType: string, file: string): V4ResponseBuilder;
|
|
101
104
|
multipartBody(contentType: string, filename: string, mimePartName: string, boundary?: string): V4ResponseBuilder;
|
|
105
|
+
matchingRules(rules: Rules): V4ResponseBuilder;
|
|
102
106
|
body(contentType: string, body: Buffer): V4ResponseBuilder;
|
|
103
107
|
pluginContents(contentType: string, contents: string): V4ResponseBuilder;
|
|
104
108
|
}
|
|
@@ -3,6 +3,7 @@ import { AnyJson, JsonMap } from '../../common/jsonTypes';
|
|
|
3
3
|
import { PluginConfig, AsynchronousMessage, TransportConfig, V4AsynchronousMessageWithPlugin, V4AsynchronousMessageWithPluginContents, V4AsynchronousMessageWithTransport, V4UnconfiguredAsynchronousMessage, V4AsynchronousMessageWithContent, V4AsynchronousMessageBuilderFunc, V4AsynchronousMessageBuilder } from './types';
|
|
4
4
|
import { AsynchronousMessage as PactCoreAsynchronousMessage, ConsumerPact } from '@pact-foundation/pact-core';
|
|
5
5
|
import { PactV4Options } from '../http/types';
|
|
6
|
+
import { Rules } from '../../v3/types';
|
|
6
7
|
type Message = {
|
|
7
8
|
requestIsBinary: boolean;
|
|
8
9
|
interaction: PactCoreAsynchronousMessage;
|
|
@@ -36,6 +37,7 @@ export declare class AsynchronousMessageBuilder implements V4AsynchronousMessage
|
|
|
36
37
|
withMetadata(metadata: Metadata): V4AsynchronousMessageBuilder;
|
|
37
38
|
withContent(contentType: string, body: Buffer): V4AsynchronousMessageBuilder;
|
|
38
39
|
withJSONContent(content: unknown): V4AsynchronousMessageBuilder;
|
|
40
|
+
withMatchingRules(rules: Rules): V4AsynchronousMessageBuilder;
|
|
39
41
|
}
|
|
40
42
|
export declare class AsynchronousMessageWithContent implements V4AsynchronousMessageWithContent {
|
|
41
43
|
protected pact: ConsumerPact;
|
|
@@ -43,6 +43,7 @@ exports.AsynchronousMessageWithTransport = exports.AsynchronousMessageWithPlugin
|
|
|
43
43
|
var ramda_1 = require("ramda");
|
|
44
44
|
var configurationError_1 = __importDefault(require("../../errors/configurationError"));
|
|
45
45
|
var display_1 = require("../../v3/display");
|
|
46
|
+
var matchingRules_1 = require("../../common/matchingRules");
|
|
46
47
|
var logger_1 = __importDefault(require("../../common/logger"));
|
|
47
48
|
var defaultPactDir = './pacts';
|
|
48
49
|
var UnconfiguredAsynchronousMessage = /** @class */ (function () {
|
|
@@ -127,6 +128,12 @@ var AsynchronousMessageBuilder = /** @class */ (function () {
|
|
|
127
128
|
this.message.interaction.withContents(JSON.stringify(content), 'application/json');
|
|
128
129
|
return this;
|
|
129
130
|
};
|
|
131
|
+
AsynchronousMessageBuilder.prototype.withMatchingRules = function (rules) {
|
|
132
|
+
(0, matchingRules_1.validateRules)(rules);
|
|
133
|
+
var ffiRules = (0, matchingRules_1.convertRulesToFFI)(rules);
|
|
134
|
+
this.message.interaction.withMatchingRules(JSON.stringify(ffiRules));
|
|
135
|
+
return this;
|
|
136
|
+
};
|
|
130
137
|
return AsynchronousMessageBuilder;
|
|
131
138
|
}());
|
|
132
139
|
exports.AsynchronousMessageBuilder = AsynchronousMessageBuilder;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"asynchronousMessage.js","sourceRoot":"","sources":["../../../../src/v4/message/asynchronousMessage.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"asynchronousMessage.js","sourceRoot":"","sources":["../../../../src/v4/message/asynchronousMessage.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@ import { AnyJson, JsonMap } from '../../common/jsonTypes';
|
|
|
3
3
|
import { PluginConfig, SynchronousMessage, AsynchronousMessage as ConcreteMessage, TransportConfig, V4MessageRequestBuilderFunc, V4MessageResponseBuilderFunc, V4SynchronousMessageWithPlugin, V4SynchronousMessageWithPluginContents, V4SynchronousMessageWithRequest, V4SynchronousMessageWithRequestBuilder, V4SynchronousMessageWithResponse, V4SynchronousMessageWithResponseBuilder, V4SynchronousMessageWithTransport, V4UnconfiguredSynchronousMessage } from './types';
|
|
4
4
|
import { SynchronousMessage as PactCoreSynchronousMessage, ConsumerPact } from '@pact-foundation/pact-core';
|
|
5
5
|
import { PactV4Options } from '../http/types';
|
|
6
|
+
import { Rules } from '../../v3/types';
|
|
6
7
|
export declare class UnconfiguredSynchronousMessage implements V4UnconfiguredSynchronousMessage {
|
|
7
8
|
protected pact: ConsumerPact;
|
|
8
9
|
protected interaction: PactCoreSynchronousMessage;
|
|
@@ -29,6 +30,7 @@ export declare class SynchronousMessageWithRequestBuilder implements V4Synchrono
|
|
|
29
30
|
constructor(pact: ConsumerPact, interaction: PactCoreSynchronousMessage, opts: PactV4Options);
|
|
30
31
|
withContent(contentType: string, body: Buffer): V4SynchronousMessageWithRequestBuilder;
|
|
31
32
|
withJSONContent(content: unknown): V4SynchronousMessageWithRequestBuilder;
|
|
33
|
+
withMatchingRules(rules: Rules): V4SynchronousMessageWithRequestBuilder;
|
|
32
34
|
}
|
|
33
35
|
export declare class SynchronousMessageWithRequest implements V4SynchronousMessageWithRequest {
|
|
34
36
|
protected pact: ConsumerPact;
|
|
@@ -46,6 +48,7 @@ export declare class SynchronousMessageWithResponseBuilder implements V4Synchron
|
|
|
46
48
|
withMetadata(metadata: Metadata): V4SynchronousMessageWithResponseBuilder;
|
|
47
49
|
withContent(contentType: string, body: Buffer): V4SynchronousMessageWithResponseBuilder;
|
|
48
50
|
withJSONContent(content: unknown): V4SynchronousMessageWithResponseBuilder;
|
|
51
|
+
withMatchingRules(rules: Rules): V4SynchronousMessageWithResponseBuilder;
|
|
49
52
|
}
|
|
50
53
|
export declare class SynchronousMessageWithPluginContents implements V4SynchronousMessageWithPluginContents {
|
|
51
54
|
protected pact: ConsumerPact;
|
package/src/v4/message/index.js
CHANGED
|
@@ -45,6 +45,7 @@ exports.v4AsynchronousBodyHandler = v4AsynchronousBodyHandler;
|
|
|
45
45
|
var ramda_1 = require("ramda");
|
|
46
46
|
var configurationError_1 = __importDefault(require("../../errors/configurationError"));
|
|
47
47
|
var display_1 = require("../../v3/display");
|
|
48
|
+
var matchingRules_1 = require("../../common/matchingRules");
|
|
48
49
|
var logger_1 = __importDefault(require("../../common/logger"));
|
|
49
50
|
var defaultPactDir = './pacts';
|
|
50
51
|
var UnconfiguredSynchronousMessage = /** @class */ (function () {
|
|
@@ -109,6 +110,12 @@ var SynchronousMessageWithRequestBuilder = /** @class */ (function () {
|
|
|
109
110
|
this.interaction.withRequestContents(JSON.stringify(content), 'application/json');
|
|
110
111
|
return this;
|
|
111
112
|
};
|
|
113
|
+
SynchronousMessageWithRequestBuilder.prototype.withMatchingRules = function (rules) {
|
|
114
|
+
(0, matchingRules_1.validateRules)(rules);
|
|
115
|
+
var ffiRules = (0, matchingRules_1.convertRulesToFFI)(rules);
|
|
116
|
+
this.interaction.withRequestMatchingRules(JSON.stringify(ffiRules));
|
|
117
|
+
return this;
|
|
118
|
+
};
|
|
112
119
|
return SynchronousMessageWithRequestBuilder;
|
|
113
120
|
}());
|
|
114
121
|
exports.SynchronousMessageWithRequestBuilder = SynchronousMessageWithRequestBuilder;
|
|
@@ -153,6 +160,12 @@ var SynchronousMessageWithResponseBuilder = /** @class */ (function () {
|
|
|
153
160
|
this.interaction.withResponseContents(JSON.stringify(content), 'application/json');
|
|
154
161
|
return this;
|
|
155
162
|
};
|
|
163
|
+
SynchronousMessageWithResponseBuilder.prototype.withMatchingRules = function (rules) {
|
|
164
|
+
(0, matchingRules_1.validateRules)(rules);
|
|
165
|
+
var ffiRules = (0, matchingRules_1.convertRulesToFFI)(rules);
|
|
166
|
+
this.interaction.withResponseMatchingRules(JSON.stringify(ffiRules));
|
|
167
|
+
return this;
|
|
168
|
+
};
|
|
156
169
|
return SynchronousMessageWithResponseBuilder;
|
|
157
170
|
}());
|
|
158
171
|
exports.SynchronousMessageWithResponseBuilder = SynchronousMessageWithResponseBuilder;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/v4/message/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/v4/message/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { AnyJson, JsonMap } from '../../common/jsonTypes';
|
|
2
2
|
import { Metadata } from '../../dsl/message';
|
|
3
|
+
import { Rules } from '../../v3/types';
|
|
3
4
|
export type MessageContents = {
|
|
4
5
|
content: AnyJson | Buffer;
|
|
5
6
|
};
|
|
@@ -40,6 +41,7 @@ export interface V4Message {
|
|
|
40
41
|
export interface V4SynchronousMessageWithRequestBuilder {
|
|
41
42
|
withContent(contentType: string, body: Buffer): V4SynchronousMessageWithRequestBuilder;
|
|
42
43
|
withJSONContent(content: unknown): V4SynchronousMessageWithRequestBuilder;
|
|
44
|
+
withMatchingRules(rules: Rules): V4SynchronousMessageWithRequestBuilder;
|
|
43
45
|
}
|
|
44
46
|
export interface V4SynchronousMessageWithRequest {
|
|
45
47
|
withResponse(builder: V4MessageResponseBuilderFunc): V4SynchronousMessageWithResponse;
|
|
@@ -48,6 +50,7 @@ export interface V4SynchronousMessageWithResponseBuilder {
|
|
|
48
50
|
withMetadata(metadata: Metadata): V4SynchronousMessageWithResponseBuilder;
|
|
49
51
|
withContent(contentType: string, body: Buffer): V4SynchronousMessageWithResponseBuilder;
|
|
50
52
|
withJSONContent(content: unknown): V4SynchronousMessageWithResponseBuilder;
|
|
53
|
+
withMatchingRules(rules: Rules): V4SynchronousMessageWithResponseBuilder;
|
|
51
54
|
}
|
|
52
55
|
export interface V4SynchronousMessageWithPluginContents {
|
|
53
56
|
executeTest<T>(integrationTest: (m: SynchronousMessage) => Promise<T>): Promise<T | undefined>;
|
|
@@ -83,4 +86,5 @@ export interface V4AsynchronousMessageBuilder {
|
|
|
83
86
|
withMetadata(metadata: Metadata): V4AsynchronousMessageBuilder;
|
|
84
87
|
withContent(contentType: string, body: Buffer): V4AsynchronousMessageBuilder;
|
|
85
88
|
withJSONContent(content: unknown): V4AsynchronousMessageBuilder;
|
|
89
|
+
withMatchingRules(rules: Rules): V4AsynchronousMessageBuilder;
|
|
86
90
|
}
|