@pact-foundation/pact 16.3.0 → 16.4.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 +16 -3
- package/CONTRIBUTING.md +2 -2
- package/README.md +6 -2
- package/package.json +25 -28
- package/src/common/graphQL/configurationError.js +2 -22
- package/src/common/graphQL/configurationError.js.map +1 -1
- package/src/common/graphQL/graphQL.d.ts +2 -2
- package/src/common/graphQL/graphQL.js +11 -14
- package/src/common/graphQL/graphQL.js.map +1 -1
- package/src/common/graphQL/graphQLQueryError.js +2 -22
- package/src/common/graphQL/graphQLQueryError.js.map +1 -1
- package/src/common/logger.js +9 -9
- package/src/common/logger.js.map +1 -1
- package/src/common/matchingRules.d.ts +1 -1
- package/src/common/matchingRules.js +21 -21
- package/src/common/matchingRules.js.map +1 -1
- package/src/common/net.js +36 -42
- package/src/common/net.js.map +1 -1
- package/src/common/net.spec.js +41 -53
- package/src/common/net.spec.js.map +1 -1
- package/src/common/request.js +33 -82
- package/src/common/request.js.map +1 -1
- package/src/common/request.spec.js +26 -26
- package/src/common/request.spec.js.map +1 -1
- package/src/common/spec.js +3 -4
- package/src/common/spec.js.map +1 -1
- package/src/dsl/apolloGraphql.js +7 -25
- package/src/dsl/apolloGraphql.js.map +1 -1
- package/src/dsl/apolloGraphql.spec.js +21 -18
- package/src/dsl/apolloGraphql.spec.js.map +1 -1
- package/src/dsl/graphql.d.ts +2 -2
- package/src/dsl/graphql.js +29 -48
- package/src/dsl/graphql.js.map +1 -1
- package/src/dsl/graphql.spec.js +81 -66
- package/src/dsl/graphql.spec.js.map +1 -1
- package/src/dsl/interaction.d.ts +2 -2
- package/src/dsl/interaction.js +41 -48
- package/src/dsl/interaction.js.map +1 -1
- package/src/dsl/interaction.spec.js +77 -70
- package/src/dsl/interaction.spec.js.map +1 -1
- package/src/dsl/matchers.d.ts +1 -1
- package/src/dsl/matchers.js +19 -31
- package/src/dsl/matchers.js.map +1 -1
- package/src/dsl/matchers.spec.js +199 -208
- package/src/dsl/matchers.spec.js.map +1 -1
- package/src/dsl/message.d.ts +3 -3
- package/src/dsl/options.d.ts +3 -3
- package/src/dsl/verifier/proxy/hooks.d.ts +2 -2
- package/src/dsl/verifier/proxy/hooks.js +42 -112
- package/src/dsl/verifier/proxy/hooks.js.map +1 -1
- package/src/dsl/verifier/proxy/hooks.spec.js +84 -199
- package/src/dsl/verifier/proxy/hooks.spec.js.map +1 -1
- package/src/dsl/verifier/proxy/messages.d.ts +2 -2
- package/src/dsl/verifier/proxy/messages.js +88 -106
- package/src/dsl/verifier/proxy/messages.js.map +1 -1
- package/src/dsl/verifier/proxy/parseBody.d.ts +1 -1
- package/src/dsl/verifier/proxy/parseBody.js +2 -2
- package/src/dsl/verifier/proxy/parseBody.js.map +1 -1
- package/src/dsl/verifier/proxy/parseBody.spec.js +31 -76
- package/src/dsl/verifier/proxy/parseBody.spec.js.map +1 -1
- package/src/dsl/verifier/proxy/proxy.d.ts +2 -2
- package/src/dsl/verifier/proxy/proxy.js +22 -26
- package/src/dsl/verifier/proxy/proxy.js.map +1 -1
- package/src/dsl/verifier/proxy/proxy.spec.js +14 -14
- package/src/dsl/verifier/proxy/proxy.spec.js.map +1 -1
- package/src/dsl/verifier/proxy/proxyRequest.d.ts +3 -3
- package/src/dsl/verifier/proxy/proxyRequest.js +7 -7
- package/src/dsl/verifier/proxy/proxyRequest.js.map +1 -1
- package/src/dsl/verifier/proxy/proxyRequest.spec.js +49 -64
- package/src/dsl/verifier/proxy/proxyRequest.spec.js.map +1 -1
- package/src/dsl/verifier/proxy/stateHandler/setupStates.d.ts +3 -3
- package/src/dsl/verifier/proxy/stateHandler/setupStates.js +14 -18
- package/src/dsl/verifier/proxy/stateHandler/setupStates.js.map +1 -1
- package/src/dsl/verifier/proxy/stateHandler/setupStates.spec.js +76 -159
- package/src/dsl/verifier/proxy/stateHandler/setupStates.spec.js.map +1 -1
- package/src/dsl/verifier/proxy/stateHandler/stateHandler.d.ts +2 -2
- package/src/dsl/verifier/proxy/stateHandler/stateHandler.js +23 -72
- package/src/dsl/verifier/proxy/stateHandler/stateHandler.js.map +1 -1
- package/src/dsl/verifier/proxy/stateHandler/stateHandler.spec.js +37 -85
- package/src/dsl/verifier/proxy/stateHandler/stateHandler.spec.js.map +1 -1
- package/src/dsl/verifier/proxy/tracer.d.ts +1 -1
- package/src/dsl/verifier/proxy/tracer.js +42 -35
- package/src/dsl/verifier/proxy/tracer.js.map +1 -1
- package/src/dsl/verifier/proxy/types.d.ts +5 -5
- package/src/dsl/verifier/types.d.ts +3 -3
- package/src/dsl/verifier/verifier.d.ts +1 -1
- package/src/dsl/verifier/verifier.js +49 -56
- package/src/dsl/verifier/verifier.js.map +1 -1
- package/src/dsl/verifier/verifier.spec.js +76 -93
- package/src/dsl/verifier/verifier.spec.js.map +1 -1
- package/src/errors/configurationError.js +2 -22
- package/src/errors/configurationError.js.map +1 -1
- package/src/errors/graphQLQueryError.js +2 -22
- package/src/errors/graphQLQueryError.js.map +1 -1
- package/src/errors/matcherError.js +2 -22
- package/src/errors/matcherError.js.map +1 -1
- package/src/errors/verificationError.js +2 -22
- package/src/errors/verificationError.js.map +1 -1
- package/src/httpPact/ffi.d.ts +2 -2
- package/src/httpPact/ffi.js +28 -29
- package/src/httpPact/ffi.js.map +1 -1
- package/src/httpPact/ffi.spec.js +30 -31
- package/src/httpPact/ffi.spec.js.map +1 -1
- package/src/httpPact/index.d.ts +3 -3
- package/src/httpPact/index.js +92 -149
- package/src/httpPact/index.js.map +1 -1
- package/src/httpPact/index.spec.js +75 -125
- package/src/httpPact/index.spec.js.map +1 -1
- package/src/httpPact/tracing.js +20 -28
- package/src/httpPact/tracing.js.map +1 -1
- package/src/index.js +1 -1
- package/src/index.js.map +1 -1
- package/src/messageConsumerPact.d.ts +3 -3
- package/src/messageConsumerPact.js +50 -51
- package/src/messageConsumerPact.js.map +1 -1
- package/src/messageConsumerPact.spec.js +50 -49
- package/src/messageConsumerPact.spec.js.map +1 -1
- package/src/messageProviderPact.d.ts +3 -3
- package/src/messageProviderPact.js +68 -85
- package/src/messageProviderPact.js.map +1 -1
- package/src/messageProviderPact.spec.js +75 -66
- package/src/messageProviderPact.spec.js.map +1 -1
- package/src/pact.integration.spec.js +250 -268
- package/src/pact.integration.spec.js.map +1 -1
- package/src/v3/display.d.ts +1 -1
- package/src/v3/display.js +44 -58
- package/src/v3/display.js.map +1 -1
- package/src/v3/ffi.d.ts +2 -2
- package/src/v3/ffi.js +18 -16
- package/src/v3/ffi.js.map +1 -1
- package/src/v3/ffi.spec.d.ts +1 -0
- package/src/v3/ffi.spec.js +50 -0
- package/src/v3/ffi.spec.js.map +1 -0
- package/src/v3/graphql/graphQL.d.ts +4 -4
- package/src/v3/graphql/graphQL.js +50 -75
- package/src/v3/graphql/graphQL.js.map +1 -1
- package/src/v3/matchers.d.ts +2 -2
- package/src/v3/matchers.js +112 -147
- package/src/v3/matchers.js.map +1 -1
- package/src/v3/matchers.spec.js +168 -187
- package/src/v3/matchers.spec.js.map +1 -1
- package/src/v3/pact.d.ts +2 -2
- package/src/v3/pact.js +103 -151
- package/src/v3/pact.js.map +1 -1
- package/src/v3/types.d.ts +1 -1
- package/src/v3/xml/xmlBuilder.d.ts +1 -3
- package/src/v3/xml/xmlBuilder.js +7 -9
- package/src/v3/xml/xmlBuilder.js.map +1 -1
- package/src/v3/xml/xmlElement.d.ts +2 -2
- package/src/v3/xml/xmlElement.js +24 -41
- package/src/v3/xml/xmlElement.js.map +1 -1
- package/src/v3/xml/xmlElement.spec.js +23 -25
- package/src/v3/xml/xmlElement.spec.js.map +1 -1
- package/src/v3/xml/xmlNode.js +2 -5
- package/src/v3/xml/xmlNode.js.map +1 -1
- package/src/v3/xml/xmlText.d.ts +1 -1
- package/src/v3/xml/xmlText.js +9 -25
- package/src/v3/xml/xmlText.js.map +1 -1
- package/src/v4/graphql/graphQLInteractionWithRequest.d.ts +4 -4
- package/src/v4/graphql/graphQLInteractionWithRequest.js +21 -17
- package/src/v4/graphql/graphQLInteractionWithRequest.js.map +1 -1
- package/src/v4/graphql/graphQLRequestBuilder.d.ts +3 -3
- package/src/v4/graphql/graphQLRequestBuilder.js +18 -20
- package/src/v4/graphql/graphQLRequestBuilder.js.map +1 -1
- package/src/v4/graphql/index.d.ts +6 -6
- package/src/v4/graphql/index.js +21 -17
- package/src/v4/graphql/index.js.map +1 -1
- package/src/v4/graphql/types.d.ts +5 -5
- package/src/v4/http/index.d.ts +2 -2
- package/src/v4/http/index.js +48 -93
- package/src/v4/http/index.js.map +1 -1
- package/src/v4/http/interactionWithCompleteRequest.d.ts +4 -7
- package/src/v4/http/interactionWithCompleteRequest.js +6 -10
- package/src/v4/http/interactionWithCompleteRequest.js.map +1 -1
- package/src/v4/http/interactionWithPlugin.d.ts +3 -3
- package/src/v4/http/interactionWithPlugin.js +14 -11
- package/src/v4/http/interactionWithPlugin.js.map +1 -1
- package/src/v4/http/interactionWithPluginRequest.d.ts +2 -2
- package/src/v4/http/interactionWithPluginRequest.js +11 -8
- package/src/v4/http/interactionWithPluginRequest.js.map +1 -1
- package/src/v4/http/interactionWithPluginResponse.d.ts +2 -2
- package/src/v4/http/interactionWithPluginResponse.js +10 -48
- package/src/v4/http/interactionWithPluginResponse.js.map +1 -1
- package/src/v4/http/interactionWithRequest.d.ts +2 -2
- package/src/v4/http/interactionWithRequest.js +11 -8
- package/src/v4/http/interactionWithRequest.js.map +1 -1
- package/src/v4/http/interactionWithResponse.d.ts +2 -2
- package/src/v4/http/interactionWithResponse.js +10 -48
- package/src/v4/http/interactionWithResponse.js.map +1 -1
- package/src/v4/http/requestBuilder.d.ts +3 -3
- package/src/v4/http/requestBuilder.js +32 -34
- package/src/v4/http/requestBuilder.js.map +1 -1
- package/src/v4/http/requestWithPluginBuilder.d.ts +2 -2
- package/src/v4/http/requestWithPluginBuilder.js +26 -46
- package/src/v4/http/requestWithPluginBuilder.js.map +1 -1
- package/src/v4/http/responseBuilder.d.ts +3 -3
- package/src/v4/http/responseBuilder.js +24 -25
- package/src/v4/http/responseBuilder.js.map +1 -1
- package/src/v4/http/responseWithPluginBuilder.d.ts +1 -1
- package/src/v4/http/responseWithPluginBuilder.js +5 -25
- package/src/v4/http/responseWithPluginBuilder.js.map +1 -1
- package/src/v4/http/types.d.ts +3 -2
- package/src/v4/http/unconfiguredInteraction.d.ts +6 -5
- package/src/v4/http/unconfiguredInteraction.js +31 -26
- package/src/v4/http/unconfiguredInteraction.js.map +1 -1
- package/src/v4/index.d.ts +4 -4
- package/src/v4/index.js +31 -35
- package/src/v4/index.js.map +1 -1
- package/src/v4/message/asynchronousMessage.d.ts +7 -6
- package/src/v4/message/asynchronousMessage.js +157 -190
- package/src/v4/message/asynchronousMessage.js.map +1 -1
- package/src/v4/message/index.d.ts +7 -6
- package/src/v4/message/index.js +188 -217
- package/src/v4/message/index.js.map +1 -1
- package/src/v4/message/types.d.ts +5 -3
- package/src/v4/types.d.ts +3 -3
package/src/dsl/interaction.js
CHANGED
|
@@ -8,52 +8,50 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
8
8
|
};
|
|
9
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
10
|
exports.interactionToInteractionObject = exports.Interaction = void 0;
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
11
|
+
const lodash_1 = require("lodash");
|
|
12
|
+
const ramda_1 = require("ramda");
|
|
13
|
+
const request_1 = require("../common/request");
|
|
14
|
+
const matchers_1 = require("./matchers");
|
|
15
|
+
const configurationError_1 = __importDefault(require("../errors/configurationError"));
|
|
16
16
|
/**
|
|
17
17
|
* Returns valid if object or matcher only contains string values
|
|
18
18
|
* @param query
|
|
19
19
|
*/
|
|
20
|
-
|
|
20
|
+
const throwIfQueryObjectInvalid = (query) => {
|
|
21
21
|
if ((0, matchers_1.isMatcher)(query)) {
|
|
22
22
|
return;
|
|
23
23
|
}
|
|
24
|
-
Object.values(query).forEach(
|
|
24
|
+
Object.values(query).forEach((value) => {
|
|
25
25
|
if (!((0, matchers_1.isMatcher)(value) || Array.isArray(value) || typeof value === 'string')) {
|
|
26
|
-
throw new configurationError_1.default(
|
|
26
|
+
throw new configurationError_1.default(`Query must only contain strings.`);
|
|
27
27
|
}
|
|
28
28
|
});
|
|
29
29
|
};
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
this.state = {};
|
|
33
|
-
}
|
|
30
|
+
class Interaction {
|
|
31
|
+
state = {};
|
|
34
32
|
/**
|
|
35
33
|
* Gives a state the provider should be in for this interaction.
|
|
36
34
|
* @param {string} providerState - The state of the provider.
|
|
37
35
|
* @returns {Interaction} interaction
|
|
38
36
|
*/
|
|
39
|
-
|
|
37
|
+
given(providerState) {
|
|
40
38
|
if (providerState) {
|
|
41
39
|
this.state.providerState = providerState;
|
|
42
40
|
}
|
|
43
41
|
return this;
|
|
44
|
-
}
|
|
42
|
+
}
|
|
45
43
|
/**
|
|
46
44
|
* A free style description of the interaction.
|
|
47
45
|
* @param {string} description - A description of the interaction.
|
|
48
46
|
* @returns {Interaction} interaction
|
|
49
47
|
*/
|
|
50
|
-
|
|
48
|
+
uponReceiving(description) {
|
|
51
49
|
if ((0, lodash_1.isNil)(description)) {
|
|
52
50
|
throw new configurationError_1.default('You must provide a description for the interaction.');
|
|
53
51
|
}
|
|
54
52
|
this.state.description = description;
|
|
55
53
|
return this;
|
|
56
|
-
}
|
|
54
|
+
}
|
|
57
55
|
/**
|
|
58
56
|
* The request that represents this interaction triggered by the consumer.
|
|
59
57
|
* @param {Object} requestOpts
|
|
@@ -64,12 +62,12 @@ var Interaction = /** @class */ (function () {
|
|
|
64
62
|
* @param {Object} requestOpts.body - The body, in {@link String} format or {@link Object} format
|
|
65
63
|
* @returns {Interaction} interaction
|
|
66
64
|
*/
|
|
67
|
-
|
|
65
|
+
withRequest(requestOpts) {
|
|
68
66
|
if ((0, lodash_1.isNil)(requestOpts.method)) {
|
|
69
67
|
throw new configurationError_1.default('You must provide an HTTP method.');
|
|
70
68
|
}
|
|
71
69
|
if ((0, lodash_1.keys)(request_1.HTTPMethods).indexOf(requestOpts.method.toString()) < 0) {
|
|
72
|
-
throw new configurationError_1.default(
|
|
70
|
+
throw new configurationError_1.default(`You must provide a valid HTTP method: ${(0, lodash_1.keys)(request_1.HTTPMethods).join(', ')}.`);
|
|
73
71
|
}
|
|
74
72
|
if ((0, lodash_1.isNil)(requestOpts.path)) {
|
|
75
73
|
throw new configurationError_1.default('You must provide a path.');
|
|
@@ -79,7 +77,7 @@ var Interaction = /** @class */ (function () {
|
|
|
79
77
|
}
|
|
80
78
|
this.state.request = (0, ramda_1.reject)(lodash_1.isNil, requestOpts);
|
|
81
79
|
return this;
|
|
82
|
-
}
|
|
80
|
+
}
|
|
83
81
|
/**
|
|
84
82
|
* The response expected by the consumer.
|
|
85
83
|
* @param {Object} responseOpts
|
|
@@ -88,7 +86,7 @@ var Interaction = /** @class */ (function () {
|
|
|
88
86
|
* @param {Object} responseOpts.body
|
|
89
87
|
* @returns {Interaction} interaction
|
|
90
88
|
*/
|
|
91
|
-
|
|
89
|
+
willRespondWith(responseOpts) {
|
|
92
90
|
if ((0, lodash_1.isNil)(responseOpts.status) ||
|
|
93
91
|
responseOpts.status.toString().trim().length === 0) {
|
|
94
92
|
throw new configurationError_1.default('You must provide a status code.');
|
|
@@ -99,47 +97,42 @@ var Interaction = /** @class */ (function () {
|
|
|
99
97
|
status: responseOpts.status,
|
|
100
98
|
});
|
|
101
99
|
return this;
|
|
102
|
-
}
|
|
100
|
+
}
|
|
103
101
|
/**
|
|
104
102
|
* Returns the interaction object created.
|
|
105
103
|
* @returns {Object}
|
|
106
104
|
*/
|
|
107
|
-
|
|
108
|
-
var _a, _b, _c, _d, _e, _f;
|
|
105
|
+
json() {
|
|
109
106
|
if ((0, lodash_1.isNil)(this.state.description)) {
|
|
110
107
|
throw new configurationError_1.default('You must provide a description for the Interaction');
|
|
111
108
|
}
|
|
112
109
|
if ((0, lodash_1.isNil)(this.state.request) ||
|
|
113
|
-
(0, lodash_1.isNil)(
|
|
114
|
-
(0, lodash_1.isNil)(
|
|
110
|
+
(0, lodash_1.isNil)(this.state?.request?.method) ||
|
|
111
|
+
(0, lodash_1.isNil)(this.state?.request?.path)) {
|
|
115
112
|
throw new configurationError_1.default('You must provide a request with at least a method and path for the Interaction');
|
|
116
113
|
}
|
|
117
|
-
if ((0, lodash_1.isNil)(this.state.response) || (0, lodash_1.isNil)(
|
|
114
|
+
if ((0, lodash_1.isNil)(this.state.response) || (0, lodash_1.isNil)(this.state?.response?.status)) {
|
|
118
115
|
throw new configurationError_1.default('You must provide a response with a status for the Interaction');
|
|
119
116
|
}
|
|
120
117
|
return this.state;
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
}());
|
|
118
|
+
}
|
|
119
|
+
}
|
|
124
120
|
exports.Interaction = Interaction;
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
},
|
|
142
|
-
});
|
|
143
|
-
};
|
|
121
|
+
const interactionToInteractionObject = (interaction) => ({
|
|
122
|
+
state: interaction.providerState,
|
|
123
|
+
uponReceiving: interaction.description,
|
|
124
|
+
withRequest: {
|
|
125
|
+
method: interaction.request?.method,
|
|
126
|
+
path: interaction.request?.path,
|
|
127
|
+
query: interaction.request?.query,
|
|
128
|
+
body: interaction.request?.body,
|
|
129
|
+
headers: interaction.request?.headers,
|
|
130
|
+
},
|
|
131
|
+
willRespondWith: {
|
|
132
|
+
status: interaction.response?.status,
|
|
133
|
+
body: interaction.response?.body,
|
|
134
|
+
headers: interaction.response?.headers,
|
|
135
|
+
},
|
|
136
|
+
});
|
|
144
137
|
exports.interactionToInteractionObject = interactionToInteractionObject;
|
|
145
138
|
//# sourceMappingURL=interaction.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interaction.js","sourceRoot":"","sources":["../../../src/dsl/interaction.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;AAEH,
|
|
1
|
+
{"version":3,"file":"interaction.js","sourceRoot":"","sources":["../../../src/dsl/interaction.ts"],"names":[],"mappings":"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"}
|
|
@@ -36,17 +36,17 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
36
36
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
37
|
};
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
39
|
+
const chai = __importStar(require("chai"));
|
|
40
|
+
const chai_as_promised_1 = __importDefault(require("chai-as-promised"));
|
|
41
|
+
const request_1 = require("../common/request");
|
|
42
|
+
const interaction_1 = require("./interaction");
|
|
43
|
+
const matchers_1 = require("./matchers");
|
|
44
44
|
chai.use(chai_as_promised_1.default);
|
|
45
|
-
|
|
46
|
-
describe('Interaction',
|
|
47
|
-
describe('#given',
|
|
48
|
-
it('creates Interaction with provider state',
|
|
49
|
-
|
|
45
|
+
const { expect } = chai;
|
|
46
|
+
describe('Interaction', () => {
|
|
47
|
+
describe('#given', () => {
|
|
48
|
+
it('creates Interaction with provider state', () => {
|
|
49
|
+
const actual = new interaction_1.Interaction()
|
|
50
50
|
.uponReceiving('r')
|
|
51
51
|
.given('provider state');
|
|
52
52
|
expect(actual.state).to.eql({
|
|
@@ -54,84 +54,90 @@ describe('Interaction', function () {
|
|
|
54
54
|
providerState: 'provider state',
|
|
55
55
|
});
|
|
56
56
|
});
|
|
57
|
-
describe('without provider state',
|
|
58
|
-
it('creates Interaction when blank',
|
|
59
|
-
|
|
57
|
+
describe('without provider state', () => {
|
|
58
|
+
it('creates Interaction when blank', () => {
|
|
59
|
+
const actual = new interaction_1.Interaction().uponReceiving('r').given('').state;
|
|
60
60
|
expect(actual).to.eql({ description: 'r' });
|
|
61
61
|
});
|
|
62
|
-
it('creates Interaction when nothing is passed',
|
|
63
|
-
|
|
62
|
+
it('creates Interaction when nothing is passed', () => {
|
|
63
|
+
const actual = new interaction_1.Interaction().uponReceiving('r').state;
|
|
64
64
|
expect(actual).to.eql({ description: 'r' });
|
|
65
65
|
});
|
|
66
66
|
});
|
|
67
67
|
});
|
|
68
|
-
describe('#uponReceiving',
|
|
69
|
-
|
|
70
|
-
it('throws error when no description provided',
|
|
68
|
+
describe('#uponReceiving', () => {
|
|
69
|
+
const interaction = new interaction_1.Interaction();
|
|
70
|
+
it('throws error when no description provided', () => {
|
|
71
71
|
expect(interaction.uponReceiving).to.throw(Error, 'You must provide a description for the interaction.');
|
|
72
72
|
});
|
|
73
|
-
it('has a state with description',
|
|
73
|
+
it('has a state with description', () => {
|
|
74
74
|
interaction.uponReceiving('an interaction description');
|
|
75
75
|
expect(interaction.state).to.eql({
|
|
76
76
|
description: 'an interaction description',
|
|
77
77
|
});
|
|
78
78
|
});
|
|
79
79
|
});
|
|
80
|
-
describe('#withRequest',
|
|
81
|
-
|
|
82
|
-
it('throws error when method is not provided',
|
|
80
|
+
describe('#withRequest', () => {
|
|
81
|
+
const interaction = new interaction_1.Interaction();
|
|
82
|
+
it('throws error when method is not provided', () => {
|
|
83
83
|
expect(interaction.withRequest.bind(interaction, {})).to.throw(Error, 'You must provide an HTTP method.');
|
|
84
84
|
});
|
|
85
|
-
it('throws error when an invalid method is provided',
|
|
86
|
-
expect(interaction.withRequest.bind(interaction, {
|
|
85
|
+
it('throws error when an invalid method is provided', () => {
|
|
86
|
+
expect(interaction.withRequest.bind(interaction, {
|
|
87
|
+
method: 'FOO',
|
|
88
|
+
})).to.throw(Error, 'You must provide a valid HTTP method: GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS, COPY, LOCK, MKCOL, MOVE, PROPFIND, PROPPATCH, UNLOCK, REPORT.');
|
|
87
89
|
});
|
|
88
|
-
it('throws error when method is not provided but path is provided',
|
|
89
|
-
expect(interaction.withRequest.bind(interaction, {
|
|
90
|
+
it('throws error when method is not provided but path is provided', () => {
|
|
91
|
+
expect(interaction.withRequest.bind(interaction, {
|
|
92
|
+
path: '/',
|
|
93
|
+
})).to.throw(Error, 'You must provide an HTTP method.');
|
|
90
94
|
});
|
|
91
|
-
it('throws error when path is not provided',
|
|
92
|
-
expect(interaction.withRequest.bind(interaction, {
|
|
95
|
+
it('throws error when path is not provided', () => {
|
|
96
|
+
expect(interaction.withRequest.bind(interaction, {
|
|
97
|
+
method: request_1.HTTPMethods.GET,
|
|
98
|
+
})).to.throw(Error, 'You must provide a path.');
|
|
93
99
|
});
|
|
94
|
-
it('throws error when query object is not a string',
|
|
100
|
+
it('throws error when query object is not a string', () => {
|
|
95
101
|
expect(interaction.withRequest.bind(interaction, {
|
|
96
102
|
method: request_1.HTTPMethods.GET,
|
|
97
103
|
path: '/',
|
|
98
104
|
query: { string: false, query: 'false' },
|
|
99
105
|
})).to.throw(Error, 'Query must only contain strings.');
|
|
100
106
|
});
|
|
101
|
-
describe('with only mandatory params',
|
|
102
|
-
|
|
107
|
+
describe('with only mandatory params', () => {
|
|
108
|
+
const actual = new interaction_1.Interaction()
|
|
103
109
|
.uponReceiving('a request')
|
|
104
110
|
.withRequest({ method: request_1.HTTPMethods.GET, path: '/search' }).state;
|
|
105
|
-
it('has a state containing only the given keys',
|
|
111
|
+
it('has a state containing only the given keys', () => {
|
|
106
112
|
expect(actual).to.have.property('request');
|
|
107
113
|
expect(actual.request).to.have.keys('method', 'path');
|
|
108
114
|
});
|
|
109
|
-
it('request has no other keys',
|
|
115
|
+
it('request has no other keys', () => {
|
|
110
116
|
expect(actual.request).to.not.have.keys('query', 'headers', 'body');
|
|
111
117
|
});
|
|
112
118
|
});
|
|
113
|
-
describe('with all other parameters',
|
|
114
|
-
|
|
119
|
+
describe('with all other parameters', () => {
|
|
120
|
+
const actual = new interaction_1.Interaction().uponReceiving('request').withRequest({
|
|
115
121
|
body: { id: 1, name: 'Test', due: 'tomorrow' },
|
|
116
122
|
headers: { 'Content-Type': 'application/json' },
|
|
117
123
|
method: request_1.HTTPMethods.GET,
|
|
118
124
|
path: '/search',
|
|
119
125
|
query: 'q=test',
|
|
120
126
|
}).state;
|
|
121
|
-
it('has a full state all available keys',
|
|
127
|
+
it('has a full state all available keys', () => {
|
|
122
128
|
expect(actual).to.have.property('request');
|
|
123
129
|
expect(actual.request).to.have.keys('method', 'path', 'query', 'headers', 'body');
|
|
124
130
|
});
|
|
125
131
|
});
|
|
126
|
-
describe('query type',
|
|
127
|
-
|
|
132
|
+
describe('query type', () => {
|
|
133
|
+
const request = {
|
|
128
134
|
body: { id: 1, name: 'Test', due: 'tomorrow' },
|
|
129
135
|
headers: { 'Content-Type': 'application/json' },
|
|
130
136
|
method: request_1.HTTPMethods.GET,
|
|
131
137
|
path: '/search',
|
|
132
138
|
query: {},
|
|
133
139
|
};
|
|
134
|
-
it('is passed with matcher',
|
|
140
|
+
it('is passed with matcher', () => {
|
|
135
141
|
request.query = (0, matchers_1.term)({
|
|
136
142
|
generate: 'limit=50&status=finished&order=desc',
|
|
137
143
|
matcher: '^limit=[0-9]+&status=(finished)&order=(desc|asc)$',
|
|
@@ -139,40 +145,39 @@ describe('Interaction', function () {
|
|
|
139
145
|
expect(new interaction_1.Interaction().uponReceiving('request').withRequest(request).state
|
|
140
146
|
.request).to.have.any.keys('query');
|
|
141
147
|
});
|
|
142
|
-
it('is passed with matcher as the value',
|
|
148
|
+
it('is passed with matcher as the value', () => {
|
|
143
149
|
request.query = {
|
|
144
150
|
'id[]': (0, matchers_1.eachLike)('1'),
|
|
145
151
|
};
|
|
146
152
|
expect(new interaction_1.Interaction().uponReceiving('request').withRequest(request).state
|
|
147
153
|
.request).to.have.any.keys('query');
|
|
148
154
|
});
|
|
149
|
-
it('is passed with object',
|
|
155
|
+
it('is passed with object', () => {
|
|
150
156
|
request.query = {
|
|
151
157
|
id: '1',
|
|
152
158
|
};
|
|
153
159
|
expect(new interaction_1.Interaction().uponReceiving('request').withRequest(request).state
|
|
154
160
|
.request).to.have.any.keys('query');
|
|
155
161
|
});
|
|
156
|
-
it('is passed with array',
|
|
157
|
-
var _a;
|
|
162
|
+
it('is passed with array', () => {
|
|
158
163
|
request.query = {
|
|
159
164
|
id: ['1', '2'],
|
|
160
165
|
};
|
|
161
|
-
expect(
|
|
162
|
-
.request
|
|
166
|
+
expect(new interaction_1.Interaction().uponReceiving('request').withRequest(request).state
|
|
167
|
+
.request?.query).to.deep.eq({ id: ['1', '2'] });
|
|
163
168
|
});
|
|
164
169
|
});
|
|
165
|
-
describe('request body',
|
|
166
|
-
it('is included when an empty string is specified',
|
|
167
|
-
|
|
170
|
+
describe('request body', () => {
|
|
171
|
+
it('is included when an empty string is specified', () => {
|
|
172
|
+
const actual = new interaction_1.Interaction().uponReceiving('request').withRequest({
|
|
168
173
|
body: '',
|
|
169
174
|
method: request_1.HTTPMethods.GET,
|
|
170
175
|
path: '/path',
|
|
171
176
|
}).state;
|
|
172
177
|
expect(actual.request).to.have.any.keys('body');
|
|
173
178
|
});
|
|
174
|
-
it('is not included when explicitly set to undefined',
|
|
175
|
-
|
|
179
|
+
it('is not included when explicitly set to undefined', () => {
|
|
180
|
+
const actual = new interaction_1.Interaction().uponReceiving('request').withRequest({
|
|
176
181
|
body: undefined,
|
|
177
182
|
method: request_1.HTTPMethods.GET,
|
|
178
183
|
path: '/path',
|
|
@@ -181,35 +186,37 @@ describe('Interaction', function () {
|
|
|
181
186
|
});
|
|
182
187
|
});
|
|
183
188
|
});
|
|
184
|
-
describe('#willRespondWith',
|
|
185
|
-
|
|
186
|
-
beforeEach(
|
|
189
|
+
describe('#willRespondWith', () => {
|
|
190
|
+
let interaction;
|
|
191
|
+
beforeEach(() => {
|
|
187
192
|
interaction = new interaction_1.Interaction();
|
|
188
193
|
});
|
|
189
|
-
it('throws error when status is not provided',
|
|
194
|
+
it('throws error when status is not provided', () => {
|
|
190
195
|
expect(interaction.willRespondWith.bind(interaction, {})).to.throw(Error, 'You must provide a status code.');
|
|
191
196
|
});
|
|
192
|
-
it('throws error when status is blank',
|
|
193
|
-
expect(interaction.willRespondWith.bind(interaction, {
|
|
197
|
+
it('throws error when status is blank', () => {
|
|
198
|
+
expect(interaction.willRespondWith.bind(interaction, {
|
|
199
|
+
status: '',
|
|
200
|
+
})).to.throw(Error, 'You must provide a status code.');
|
|
194
201
|
});
|
|
195
|
-
describe('with only mandatory params',
|
|
196
|
-
|
|
197
|
-
beforeEach(
|
|
202
|
+
describe('with only mandatory params', () => {
|
|
203
|
+
let actual;
|
|
204
|
+
beforeEach(() => {
|
|
198
205
|
interaction.uponReceiving('request');
|
|
199
206
|
interaction.willRespondWith({ status: 200 });
|
|
200
207
|
actual = interaction.state;
|
|
201
208
|
});
|
|
202
|
-
it('has a state compacted with only present keys',
|
|
209
|
+
it('has a state compacted with only present keys', () => {
|
|
203
210
|
expect(actual).to.have.property('response');
|
|
204
211
|
expect(actual.response).to.have.keys('status');
|
|
205
212
|
});
|
|
206
|
-
it('request has no other keys',
|
|
213
|
+
it('request has no other keys', () => {
|
|
207
214
|
expect(actual.response).to.not.have.keys('headers', 'body');
|
|
208
215
|
});
|
|
209
216
|
});
|
|
210
|
-
describe('with all other parameters',
|
|
211
|
-
|
|
212
|
-
beforeEach(
|
|
217
|
+
describe('with all other parameters', () => {
|
|
218
|
+
let actual;
|
|
219
|
+
beforeEach(() => {
|
|
213
220
|
interaction.uponReceiving('request');
|
|
214
221
|
interaction.willRespondWith({
|
|
215
222
|
body: { id: 1, name: 'Test', due: 'tomorrow' },
|
|
@@ -218,26 +225,26 @@ describe('Interaction', function () {
|
|
|
218
225
|
});
|
|
219
226
|
actual = interaction.state;
|
|
220
227
|
});
|
|
221
|
-
it('has a full state all available keys',
|
|
228
|
+
it('has a full state all available keys', () => {
|
|
222
229
|
expect(actual).to.have.property('response');
|
|
223
230
|
expect(actual.response).to.have.keys('status', 'headers', 'body');
|
|
224
231
|
});
|
|
225
232
|
});
|
|
226
|
-
describe('response body',
|
|
227
|
-
it('is included when an empty string is specified',
|
|
233
|
+
describe('response body', () => {
|
|
234
|
+
it('is included when an empty string is specified', () => {
|
|
228
235
|
interaction.uponReceiving('request').willRespondWith({
|
|
229
236
|
body: '',
|
|
230
237
|
status: 204,
|
|
231
238
|
});
|
|
232
|
-
|
|
239
|
+
const actual = interaction.state;
|
|
233
240
|
expect(actual.response).to.have.any.keys('body');
|
|
234
241
|
});
|
|
235
|
-
it('is not included when explicitly set to undefined',
|
|
242
|
+
it('is not included when explicitly set to undefined', () => {
|
|
236
243
|
interaction.uponReceiving('request').willRespondWith({
|
|
237
244
|
body: undefined,
|
|
238
245
|
status: 204,
|
|
239
246
|
});
|
|
240
|
-
|
|
247
|
+
const actual = interaction.state;
|
|
241
248
|
expect(actual.response).not.to.have.any.keys('body');
|
|
242
249
|
});
|
|
243
250
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interaction.spec.js","sourceRoot":"","sources":["../../../src/dsl/interaction.spec.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"interaction.spec.js","sourceRoot":"","sources":["../../../src/dsl/interaction.spec.ts"],"names":[],"mappings":"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"}
|
package/src/dsl/matchers.d.ts
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* For specific matcher types (e.g. IpV6), the values generated are not random
|
|
4
4
|
* but are fixed, to prevent contract invalidation after each run of the consumer test.
|
|
5
5
|
*/
|
|
6
|
-
import { AnyJson } from '../common/jsonTypes';
|
|
6
|
+
import type { AnyJson } from '../common/jsonTypes';
|
|
7
7
|
export declare const EMAIL_FORMAT = "^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,}$";
|
|
8
8
|
export declare const ISO8601_DATE_FORMAT = "^([\\+-]?\\d{4}(?!\\d{2}\\b))((-?)((0[1-9]|1[0-2])(\\3([12]\\d|0[1-9]|3[01]))?|W([0-4]\\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\\d|[12]\\d{2}|3([0-5]\\d|6[1-6])))?)$";
|
|
9
9
|
export declare const ISO8601_DATETIME_FORMAT = "^\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d([+-][0-2]\\d:[0-5]\\d|Z)$";
|