@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.
Files changed (216) hide show
  1. package/CHANGELOG.md +16 -3
  2. package/CONTRIBUTING.md +2 -2
  3. package/README.md +6 -2
  4. package/package.json +25 -28
  5. package/src/common/graphQL/configurationError.js +2 -22
  6. package/src/common/graphQL/configurationError.js.map +1 -1
  7. package/src/common/graphQL/graphQL.d.ts +2 -2
  8. package/src/common/graphQL/graphQL.js +11 -14
  9. package/src/common/graphQL/graphQL.js.map +1 -1
  10. package/src/common/graphQL/graphQLQueryError.js +2 -22
  11. package/src/common/graphQL/graphQLQueryError.js.map +1 -1
  12. package/src/common/logger.js +9 -9
  13. package/src/common/logger.js.map +1 -1
  14. package/src/common/matchingRules.d.ts +1 -1
  15. package/src/common/matchingRules.js +21 -21
  16. package/src/common/matchingRules.js.map +1 -1
  17. package/src/common/net.js +36 -42
  18. package/src/common/net.js.map +1 -1
  19. package/src/common/net.spec.js +41 -53
  20. package/src/common/net.spec.js.map +1 -1
  21. package/src/common/request.js +33 -82
  22. package/src/common/request.js.map +1 -1
  23. package/src/common/request.spec.js +26 -26
  24. package/src/common/request.spec.js.map +1 -1
  25. package/src/common/spec.js +3 -4
  26. package/src/common/spec.js.map +1 -1
  27. package/src/dsl/apolloGraphql.js +7 -25
  28. package/src/dsl/apolloGraphql.js.map +1 -1
  29. package/src/dsl/apolloGraphql.spec.js +21 -18
  30. package/src/dsl/apolloGraphql.spec.js.map +1 -1
  31. package/src/dsl/graphql.d.ts +2 -2
  32. package/src/dsl/graphql.js +29 -48
  33. package/src/dsl/graphql.js.map +1 -1
  34. package/src/dsl/graphql.spec.js +81 -66
  35. package/src/dsl/graphql.spec.js.map +1 -1
  36. package/src/dsl/interaction.d.ts +2 -2
  37. package/src/dsl/interaction.js +41 -48
  38. package/src/dsl/interaction.js.map +1 -1
  39. package/src/dsl/interaction.spec.js +77 -70
  40. package/src/dsl/interaction.spec.js.map +1 -1
  41. package/src/dsl/matchers.d.ts +1 -1
  42. package/src/dsl/matchers.js +19 -31
  43. package/src/dsl/matchers.js.map +1 -1
  44. package/src/dsl/matchers.spec.js +199 -208
  45. package/src/dsl/matchers.spec.js.map +1 -1
  46. package/src/dsl/message.d.ts +3 -3
  47. package/src/dsl/options.d.ts +3 -3
  48. package/src/dsl/verifier/proxy/hooks.d.ts +2 -2
  49. package/src/dsl/verifier/proxy/hooks.js +42 -112
  50. package/src/dsl/verifier/proxy/hooks.js.map +1 -1
  51. package/src/dsl/verifier/proxy/hooks.spec.js +84 -199
  52. package/src/dsl/verifier/proxy/hooks.spec.js.map +1 -1
  53. package/src/dsl/verifier/proxy/messages.d.ts +2 -2
  54. package/src/dsl/verifier/proxy/messages.js +88 -106
  55. package/src/dsl/verifier/proxy/messages.js.map +1 -1
  56. package/src/dsl/verifier/proxy/parseBody.d.ts +1 -1
  57. package/src/dsl/verifier/proxy/parseBody.js +2 -2
  58. package/src/dsl/verifier/proxy/parseBody.js.map +1 -1
  59. package/src/dsl/verifier/proxy/parseBody.spec.js +31 -76
  60. package/src/dsl/verifier/proxy/parseBody.spec.js.map +1 -1
  61. package/src/dsl/verifier/proxy/proxy.d.ts +2 -2
  62. package/src/dsl/verifier/proxy/proxy.js +22 -26
  63. package/src/dsl/verifier/proxy/proxy.js.map +1 -1
  64. package/src/dsl/verifier/proxy/proxy.spec.js +14 -14
  65. package/src/dsl/verifier/proxy/proxy.spec.js.map +1 -1
  66. package/src/dsl/verifier/proxy/proxyRequest.d.ts +3 -3
  67. package/src/dsl/verifier/proxy/proxyRequest.js +7 -7
  68. package/src/dsl/verifier/proxy/proxyRequest.js.map +1 -1
  69. package/src/dsl/verifier/proxy/proxyRequest.spec.js +49 -64
  70. package/src/dsl/verifier/proxy/proxyRequest.spec.js.map +1 -1
  71. package/src/dsl/verifier/proxy/stateHandler/setupStates.d.ts +3 -3
  72. package/src/dsl/verifier/proxy/stateHandler/setupStates.js +14 -18
  73. package/src/dsl/verifier/proxy/stateHandler/setupStates.js.map +1 -1
  74. package/src/dsl/verifier/proxy/stateHandler/setupStates.spec.js +76 -159
  75. package/src/dsl/verifier/proxy/stateHandler/setupStates.spec.js.map +1 -1
  76. package/src/dsl/verifier/proxy/stateHandler/stateHandler.d.ts +2 -2
  77. package/src/dsl/verifier/proxy/stateHandler/stateHandler.js +23 -72
  78. package/src/dsl/verifier/proxy/stateHandler/stateHandler.js.map +1 -1
  79. package/src/dsl/verifier/proxy/stateHandler/stateHandler.spec.js +37 -85
  80. package/src/dsl/verifier/proxy/stateHandler/stateHandler.spec.js.map +1 -1
  81. package/src/dsl/verifier/proxy/tracer.d.ts +1 -1
  82. package/src/dsl/verifier/proxy/tracer.js +42 -35
  83. package/src/dsl/verifier/proxy/tracer.js.map +1 -1
  84. package/src/dsl/verifier/proxy/types.d.ts +5 -5
  85. package/src/dsl/verifier/types.d.ts +3 -3
  86. package/src/dsl/verifier/verifier.d.ts +1 -1
  87. package/src/dsl/verifier/verifier.js +49 -56
  88. package/src/dsl/verifier/verifier.js.map +1 -1
  89. package/src/dsl/verifier/verifier.spec.js +76 -93
  90. package/src/dsl/verifier/verifier.spec.js.map +1 -1
  91. package/src/errors/configurationError.js +2 -22
  92. package/src/errors/configurationError.js.map +1 -1
  93. package/src/errors/graphQLQueryError.js +2 -22
  94. package/src/errors/graphQLQueryError.js.map +1 -1
  95. package/src/errors/matcherError.js +2 -22
  96. package/src/errors/matcherError.js.map +1 -1
  97. package/src/errors/verificationError.js +2 -22
  98. package/src/errors/verificationError.js.map +1 -1
  99. package/src/httpPact/ffi.d.ts +2 -2
  100. package/src/httpPact/ffi.js +28 -29
  101. package/src/httpPact/ffi.js.map +1 -1
  102. package/src/httpPact/ffi.spec.js +30 -31
  103. package/src/httpPact/ffi.spec.js.map +1 -1
  104. package/src/httpPact/index.d.ts +3 -3
  105. package/src/httpPact/index.js +92 -149
  106. package/src/httpPact/index.js.map +1 -1
  107. package/src/httpPact/index.spec.js +75 -125
  108. package/src/httpPact/index.spec.js.map +1 -1
  109. package/src/httpPact/tracing.js +20 -28
  110. package/src/httpPact/tracing.js.map +1 -1
  111. package/src/index.js +1 -1
  112. package/src/index.js.map +1 -1
  113. package/src/messageConsumerPact.d.ts +3 -3
  114. package/src/messageConsumerPact.js +50 -51
  115. package/src/messageConsumerPact.js.map +1 -1
  116. package/src/messageConsumerPact.spec.js +50 -49
  117. package/src/messageConsumerPact.spec.js.map +1 -1
  118. package/src/messageProviderPact.d.ts +3 -3
  119. package/src/messageProviderPact.js +68 -85
  120. package/src/messageProviderPact.js.map +1 -1
  121. package/src/messageProviderPact.spec.js +75 -66
  122. package/src/messageProviderPact.spec.js.map +1 -1
  123. package/src/pact.integration.spec.js +250 -268
  124. package/src/pact.integration.spec.js.map +1 -1
  125. package/src/v3/display.d.ts +1 -1
  126. package/src/v3/display.js +44 -58
  127. package/src/v3/display.js.map +1 -1
  128. package/src/v3/ffi.d.ts +2 -2
  129. package/src/v3/ffi.js +18 -16
  130. package/src/v3/ffi.js.map +1 -1
  131. package/src/v3/ffi.spec.d.ts +1 -0
  132. package/src/v3/ffi.spec.js +50 -0
  133. package/src/v3/ffi.spec.js.map +1 -0
  134. package/src/v3/graphql/graphQL.d.ts +4 -4
  135. package/src/v3/graphql/graphQL.js +50 -75
  136. package/src/v3/graphql/graphQL.js.map +1 -1
  137. package/src/v3/matchers.d.ts +2 -2
  138. package/src/v3/matchers.js +112 -147
  139. package/src/v3/matchers.js.map +1 -1
  140. package/src/v3/matchers.spec.js +168 -187
  141. package/src/v3/matchers.spec.js.map +1 -1
  142. package/src/v3/pact.d.ts +2 -2
  143. package/src/v3/pact.js +103 -151
  144. package/src/v3/pact.js.map +1 -1
  145. package/src/v3/types.d.ts +1 -1
  146. package/src/v3/xml/xmlBuilder.d.ts +1 -3
  147. package/src/v3/xml/xmlBuilder.js +7 -9
  148. package/src/v3/xml/xmlBuilder.js.map +1 -1
  149. package/src/v3/xml/xmlElement.d.ts +2 -2
  150. package/src/v3/xml/xmlElement.js +24 -41
  151. package/src/v3/xml/xmlElement.js.map +1 -1
  152. package/src/v3/xml/xmlElement.spec.js +23 -25
  153. package/src/v3/xml/xmlElement.spec.js.map +1 -1
  154. package/src/v3/xml/xmlNode.js +2 -5
  155. package/src/v3/xml/xmlNode.js.map +1 -1
  156. package/src/v3/xml/xmlText.d.ts +1 -1
  157. package/src/v3/xml/xmlText.js +9 -25
  158. package/src/v3/xml/xmlText.js.map +1 -1
  159. package/src/v4/graphql/graphQLInteractionWithRequest.d.ts +4 -4
  160. package/src/v4/graphql/graphQLInteractionWithRequest.js +21 -17
  161. package/src/v4/graphql/graphQLInteractionWithRequest.js.map +1 -1
  162. package/src/v4/graphql/graphQLRequestBuilder.d.ts +3 -3
  163. package/src/v4/graphql/graphQLRequestBuilder.js +18 -20
  164. package/src/v4/graphql/graphQLRequestBuilder.js.map +1 -1
  165. package/src/v4/graphql/index.d.ts +6 -6
  166. package/src/v4/graphql/index.js +21 -17
  167. package/src/v4/graphql/index.js.map +1 -1
  168. package/src/v4/graphql/types.d.ts +5 -5
  169. package/src/v4/http/index.d.ts +2 -2
  170. package/src/v4/http/index.js +48 -93
  171. package/src/v4/http/index.js.map +1 -1
  172. package/src/v4/http/interactionWithCompleteRequest.d.ts +4 -7
  173. package/src/v4/http/interactionWithCompleteRequest.js +6 -10
  174. package/src/v4/http/interactionWithCompleteRequest.js.map +1 -1
  175. package/src/v4/http/interactionWithPlugin.d.ts +3 -3
  176. package/src/v4/http/interactionWithPlugin.js +14 -11
  177. package/src/v4/http/interactionWithPlugin.js.map +1 -1
  178. package/src/v4/http/interactionWithPluginRequest.d.ts +2 -2
  179. package/src/v4/http/interactionWithPluginRequest.js +11 -8
  180. package/src/v4/http/interactionWithPluginRequest.js.map +1 -1
  181. package/src/v4/http/interactionWithPluginResponse.d.ts +2 -2
  182. package/src/v4/http/interactionWithPluginResponse.js +10 -48
  183. package/src/v4/http/interactionWithPluginResponse.js.map +1 -1
  184. package/src/v4/http/interactionWithRequest.d.ts +2 -2
  185. package/src/v4/http/interactionWithRequest.js +11 -8
  186. package/src/v4/http/interactionWithRequest.js.map +1 -1
  187. package/src/v4/http/interactionWithResponse.d.ts +2 -2
  188. package/src/v4/http/interactionWithResponse.js +10 -48
  189. package/src/v4/http/interactionWithResponse.js.map +1 -1
  190. package/src/v4/http/requestBuilder.d.ts +3 -3
  191. package/src/v4/http/requestBuilder.js +32 -34
  192. package/src/v4/http/requestBuilder.js.map +1 -1
  193. package/src/v4/http/requestWithPluginBuilder.d.ts +2 -2
  194. package/src/v4/http/requestWithPluginBuilder.js +26 -46
  195. package/src/v4/http/requestWithPluginBuilder.js.map +1 -1
  196. package/src/v4/http/responseBuilder.d.ts +3 -3
  197. package/src/v4/http/responseBuilder.js +24 -25
  198. package/src/v4/http/responseBuilder.js.map +1 -1
  199. package/src/v4/http/responseWithPluginBuilder.d.ts +1 -1
  200. package/src/v4/http/responseWithPluginBuilder.js +5 -25
  201. package/src/v4/http/responseWithPluginBuilder.js.map +1 -1
  202. package/src/v4/http/types.d.ts +3 -2
  203. package/src/v4/http/unconfiguredInteraction.d.ts +6 -5
  204. package/src/v4/http/unconfiguredInteraction.js +31 -26
  205. package/src/v4/http/unconfiguredInteraction.js.map +1 -1
  206. package/src/v4/index.d.ts +4 -4
  207. package/src/v4/index.js +31 -35
  208. package/src/v4/index.js.map +1 -1
  209. package/src/v4/message/asynchronousMessage.d.ts +7 -6
  210. package/src/v4/message/asynchronousMessage.js +157 -190
  211. package/src/v4/message/asynchronousMessage.js.map +1 -1
  212. package/src/v4/message/index.d.ts +7 -6
  213. package/src/v4/message/index.js +188 -217
  214. package/src/v4/message/index.js.map +1 -1
  215. package/src/v4/message/types.d.ts +5 -3
  216. package/src/v4/types.d.ts +3 -3
@@ -32,89 +32,92 @@ var __importStar = (this && this.__importStar) || (function () {
32
32
  return result;
33
33
  };
34
34
  })();
35
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
36
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
37
- return new (P || (P = Promise))(function (resolve, reject) {
38
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
39
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
40
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
41
- step((generator = generator.apply(thisArg, _arguments || [])).next());
42
- });
43
- };
44
- var __generator = (this && this.__generator) || function (thisArg, body) {
45
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
46
- return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
47
- function verb(n) { return function (v) { return step([n, v]); }; }
48
- function step(op) {
49
- if (f) throw new TypeError("Generator is already executing.");
50
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
51
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
52
- if (y = 0, t) op = [op[0] & 2, t.value];
53
- switch (op[0]) {
54
- case 0: case 1: t = op; break;
55
- case 4: _.label++; return { value: op[1], done: false };
56
- case 5: _.label++; y = op[1]; op = [0]; continue;
57
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
58
- default:
59
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
60
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
61
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
62
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
63
- if (t[2]) _.ops.pop();
64
- _.trys.pop(); continue;
65
- }
66
- op = body.call(thisArg, _);
67
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
68
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
69
- }
70
- };
71
35
  var __importDefault = (this && this.__importDefault) || function (mod) {
72
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
73
37
  };
74
38
  Object.defineProperty(exports, "__esModule", { value: true });
75
- /* tslint:disable:no-unused-expression no-empty */
76
- var chai = __importStar(require("chai"));
77
- var chai_as_promised_1 = __importDefault(require("chai-as-promised"));
78
- var sinon_chai_1 = __importDefault(require("sinon-chai"));
79
- var axios_1 = __importDefault(require("axios"));
80
- var fs = require("fs");
81
- var net = require("net");
82
- var path = require("path");
83
- // eslint-disable-next-line import/first
84
- var v4_1 = require("./v4");
85
- var expect = chai.expect;
39
+ const chai = __importStar(require("chai"));
40
+ const chai_as_promised_1 = __importDefault(require("chai-as-promised"));
41
+ const sinon_chai_1 = __importDefault(require("sinon-chai"));
42
+ const axios_1 = __importDefault(require("axios"));
43
+ const fs = require("node:fs");
44
+ const net = require("node:net");
45
+ const path = require("node:path");
46
+ const v4_1 = require("./v4");
47
+ const v3_1 = require("./v3");
48
+ const { expect } = chai;
86
49
  chai.use(sinon_chai_1.default);
87
50
  chai.use(chai_as_promised_1.default);
88
- describe('V4 Pact', function () {
89
- var pact;
90
- var pactFilePath = path.resolve(process.cwd(), 'pacts', 'v4consumer-v4provider.json');
91
- var interactionByDescription = function (description) {
92
- var pactJson = JSON.parse(fs.readFileSync(pactFilePath, 'utf8'));
93
- var matches = pactJson.interactions.filter(function (item) { return item.description === description; });
94
- expect(matches, "expected exactly one interaction for \"".concat(description, "\"")).to.have.lengthOf(1);
95
- var interaction = matches[0];
51
+ describe('V4 Pact', () => {
52
+ let pact;
53
+ const pactFilePath = path.resolve(process.cwd(), 'pacts', 'v4consumer-v4provider.json');
54
+ const interactionByDescription = (description) => {
55
+ const pactJson = JSON.parse(fs.readFileSync(pactFilePath, 'utf8'));
56
+ const matches = pactJson.interactions.filter((item) => item.description === description);
57
+ expect(matches, `expected exactly one interaction for "${description}"`).to.have.lengthOf(1);
58
+ const [interaction] = matches;
96
59
  return interaction;
97
60
  };
98
- var expectCommentsToContain = function (interaction, reason, textComment, testName) {
99
- var comments = interaction.comments;
61
+ const expectCommentsToContain = (interaction, reason, textComment, testName) => {
62
+ const comments = interaction.comments;
100
63
  expect(comments.reason).to.equal(reason);
101
64
  expect(comments.text).to.include(textComment);
102
65
  expect(comments.testname).to.equal(testName);
103
66
  };
104
- beforeEach(function () {
67
+ const expectReferenceToEqual = (interaction, group, name, value) => {
68
+ const comments = interaction.comments;
69
+ const references = comments.references;
70
+ expect(references[group][name]).to.equal(value);
71
+ };
72
+ beforeEach(() => {
105
73
  pact = new v4_1.PactV4({
106
74
  consumer: 'v4consumer',
107
75
  provider: 'v4provider',
108
76
  });
109
77
  });
110
- describe('HTTP req/res contract', function () {
111
- it('generates a pact', function () {
112
- return pact
78
+ describe('HTTP req/res contract', () => {
79
+ it('generates a pact', () => pact
80
+ .addInteraction()
81
+ .given('some state')
82
+ .given('a second state')
83
+ .uponReceiving('a standard HTTP req/res')
84
+ .withRequest('POST', '/', (builder) => {
85
+ builder
86
+ .jsonBody({
87
+ foo: 'bar',
88
+ })
89
+ .headers({
90
+ 'x-foo': 'x-bar',
91
+ });
92
+ })
93
+ .willRespondWith(200, (builder) => {
94
+ builder
95
+ .jsonBody({
96
+ foo: 'bar',
97
+ })
98
+ .headers({
99
+ 'x-foo': 'x-bar',
100
+ });
101
+ })
102
+ .executeTest(async (server) => axios_1.default.post(server.url, {
103
+ foo: 'bar',
104
+ }, {
105
+ headers: {
106
+ 'x-foo': 'x-bar',
107
+ },
108
+ })));
109
+ it('generates a pact with interaction metadata', async () => {
110
+ const description = 'v4 metadata http req/res interaction';
111
+ await pact
113
112
  .addInteraction()
114
113
  .given('some state')
115
114
  .given('a second state')
116
- .uponReceiving('a standard HTTP req/res')
117
- .withRequest('POST', '/', function (builder) {
115
+ .uponReceiving(description)
116
+ .pending()
117
+ .comment({ key: 'reason', value: 'covered by HTTP metadata test' })
118
+ .comment('second note from HTTP metadata test')
119
+ .testName('http metadata test name')
120
+ .withRequest('POST', '/', (builder) => {
118
121
  builder
119
122
  .jsonBody({
120
123
  foo: 'bar',
@@ -123,7 +126,7 @@ describe('V4 Pact', function () {
123
126
  'x-foo': 'x-bar',
124
127
  });
125
128
  })
126
- .willRespondWith(200, function (builder) {
129
+ .willRespondWith(200, (builder) => {
127
130
  builder
128
131
  .jsonBody({
129
132
  foo: 'bar',
@@ -132,213 +135,200 @@ describe('V4 Pact', function () {
132
135
  'x-foo': 'x-bar',
133
136
  });
134
137
  })
135
- .executeTest(function (server) { return __awaiter(void 0, void 0, void 0, function () {
136
- return __generator(this, function (_a) {
137
- return [2 /*return*/, axios_1.default.post(server.url, {
138
- foo: 'bar',
139
- }, {
140
- headers: {
141
- 'x-foo': 'x-bar',
142
- },
143
- })];
144
- });
145
- }); });
138
+ .executeTest(async (server) => axios_1.default.post(server.url, {
139
+ foo: 'bar',
140
+ }, {
141
+ headers: {
142
+ 'x-foo': 'x-bar',
143
+ },
144
+ }));
145
+ const interaction = interactionByDescription(description);
146
+ expect(interaction.pending).to.equal(true);
147
+ expectCommentsToContain(interaction, 'covered by HTTP metadata test', 'second note from HTTP metadata test', 'http metadata test name');
148
+ });
149
+ it('records interaction references in the pact file', async () => {
150
+ const description = 'v4 http interaction with references';
151
+ await pact
152
+ .addInteraction()
153
+ .uponReceiving(description)
154
+ .reference('Jira', 'TICKET-123', 'https://jira.example.com/TICKET-123')
155
+ .withRequest('GET', '/')
156
+ .willRespondWith(200)
157
+ .executeTest(async (server) => axios_1.default.get(server.url));
158
+ const interaction = interactionByDescription(description);
159
+ expectReferenceToEqual(interaction, 'Jira', 'TICKET-123', 'https://jira.example.com/TICKET-123');
146
160
  });
147
- it('generates a pact with interaction metadata', function () { return __awaiter(void 0, void 0, void 0, function () {
148
- var description, interaction;
149
- return __generator(this, function (_a) {
150
- switch (_a.label) {
151
- case 0:
152
- description = 'v4 metadata http req/res interaction';
153
- return [4 /*yield*/, pact
154
- .addInteraction()
155
- .given('some state')
156
- .given('a second state')
157
- .uponReceiving(description)
158
- .pending()
159
- .comment({ key: 'reason', value: 'covered by HTTP metadata test' })
160
- .comment('second note from HTTP metadata test')
161
- .testName('http metadata test name')
162
- .withRequest('POST', '/', function (builder) {
163
- builder
164
- .jsonBody({
165
- foo: 'bar',
166
- })
167
- .headers({
168
- 'x-foo': 'x-bar',
169
- });
170
- })
171
- .willRespondWith(200, function (builder) {
172
- builder
173
- .jsonBody({
174
- foo: 'bar',
175
- })
176
- .headers({
177
- 'x-foo': 'x-bar',
178
- });
179
- })
180
- .executeTest(function (server) { return __awaiter(void 0, void 0, void 0, function () {
181
- return __generator(this, function (_a) {
182
- return [2 /*return*/, axios_1.default.post(server.url, {
183
- foo: 'bar',
184
- }, {
185
- headers: {
186
- 'x-foo': 'x-bar',
187
- },
188
- })];
189
- });
190
- }); })];
191
- case 1:
192
- _a.sent();
193
- interaction = interactionByDescription(description);
194
- expect(interaction.pending).to.equal(true);
195
- expectCommentsToContain(interaction, 'covered by HTTP metadata test', 'second note from HTTP metadata test', 'http metadata test name');
196
- return [2 /*return*/];
197
- }
161
+ it('supports regex matcher for response content-type with optional charset', () => pact
162
+ .addInteraction()
163
+ .uponReceiving('a response with regex content-type header matcher')
164
+ .withRequest('GET', '/')
165
+ .willRespondWith(200, (builder) => {
166
+ builder
167
+ .headers({
168
+ 'Content-Type': v3_1.MatchersV3.regex(/^application\/json(;\s?charset=[\w-]+)?$/i, 'application/json'),
169
+ })
170
+ .jsonBody({
171
+ foo: 'bar',
198
172
  });
199
- }); });
200
- });
201
- describe('Asynchronous message contract', function () {
202
- it('generates a pact with interaction metadata', function () { return __awaiter(void 0, void 0, void 0, function () {
203
- var description, interaction;
204
- return __generator(this, function (_a) {
205
- switch (_a.label) {
206
- case 0:
207
- description = 'v4 metadata async interaction message';
208
- return [4 /*yield*/, pact
209
- .addAsynchronousInteraction()
210
- .given('an async message state')
211
- .pending()
212
- .comment({ key: 'reason', value: 'covered by async metadata test' })
213
- .comment('second note from async metadata test')
214
- .testName('async metadata test name')
215
- .expectsToReceive(description, function (builder) {
216
- builder.withJSONContent({
217
- event: 'user.created',
218
- });
219
- })
220
- .executeTest(function () { return __awaiter(void 0, void 0, void 0, function () { return __generator(this, function (_a) {
221
- return [2 /*return*/, Promise.resolve()];
222
- }); }); })];
223
- case 1:
224
- _a.sent();
225
- interaction = interactionByDescription(description);
226
- expect(interaction.pending).to.equal(true);
227
- expectCommentsToContain(interaction, 'covered by async metadata test', 'second note from async metadata test', 'async metadata test name');
228
- return [2 /*return*/];
229
- }
173
+ })
174
+ .executeTest(async (server) => {
175
+ const response = await axios_1.default.get(server.url);
176
+ expect(response.data).to.deep.equal({ foo: 'bar' });
177
+ }));
178
+ it('supports regex matcher for request content-type with optional charset', () => pact
179
+ .addInteraction()
180
+ .uponReceiving('a request with regex content-type header matcher')
181
+ .withRequest('POST', '/', (builder) => {
182
+ builder
183
+ .headers({
184
+ 'Content-Type': v3_1.MatchersV3.regex(/^application\/json(;\s?charset=[\w-]+)?$/i, 'application/json'),
185
+ })
186
+ .jsonBody({
187
+ foo: 'bar',
230
188
  });
231
- }); });
232
- });
233
- describe('Synchronous message contract', function () {
234
- it('generates a pact with interaction metadata', function () { return __awaiter(void 0, void 0, void 0, function () {
235
- var description, interaction;
236
- return __generator(this, function (_a) {
237
- switch (_a.label) {
238
- case 0:
239
- description = 'v4 metadata sync interaction message';
240
- return [4 /*yield*/, pact
241
- .addSynchronousInteraction(description)
242
- .given('a synchronous message state')
243
- .pending()
244
- .comment({ key: 'reason', value: 'covered by sync metadata test' })
245
- .comment('second note from sync metadata test')
246
- .testName('sync metadata test name')
247
- .withRequest(function (builder) {
248
- builder.withJSONContent({
249
- request: 'ping',
250
- });
251
- })
252
- .withResponse(function (builder) {
253
- builder.withJSONContent({
254
- response: 'pong',
255
- });
256
- })
257
- .executeTest(function () { return __awaiter(void 0, void 0, void 0, function () { return __generator(this, function (_a) {
258
- return [2 /*return*/, Promise.resolve()];
259
- }); }); })];
260
- case 1:
261
- _a.sent();
262
- interaction = interactionByDescription(description);
263
- expect(interaction.pending).to.equal(true);
264
- expectCommentsToContain(interaction, 'covered by sync metadata test', 'second note from sync metadata test', 'sync metadata test name');
265
- return [2 /*return*/];
266
- }
189
+ })
190
+ .willRespondWith(200, (builder) => {
191
+ builder.jsonBody({
192
+ ok: true,
267
193
  });
268
- }); });
194
+ })
195
+ .executeTest((server) => axios_1.default.post(server.url, {
196
+ foo: 'bar',
197
+ })));
269
198
  });
270
- describe('Plugin test', function () {
271
- describe('Using the MATT plugin', function () {
272
- var parseMattMessage = function (raw) {
273
- return raw.replace(/(MATT)+/g, '').trim();
274
- };
275
- var generateMattMessage = function (raw) { return "MATT".concat(raw, "MATT"); };
276
- describe('HTTP interface', function () {
277
- it('generates a pact', function () { return __awaiter(void 0, void 0, void 0, function () {
278
- var mattRequest, mattResponse;
279
- return __generator(this, function (_a) {
280
- switch (_a.label) {
281
- case 0:
282
- mattRequest = "{\"request\": {\"body\": \"hello\"}}";
283
- mattResponse = "{\"response\":{\"body\":\"world\"}}";
284
- return [4 /*yield*/, pact
285
- .addInteraction()
286
- .given('the Matt protocol exists')
287
- .uponReceiving('an HTTP request to /matt')
288
- .usingPlugin({
289
- plugin: 'matt',
290
- version: '0.1.1',
291
- })
292
- .withRequest('POST', '/matt', function (builder) {
293
- builder.pluginContents('application/matt', mattRequest);
294
- })
295
- .willRespondWith(200, function (builder) {
296
- builder.pluginContents('application/matt', mattResponse);
297
- })
298
- .executeTest(function (mockserver) {
299
- return axios_1.default
300
- .request({
301
- baseURL: mockserver.url,
302
- headers: {
303
- 'content-type': 'application/matt',
304
- Accept: 'application/matt',
305
- },
306
- data: generateMattMessage('hello'),
307
- method: 'POST',
308
- url: '/matt',
309
- })
310
- .then(function (res) {
311
- expect(parseMattMessage(res.data)).to.eq('world');
312
- });
313
- })];
314
- case 1:
315
- _a.sent();
316
- return [2 /*return*/];
317
- }
318
- });
319
- }); });
199
+ describe('Asynchronous message contract', () => {
200
+ it('generates a pact with interaction metadata', async () => {
201
+ const description = 'v4 metadata async interaction message';
202
+ await pact
203
+ .addAsynchronousInteraction()
204
+ .given('an async message state')
205
+ .pending()
206
+ .comment({ key: 'reason', value: 'covered by async metadata test' })
207
+ .comment('second note from async metadata test')
208
+ .testName('async metadata test name')
209
+ .expectsToReceive(description, (builder) => {
210
+ builder.withJSONContent({
211
+ event: 'user.created',
212
+ });
213
+ })
214
+ .executeTest(async () => Promise.resolve());
215
+ const interaction = interactionByDescription(description);
216
+ expect(interaction.pending).to.equal(true);
217
+ expectCommentsToContain(interaction, 'covered by async metadata test', 'second note from async metadata test', 'async metadata test name');
218
+ });
219
+ it('records interaction references in the pact file', async () => {
220
+ const description = 'v4 async interaction with references';
221
+ await pact
222
+ .addAsynchronousInteraction()
223
+ .reference('GitHub', 'PR-456', 'https://github.com/example/repo/pull/456')
224
+ .expectsToReceive(description, (builder) => {
225
+ builder.withJSONContent({ event: 'user.created' });
226
+ })
227
+ .executeTest(async () => Promise.resolve());
228
+ const interaction = interactionByDescription(description);
229
+ expectReferenceToEqual(interaction, 'GitHub', 'PR-456', 'https://github.com/example/repo/pull/456');
230
+ });
231
+ });
232
+ describe('Synchronous message contract', () => {
233
+ it('generates a pact with interaction metadata', async () => {
234
+ const description = 'v4 metadata sync interaction message';
235
+ await pact
236
+ .addSynchronousInteraction(description)
237
+ .given('a synchronous message state')
238
+ .pending()
239
+ .comment({ key: 'reason', value: 'covered by sync metadata test' })
240
+ .comment('second note from sync metadata test')
241
+ .testName('sync metadata test name')
242
+ .withRequest((builder) => {
243
+ builder.withJSONContent({
244
+ request: 'ping',
245
+ });
246
+ })
247
+ .withResponse((builder) => {
248
+ builder.withJSONContent({
249
+ response: 'pong',
250
+ });
251
+ })
252
+ .executeTest(async () => Promise.resolve());
253
+ const interaction = interactionByDescription(description);
254
+ expect(interaction.pending).to.equal(true);
255
+ expectCommentsToContain(interaction, 'covered by sync metadata test', 'second note from sync metadata test', 'sync metadata test name');
256
+ });
257
+ it('records interaction references in the pact file', async () => {
258
+ const description = 'v4 sync interaction with references';
259
+ await pact
260
+ .addSynchronousInteraction(description)
261
+ .reference('Jira', 'TICKET-789', 'https://jira.example.com/TICKET-789')
262
+ .withRequest((builder) => {
263
+ builder.withJSONContent({ request: 'ping' });
264
+ })
265
+ .withResponse((builder) => {
266
+ builder.withJSONContent({ response: 'pong' });
267
+ })
268
+ .executeTest(async () => Promise.resolve());
269
+ const interaction = interactionByDescription(description);
270
+ expectReferenceToEqual(interaction, 'Jira', 'TICKET-789', 'https://jira.example.com/TICKET-789');
271
+ });
272
+ });
273
+ describe('Plugin test', () => {
274
+ describe('Using the MATT plugin', () => {
275
+ const parseMattMessage = (raw) => raw.replace(/(MATT)+/g, '').trim();
276
+ const generateMattMessage = (raw) => `MATT${raw}MATT`;
277
+ describe('HTTP interface', () => {
278
+ it('generates a pact', async () => {
279
+ const mattRequest = `{"request": {"body": "hello"}}`;
280
+ const mattResponse = `{"response":{"body":"world"}}`;
281
+ await pact
282
+ .addInteraction()
283
+ .given('the Matt protocol exists')
284
+ .uponReceiving('an HTTP request to /matt')
285
+ .usingPlugin({
286
+ plugin: 'matt',
287
+ version: '0.1.1',
288
+ })
289
+ .withRequest('POST', '/matt', (builder) => {
290
+ builder.pluginContents('application/matt', mattRequest);
291
+ })
292
+ .willRespondWith(200, (builder) => {
293
+ builder.pluginContents('application/matt', mattResponse);
294
+ })
295
+ .executeTest((mockserver) => axios_1.default
296
+ .request({
297
+ baseURL: mockserver.url,
298
+ headers: {
299
+ 'content-type': 'application/matt',
300
+ Accept: 'application/matt',
301
+ },
302
+ data: generateMattMessage('hello'),
303
+ method: 'POST',
304
+ url: '/matt',
305
+ })
306
+ .then((res) => {
307
+ expect(parseMattMessage(res.data)).to.eq('world');
308
+ }));
309
+ });
320
310
  });
321
- describe('Synchronous Message (TCP) ', function () {
322
- describe('with MATT protocol', function () {
323
- var HOST = '127.0.0.1';
324
- var sendMattMessageTCP = function (message, host, port) {
325
- var socket = net.connect({
326
- port: port,
327
- host: host,
311
+ describe('Synchronous Message (TCP) ', () => {
312
+ describe('with MATT protocol', () => {
313
+ const HOST = '127.0.0.1';
314
+ const sendMattMessageTCP = (message, host, port) => {
315
+ const socket = net.connect({
316
+ port,
317
+ host,
328
318
  });
329
- var res = socket.write("".concat(generateMattMessage(message), "\n"));
319
+ const res = socket.write(`${generateMattMessage(message)}\n`);
330
320
  if (!res) {
331
321
  throw Error('unable to connect to host');
332
322
  }
333
- return new Promise(function (resolve) {
334
- socket.on('data', function (data) {
323
+ return new Promise((resolve) => {
324
+ socket.on('data', (data) => {
335
325
  resolve(parseMattMessage(data.toString()));
336
326
  socket.destroy();
337
327
  });
338
328
  });
339
329
  };
340
- it('generates a pact', function () {
341
- var mattMessage = "{\"request\": {\"body\": \"hellotcp\"}, \"response\":{\"body\":\"tcpworld\"}}";
330
+ it('generates a pact', () => {
331
+ const mattMessage = `{"request": {"body": "hellotcp"}, "response":{"body":"tcpworld"}}`;
342
332
  return pact
343
333
  .addSynchronousInteraction('a MATT message')
344
334
  .usingPlugin({
@@ -347,18 +337,10 @@ describe('V4 Pact', function () {
347
337
  })
348
338
  .withPluginContents(mattMessage, 'application/matt')
349
339
  .startTransport('matt', HOST)
350
- .executeTest(function (tc) { return __awaiter(void 0, void 0, void 0, function () {
351
- var message;
352
- return __generator(this, function (_a) {
353
- switch (_a.label) {
354
- case 0: return [4 /*yield*/, sendMattMessageTCP('hellotcp', HOST, tc.port)];
355
- case 1:
356
- message = _a.sent();
357
- expect(message).to.eq('tcpworld');
358
- return [2 /*return*/];
359
- }
360
- });
361
- }); });
340
+ .executeTest(async (tc) => {
341
+ const message = await sendMattMessageTCP('hellotcp', HOST, tc.port);
342
+ expect(message).to.eq('tcpworld');
343
+ });
362
344
  });
363
345
  });
364
346
  });
@@ -1 +1 @@
1
- {"version":3,"file":"pact.integration.spec.js","sourceRoot":"","sources":["../../src/pact.integration.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pact.integration.spec.js","sourceRoot":"","sources":["../../src/pact.integration.spec.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { Mismatch, MatchingResult, RequestMismatch } from '@pact-foundation/pact-core';
1
+ import type { Mismatch, MatchingResult, RequestMismatch } from '@pact-foundation/pact-core';
2
2
  export declare function displayQuery(query: Record<string, string[]>): string;
3
3
  export declare function displayRequest(request: RequestMismatch, indent?: string): string;
4
4
  export declare function filterMissingFeatureFlag(mismatches: MatchingResult[]): MatchingResult[];