@pact-foundation/pact 10.1.0 → 10.1.3

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 CHANGED
@@ -2,6 +2,28 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
4
4
 
5
+ ### [10.1.3](https://github.com/pact-foundation/pact-js/compare/v10.1.2...v10.1.3) (2022-09-06)
6
+
7
+
8
+ ### Fixes and Improvements
9
+
10
+ * PactV4 error handling logic ([78ff0bf](https://github.com/pact-foundation/pact-js/commit/78ff0bf64f45c1de95e34a7f401d97068775b668))
11
+
12
+ ### [10.1.2](https://github.com/pact-foundation/pact-js/compare/v10.1.1...v10.1.2) (2022-08-20)
13
+
14
+
15
+ ### Fixes and Improvements
16
+
17
+ * binary matching via latest pact-core ([887b312](https://github.com/pact-foundation/pact-js/commit/887b3125acceffd3bafe9db141b9661709a3244a))
18
+ * binary matching via latest pact-core ([c201eca](https://github.com/pact-foundation/pact-js/commit/c201eca72ef140af3d5800ec811a19ff4e320077))
19
+
20
+ ### [10.1.1](https://github.com/pact-foundation/pact-js/compare/v10.1.0...v10.1.1) (2022-08-14)
21
+
22
+
23
+ ### Fixes and Improvements
24
+
25
+ * print errors if fn passed to executeTest throws ([8cfc8c7](https://github.com/pact-foundation/pact-js/commit/8cfc8c788a5e394d11b19aad405e42d80a09d8bc))
26
+
5
27
  ## [10.1.0](https://github.com/pact-foundation/pact-js/compare/v10.0.2...v10.1.0) (2022-08-11)
6
28
 
7
29
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pact-foundation/pact",
3
- "version": "10.1.0",
3
+ "version": "10.1.3",
4
4
  "description": "Pact for all things Javascript",
5
5
  "main": "./src/index.js",
6
6
  "types": "./src/index.d.ts",
@@ -94,7 +94,7 @@
94
94
  ]
95
95
  },
96
96
  "dependencies": {
97
- "@pact-foundation/pact-core": "^13.6.2",
97
+ "@pact-foundation/pact-core": "^13.7.8",
98
98
  "@types/bluebird": "^3.5.20",
99
99
  "@types/express": "^4.17.11",
100
100
  "axios": "^0.27.2",
package/src/v3/pact.js CHANGED
@@ -35,6 +35,9 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
35
35
  if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
36
  }
37
37
  };
38
+ var __importDefault = (this && this.__importDefault) || function (mod) {
39
+ return (mod && mod.__esModule) ? mod : { "default": mod };
40
+ };
38
41
  Object.defineProperty(exports, "__esModule", { value: true });
39
42
  exports.PactV3 = void 0;
40
43
  /* eslint-disable import/first */
@@ -46,6 +49,7 @@ var package_json_1 = require("../../package.json");
46
49
  var types_1 = require("./types");
47
50
  var matchers_1 = require("./matchers");
48
51
  var display_1 = require("./display");
52
+ var logger_1 = __importDefault(require("../common/logger"));
49
53
  var readBinaryData = function (file) {
50
54
  try {
51
55
  var body = fs.readFileSync(file);
@@ -149,7 +153,7 @@ var PactV3 = /** @class */ (function () {
149
153
  };
150
154
  PactV3.prototype.executeTest = function (testFn) {
151
155
  return __awaiter(this, void 0, void 0, function () {
152
- var scheme, host, port, server, val, e_1, matchingResults, success, error;
156
+ var scheme, host, port, server, val, error, e_1, matchingResults, errors, success, errorMessage;
153
157
  return __generator(this, function (_a) {
154
158
  switch (_a.label) {
155
159
  case 0:
@@ -166,18 +170,34 @@ var PactV3 = /** @class */ (function () {
166
170
  return [3 /*break*/, 4];
167
171
  case 3:
168
172
  e_1 = _a.sent();
169
- this.cleanup(false, server);
170
- throw e_1;
173
+ error = e_1;
174
+ return [3 /*break*/, 4];
171
175
  case 4:
172
176
  matchingResults = this.pact.mockServerMismatches(port);
177
+ errors = (0, display_1.filterMissingFeatureFlag)(matchingResults);
173
178
  success = this.pact.mockServerMatchedSuccessfully(port);
174
- // Feature flag: allow missing requests on the mock service
175
- if (!success && (0, display_1.filterMissingFeatureFlag)(matchingResults).length > 0) {
176
- error = 'Test failed for the following reasons:';
177
- error += "\n\n ".concat((0, display_1.generateMockServerError)(matchingResults, '\t'));
179
+ // Scenario: Pact validation failed
180
+ if (!success && errors.length > 0) {
181
+ errorMessage = 'Test failed for the following reasons:';
182
+ errorMessage += "\n\n ".concat((0, display_1.generateMockServerError)(matchingResults, '\t'));
183
+ this.cleanup(false, server);
184
+ // If the tests throws an error, we need to rethrow the error, but print out
185
+ // any additional mock server errors to help the user understand what happened
186
+ // (The proximate cause here is often the HTTP 500 from the mock server,
187
+ // where the HTTP client then throws)
188
+ if (error) {
189
+ logger_1.default.error(errorMessage);
190
+ throw error;
191
+ }
192
+ // Test didn't throw, so we need to ensure the test fails
193
+ return [2 /*return*/, Promise.reject(new Error(errorMessage))];
194
+ }
195
+ // Scenario: test threw an error, but Pact validation was OK (error in client or test)
196
+ if (error) {
178
197
  this.cleanup(false, server);
179
- return [2 /*return*/, Promise.reject(new Error(error))];
198
+ throw error;
180
199
  }
200
+ // Scenario: Pact validation passed, test didn't throw - return the callback value
181
201
  this.cleanup(true, server);
182
202
  return [2 /*return*/, val];
183
203
  }
@@ -1 +1 @@
1
- {"version":3,"file":"pact.js","sourceRoot":"","sources":["../../../src/v3/pact.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pact.js","sourceRoot":"","sources":["../../../src/v3/pact.ts"],"names":[],"mappings":"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"}