@pact-foundation/pact 13.1.4 → 13.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 CHANGED
@@ -2,6 +2,22 @@
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
+ ## [13.2.0](https://github.com/pact-foundation/pact-js/compare/v13.1.5...v13.2.0) (2024-11-21)
6
+
7
+
8
+ ### Features
9
+
10
+ * replace cli-color with chalk - sonatype-2022-2248 ([2ad5e48](https://github.com/pact-foundation/pact-js/commit/2ad5e489006fac17579e54e3071efc416ed9a1cc))
11
+
12
+ ### [13.1.5](https://github.com/pact-foundation/pact-js/compare/v13.1.4...v13.1.5) (2024-11-14)
13
+
14
+
15
+ ### Fixes and Improvements
16
+
17
+ * allow hooks to run only once per interaction ([#1243](https://github.com/pact-foundation/pact-js/issues/1243)) ([b238fd0](https://github.com/pact-foundation/pact-js/commit/b238fd040031107cdd700e4ff43ab18dedf69859))
18
+ * package.json & package-lock.json to reduce vulnerabilities ([99e101c](https://github.com/pact-foundation/pact-js/commit/99e101c3eebadab146c526770440f0d1df177195))
19
+ * replace basic auth pact broker with bearer token ([0c1af06](https://github.com/pact-foundation/pact-js/commit/0c1af06f664f73e9014b23dc6d58e97efebdfb7d))
20
+
5
21
  ### [13.1.4](https://github.com/pact-foundation/pact-js/compare/v13.1.3...v13.1.4) (2024-10-08)
6
22
 
7
23
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pact-foundation/pact",
3
- "version": "13.1.4",
3
+ "version": "13.2.0",
4
4
  "description": "Pact for all things Javascript",
5
5
  "main": "./src/index.js",
6
6
  "types": "./src/index.d.ts",
@@ -21,10 +21,10 @@
21
21
  "pretest": "bash scripts/install-plugins.sh",
22
22
  "docker:alpine:build": "docker build --build-arg NODE_VERSION=${NODE_VERSION:-current} -f Dockerfile.alpine -t pact-js:alpine .",
23
23
  "docker:debian:build": "docker build --build-arg NODE_VERSION=${NODE_VERSION:-current} -f Dockerfile.debian -t pact-js:debian .",
24
- "docker:alpine:run": "docker run -e LOG_LEVEL=${LOG_LEVEL:-info} -e GIT_REF=${GIT_REF:-test} -e GITHUB_ACTIONS=${GITHUB_ACTIONS:-false} -e SKIP_EXAMPLES=${SKIP_EXAMPLES:-''} -w /home -v $(pwd):/home --rm pact-js:alpine",
25
- "docker:debian:run": "docker run -e LOG_LEVEL=${LOG_LEVEL:-info} -e GIT_REF=${GIT_REF:-test} -e GITHUB_ACTIONS=${GITHUB_ACTIONS:-false} -e SKIP_EXAMPLES=${SKIP_EXAMPLES:-''} -w /home -v $(pwd):/home --rm pact-js:debian",
26
- "docker:alpine:attach": "docker run -w /home -v $(pwd):/home --entrypoint /bin/bash --rm -it pact-js:alpine",
27
- "docker:debian:attach": "docker run -w /home -v $(pwd):/home --entrypoint /bin/bash --rm -it pact-js:debian"
24
+ "docker:alpine:run": "docker run -e LOG_LEVEL=${LOG_LEVEL:-info} -e GIT_REF=${GIT_REF:-test} -e GITHUB_ACTIONS=${GITHUB_ACTIONS:-false} -e SKIP_EXAMPLES=${SKIP_EXAMPLES:-''} -e PACT_BROKER_BASE_URL -e PACT_BROKER_TOKEN -w /home -v $(pwd):/home --rm pact-js:alpine",
25
+ "docker:debian:run": "docker run -e LOG_LEVEL=${LOG_LEVEL:-info} -e GIT_REF=${GIT_REF:-test} -e GITHUB_ACTIONS=${GITHUB_ACTIONS:-false} -e SKIP_EXAMPLES=${SKIP_EXAMPLES:-''} -e PACT_BROKER_BASE_URL -e PACT_BROKER_TOKEN -w /home -v $(pwd):/home --rm pact-js:debian",
26
+ "docker:alpine:attach": "docker run -e PACT_BROKER_BASE_URL -e PACT_BROKER_TOKEN -w /home -v $(pwd):/home --entrypoint /bin/bash --rm -it pact-js:alpine",
27
+ "docker:debian:attach": "docker run -e PACT_BROKER_BASE_URL -e PACT_BROKER_TOKEN -w /home -v $(pwd):/home --entrypoint /bin/bash --rm -it pact-js:debian"
28
28
  },
29
29
  "repository": {
30
30
  "type": "git",
@@ -105,8 +105,8 @@
105
105
  "@types/express": "^4.17.11",
106
106
  "axios": "^1.7.4",
107
107
  "body-parser": "^1.20.3",
108
- "cli-color": "^2.0.1",
109
- "express": "^4.21.0",
108
+ "chalk": "4.1.2",
109
+ "express": "^4.21.1",
110
110
  "graphql": "^14.0.0",
111
111
  "graphql-tag": "^2.9.1",
112
112
  "http-proxy": "^1.18.1",
@@ -128,7 +128,6 @@
128
128
  "@pact-foundation/pact-js-prettier-config": "^1.0.0",
129
129
  "@types/chai": "^4.3.1",
130
130
  "@types/chai-as-promised": "^7.1.1",
131
- "@types/cli-color": "^0.3.29",
132
131
  "@types/http-proxy": "^1.17.9",
133
132
  "@types/lodash": "^4.14.182",
134
133
  "@types/lodash.isnil": "^4.0.7",
@@ -13,9 +13,6 @@ cp package.json ./dist
13
13
 
14
14
  export GIT_BRANCH=${GITHUB_HEAD_REF:-${GIT_REF#refs/heads/}}
15
15
 
16
- export PACT_BROKER_USERNAME="dXfltyFMgNOFZAxr8io9wJ37iUpY42M"
17
- export PACT_BROKER_PASSWORD="O5AIZWxelWbLvqMd8PkAVycBJh2Psyg1"
18
-
19
16
  "${SCRIPT_DIR}"/lib/prepare-release.sh
20
17
 
21
18
  echo "--> Running coverage checks"
@@ -1,4 +1,14 @@
1
- import express from 'express';
2
- import { ProxyOptions } from './types';
3
- export declare const registerBeforeHook: (app: express.Express, config: ProxyOptions, stateSetupPath: string) => void;
4
- export declare const registerAfterHook: (app: express.Express, config: ProxyOptions, stateSetupPath: string) => void;
1
+ /**
2
+ * These handlers assume that the number of "setup" and "teardown" requests to
3
+ * `/_pactSetup` are always sequential and balanced, i.e. if 3 "setup" actions
4
+ * are received prior to an interaction being executed, then 3 "teardown"
5
+ * actions will be received after that interaction has ended.
6
+ */
7
+ import { RequestHandler } from 'express';
8
+ import { Hook } from './types';
9
+ export type HooksState = {
10
+ setupCounter: number;
11
+ };
12
+ export declare const registerHookStateTracking: (hooksState: HooksState) => RequestHandler;
13
+ export declare const registerBeforeHook: (beforeEach: Hook, hooksState: HooksState) => RequestHandler;
14
+ export declare const registerAfterHook: (afterEach: Hook, hooksState: HooksState) => RequestHandler;
@@ -39,74 +39,93 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
39
39
  return (mod && mod.__esModule) ? mod : { "default": mod };
40
40
  };
41
41
  Object.defineProperty(exports, "__esModule", { value: true });
42
- exports.registerAfterHook = exports.registerBeforeHook = void 0;
42
+ exports.registerAfterHook = exports.registerBeforeHook = exports.registerHookStateTracking = void 0;
43
43
  var logger_1 = __importDefault(require("../../../common/logger"));
44
- var registerBeforeHook = function (app, config, stateSetupPath) {
45
- if (config.beforeEach)
46
- logger_1.default.trace("registered 'beforeEach' hook");
47
- app.use(function (req, res, next) { return __awaiter(void 0, void 0, void 0, function () {
48
- var e_1;
49
- return __generator(this, function (_a) {
50
- switch (_a.label) {
51
- case 0:
52
- if (!(req.path === stateSetupPath && config.beforeEach)) return [3 /*break*/, 5];
53
- logger_1.default.debug("executing 'beforeEach' hook");
54
- _a.label = 1;
55
- case 1:
56
- _a.trys.push([1, 3, , 4]);
57
- return [4 /*yield*/, config.beforeEach()];
58
- case 2:
59
- _a.sent();
60
- next();
61
- return [3 /*break*/, 4];
62
- case 3:
63
- e_1 = _a.sent();
64
- logger_1.default.error("error executing 'beforeEach' hook: ".concat(e_1.message));
65
- logger_1.default.debug("Stack trace was: ".concat(e_1.stack));
66
- next(new Error("error executing 'beforeEach' hook: ".concat(e_1.message)));
67
- return [3 /*break*/, 4];
68
- case 4: return [3 /*break*/, 6];
69
- case 5:
70
- next();
71
- _a.label = 6;
72
- case 6: return [2 /*return*/];
73
- }
44
+ var registerHookStateTracking = function (hooksState) {
45
+ return function (_a, res, next) {
46
+ var body = _a.body;
47
+ return __awaiter(void 0, void 0, void 0, function () {
48
+ return __generator(this, function (_b) {
49
+ if ((body === null || body === void 0 ? void 0 : body.action) === 'setup')
50
+ hooksState.setupCounter += 1;
51
+ if ((body === null || body === void 0 ? void 0 : body.action) === 'teardown')
52
+ hooksState.setupCounter -= 1;
53
+ logger_1.default.debug("hooks state counter is ".concat(hooksState.setupCounter, " after receiving \"").concat(body === null || body === void 0 ? void 0 : body.action, "\" action"));
54
+ next();
55
+ return [2 /*return*/];
56
+ });
57
+ });
58
+ };
59
+ };
60
+ exports.registerHookStateTracking = registerHookStateTracking;
61
+ var registerBeforeHook = function (beforeEach, hooksState) {
62
+ return function (_a, res, next) {
63
+ var body = _a.body;
64
+ return __awaiter(void 0, void 0, void 0, function () {
65
+ var e_1;
66
+ return __generator(this, function (_b) {
67
+ switch (_b.label) {
68
+ case 0:
69
+ if (!((body === null || body === void 0 ? void 0 : body.action) === 'setup' && hooksState.setupCounter === 1)) return [3 /*break*/, 5];
70
+ logger_1.default.debug("executing 'beforeEach' hook");
71
+ _b.label = 1;
72
+ case 1:
73
+ _b.trys.push([1, 3, , 4]);
74
+ return [4 /*yield*/, beforeEach()];
75
+ case 2:
76
+ _b.sent();
77
+ next();
78
+ return [3 /*break*/, 4];
79
+ case 3:
80
+ e_1 = _b.sent();
81
+ logger_1.default.error("error executing 'beforeEach' hook: ".concat(e_1.message));
82
+ logger_1.default.debug("Stack trace was: ".concat(e_1.stack));
83
+ next(new Error("error executing 'beforeEach' hook: ".concat(e_1.message)));
84
+ return [3 /*break*/, 4];
85
+ case 4: return [3 /*break*/, 6];
86
+ case 5:
87
+ next();
88
+ _b.label = 6;
89
+ case 6: return [2 /*return*/];
90
+ }
91
+ });
74
92
  });
75
- }); });
93
+ };
76
94
  };
77
95
  exports.registerBeforeHook = registerBeforeHook;
78
- var registerAfterHook = function (app, config, stateSetupPath) {
79
- if (config.afterEach)
80
- logger_1.default.trace("registered 'afterEach' hook");
81
- app.use(function (req, res, next) { return __awaiter(void 0, void 0, void 0, function () {
82
- var e_2;
83
- return __generator(this, function (_a) {
84
- switch (_a.label) {
85
- case 0:
86
- if (!(req.path !== stateSetupPath && config.afterEach)) return [3 /*break*/, 5];
87
- logger_1.default.debug("executing 'afterEach' hook");
88
- _a.label = 1;
89
- case 1:
90
- _a.trys.push([1, 3, , 4]);
91
- return [4 /*yield*/, config.afterEach()];
92
- case 2:
93
- _a.sent();
94
- next();
95
- return [3 /*break*/, 4];
96
- case 3:
97
- e_2 = _a.sent();
98
- logger_1.default.error("error executing 'afterEach' hook: ".concat(e_2.message));
99
- logger_1.default.debug("Stack trace was: ".concat(e_2.stack));
100
- next(new Error("error executing 'afterEach' hook: ".concat(e_2.message)));
101
- return [3 /*break*/, 4];
102
- case 4: return [3 /*break*/, 6];
103
- case 5:
104
- next();
105
- _a.label = 6;
106
- case 6: return [2 /*return*/];
107
- }
96
+ var registerAfterHook = function (afterEach, hooksState) {
97
+ return function (_a, res, next) {
98
+ var body = _a.body;
99
+ return __awaiter(void 0, void 0, void 0, function () {
100
+ var e_2;
101
+ return __generator(this, function (_b) {
102
+ switch (_b.label) {
103
+ case 0:
104
+ if (!((body === null || body === void 0 ? void 0 : body.action) === 'teardown' && hooksState.setupCounter === 0)) return [3 /*break*/, 5];
105
+ logger_1.default.debug("executing 'afterEach' hook");
106
+ _b.label = 1;
107
+ case 1:
108
+ _b.trys.push([1, 3, , 4]);
109
+ return [4 /*yield*/, afterEach()];
110
+ case 2:
111
+ _b.sent();
112
+ next();
113
+ return [3 /*break*/, 4];
114
+ case 3:
115
+ e_2 = _b.sent();
116
+ logger_1.default.error("error executing 'afterEach' hook: ".concat(e_2.message));
117
+ logger_1.default.debug("Stack trace was: ".concat(e_2.stack));
118
+ next(new Error("error executing 'afterEach' hook: ".concat(e_2.message)));
119
+ return [3 /*break*/, 4];
120
+ case 4: return [3 /*break*/, 6];
121
+ case 5:
122
+ next();
123
+ _b.label = 6;
124
+ case 6: return [2 /*return*/];
125
+ }
126
+ });
108
127
  });
109
- }); });
128
+ };
110
129
  };
111
130
  exports.registerAfterHook = registerAfterHook;
112
131
  //# sourceMappingURL=hooks.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../../../../src/dsl/verifier/proxy/hooks.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,kEAA4C;AAGrC,IAAM,kBAAkB,GAAG,UAChC,GAAoB,EACpB,MAAoB,EACpB,cAAsB;IAEtB,IAAI,MAAM,CAAC,UAAU;QAAE,gBAAM,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;IACpE,GAAG,CAAC,GAAG,CAAC,UAAO,GAAG,EAAE,GAAG,EAAE,IAAI;;;;;yBACvB,CAAA,GAAG,CAAC,IAAI,KAAK,cAAc,IAAI,MAAM,CAAC,UAAU,CAAA,EAAhD,wBAAgD;oBAClD,gBAAM,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;;;;oBAE1C,qBAAM,MAAM,CAAC,UAAU,EAAE,EAAA;;oBAAzB,SAAyB,CAAC;oBAC1B,IAAI,EAAE,CAAC;;;;oBAEP,gBAAM,CAAC,KAAK,CAAC,6CAAsC,GAAC,CAAC,OAAO,CAAE,CAAC,CAAC;oBAChE,gBAAM,CAAC,KAAK,CAAC,2BAAoB,GAAC,CAAC,KAAK,CAAE,CAAC,CAAC;oBAC5C,IAAI,CAAC,IAAI,KAAK,CAAC,6CAAsC,GAAC,CAAC,OAAO,CAAE,CAAC,CAAC,CAAC;;;;oBAGrE,IAAI,EAAE,CAAC;;;;;SAEV,CAAC,CAAC;AACL,CAAC,CAAC;AArBW,QAAA,kBAAkB,sBAqB7B;AAEK,IAAM,iBAAiB,GAAG,UAC/B,GAAoB,EACpB,MAAoB,EACpB,cAAsB;IAEtB,IAAI,MAAM,CAAC,SAAS;QAAE,gBAAM,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;IAClE,GAAG,CAAC,GAAG,CAAC,UAAO,GAAG,EAAE,GAAG,EAAE,IAAI;;;;;yBACvB,CAAA,GAAG,CAAC,IAAI,KAAK,cAAc,IAAI,MAAM,CAAC,SAAS,CAAA,EAA/C,wBAA+C;oBACjD,gBAAM,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;;;;oBAEzC,qBAAM,MAAM,CAAC,SAAS,EAAE,EAAA;;oBAAxB,SAAwB,CAAC;oBACzB,IAAI,EAAE,CAAC;;;;oBAEP,gBAAM,CAAC,KAAK,CAAC,4CAAqC,GAAC,CAAC,OAAO,CAAE,CAAC,CAAC;oBAC/D,gBAAM,CAAC,KAAK,CAAC,2BAAoB,GAAC,CAAC,KAAK,CAAE,CAAC,CAAC;oBAC5C,IAAI,CAAC,IAAI,KAAK,CAAC,4CAAqC,GAAC,CAAC,OAAO,CAAE,CAAC,CAAC,CAAC;;;;oBAGpE,IAAI,EAAE,CAAC;;;;;SAEV,CAAC,CAAC;AACL,CAAC,CAAC;AArBW,QAAA,iBAAiB,qBAqB5B"}
1
+ {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../../../../src/dsl/verifier/proxy/hooks.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,kEAA4C;AAOrC,IAAM,yBAAyB,GACpC,UAAC,UAAsB;IACvB,OAAA,UAAO,EAAQ,EAAE,GAAG,EAAE,IAAI;YAAjB,IAAI,UAAA;;;gBACX,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,MAAK,OAAO;oBAAE,UAAU,CAAC,YAAY,IAAI,CAAC,CAAC;gBAC3D,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,MAAK,UAAU;oBAAE,UAAU,CAAC,YAAY,IAAI,CAAC,CAAC;gBAE9D,gBAAM,CAAC,KAAK,CACV,iCAA0B,UAAU,CAAC,YAAY,gCAAqB,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,cAAU,CAC7F,CAAC;gBAEF,IAAI,EAAE,CAAC;;;;KACR;AATD,CASC,CAAC;AAXS,QAAA,yBAAyB,6BAWlC;AAEG,IAAM,kBAAkB,GAC7B,UAAC,UAAgB,EAAE,UAAsB;IACzC,OAAA,UAAO,EAAQ,EAAE,GAAG,EAAE,IAAI;YAAjB,IAAI,UAAA;;;;;;6BACP,CAAA,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,MAAK,OAAO,IAAI,UAAU,CAAC,YAAY,KAAK,CAAC,CAAA,EAAzD,wBAAyD;wBAC3D,gBAAM,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;;;;wBAE1C,qBAAM,UAAU,EAAE,EAAA;;wBAAlB,SAAkB,CAAC;wBACnB,IAAI,EAAE,CAAC;;;;wBAEP,gBAAM,CAAC,KAAK,CAAC,6CAAsC,GAAC,CAAC,OAAO,CAAE,CAAC,CAAC;wBAChE,gBAAM,CAAC,KAAK,CAAC,2BAAoB,GAAC,CAAC,KAAK,CAAE,CAAC,CAAC;wBAC5C,IAAI,CAAC,IAAI,KAAK,CAAC,6CAAsC,GAAC,CAAC,OAAO,CAAE,CAAC,CAAC,CAAC;;;;wBAGrE,IAAI,EAAE,CAAC;;;;;;KAEV;AAdD,CAcC,CAAC;AAhBS,QAAA,kBAAkB,sBAgB3B;AAEG,IAAM,iBAAiB,GAC5B,UAAC,SAAe,EAAE,UAAsB;IACxC,OAAA,UAAO,EAAQ,EAAE,GAAG,EAAE,IAAI;YAAjB,IAAI,UAAA;;;;;;6BACP,CAAA,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,MAAK,UAAU,IAAI,UAAU,CAAC,YAAY,KAAK,CAAC,CAAA,EAA5D,wBAA4D;wBAC9D,gBAAM,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;;;;wBAEzC,qBAAM,SAAS,EAAE,EAAA;;wBAAjB,SAAiB,CAAC;wBAClB,IAAI,EAAE,CAAC;;;;wBAEP,gBAAM,CAAC,KAAK,CAAC,4CAAqC,GAAC,CAAC,OAAO,CAAE,CAAC,CAAC;wBAC/D,gBAAM,CAAC,KAAK,CAAC,2BAAoB,GAAC,CAAC,KAAK,CAAE,CAAC,CAAC;wBAC5C,IAAI,CAAC,IAAI,KAAK,CAAC,4CAAqC,GAAC,CAAC,OAAO,CAAE,CAAC,CAAC,CAAC;;;;wBAGpE,IAAI,EAAE,CAAC;;;;;;KAEV;AAdD,CAcC,CAAC;AAhBS,QAAA,iBAAiB,qBAgB1B"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,214 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
+ 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;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ var chai_1 = require("chai");
40
+ var sinon_1 = require("sinon");
41
+ var hooks_1 = require("./hooks");
42
+ // This mimics the proxy setup (src/dsl/verifier/proxy/proxy.ts), whereby the
43
+ // state handling middleware is run regardless of whether a hook is registered
44
+ // or not.
45
+ var doRequest = function (action, hooksState, hookHandler) { return __awaiter(void 0, void 0, void 0, function () {
46
+ var hooksStateHandler, hookRequestHandler, request;
47
+ return __generator(this, function (_a) {
48
+ hooksStateHandler = (0, hooks_1.registerHookStateTracking)(hooksState);
49
+ hookRequestHandler = hookHandler || (function (req, res, next) { return next(); });
50
+ request = {
51
+ body: {
52
+ action: action,
53
+ },
54
+ };
55
+ return [2 /*return*/, new Promise(function (resolve) {
56
+ hooksStateHandler(request, null, function () {
57
+ hookRequestHandler(request, null, resolve);
58
+ });
59
+ })];
60
+ });
61
+ }); };
62
+ describe('Verifier', function () {
63
+ describe('#registerBeforeHook', function () {
64
+ describe('when the state setup routine is called multiple times before the next teardown', function () {
65
+ it('it executes the beforeEach hook only once', function () { return __awaiter(void 0, void 0, void 0, function () {
66
+ var hooksState, hook, hookHandler;
67
+ return __generator(this, function (_a) {
68
+ switch (_a.label) {
69
+ case 0:
70
+ hooksState = { setupCounter: 0 };
71
+ hook = (0, sinon_1.stub)().resolves();
72
+ hookHandler = (0, hooks_1.registerBeforeHook)(hook, hooksState);
73
+ return [4 /*yield*/, doRequest('setup', hooksState, hookHandler)];
74
+ case 1:
75
+ _a.sent();
76
+ return [4 /*yield*/, doRequest('setup', hooksState, hookHandler)];
77
+ case 2:
78
+ _a.sent();
79
+ return [4 /*yield*/, doRequest('teardown', hooksState)];
80
+ case 3:
81
+ _a.sent();
82
+ return [4 /*yield*/, doRequest('teardown', hooksState)];
83
+ case 4:
84
+ _a.sent();
85
+ (0, chai_1.expect)(hook).to.be.calledOnce;
86
+ return [2 /*return*/];
87
+ }
88
+ });
89
+ }); });
90
+ });
91
+ });
92
+ describe('#registerAfterHook', function () {
93
+ describe('when the state teardown routine is called multiple times before the next setup', function () {
94
+ it('it executes the afterEach hook only once', function () { return __awaiter(void 0, void 0, void 0, function () {
95
+ var hooksState, hook, hookHandler;
96
+ return __generator(this, function (_a) {
97
+ switch (_a.label) {
98
+ case 0:
99
+ hooksState = { setupCounter: 0 };
100
+ hook = (0, sinon_1.stub)().resolves();
101
+ hookHandler = (0, hooks_1.registerAfterHook)(hook, hooksState);
102
+ return [4 /*yield*/, doRequest('setup', hooksState)];
103
+ case 1:
104
+ _a.sent();
105
+ return [4 /*yield*/, doRequest('setup', hooksState)];
106
+ case 2:
107
+ _a.sent();
108
+ return [4 /*yield*/, doRequest('teardown', hooksState, hookHandler)];
109
+ case 3:
110
+ _a.sent();
111
+ return [4 /*yield*/, doRequest('teardown', hooksState, hookHandler)];
112
+ case 4:
113
+ _a.sent();
114
+ (0, chai_1.expect)(hook).to.be.calledOnce;
115
+ return [2 /*return*/];
116
+ }
117
+ });
118
+ }); });
119
+ });
120
+ });
121
+ describe('#registerBeforeHook and #registerAfterHook', function () {
122
+ describe('when the state teardown routine is called multiple times before the next setup', function () {
123
+ it('it executes the beforeEach and afterEach hooks only once', function () { return __awaiter(void 0, void 0, void 0, function () {
124
+ var hooksState, beforeHook, afterHook, beforeHookHandler, afterHookHandler;
125
+ return __generator(this, function (_a) {
126
+ switch (_a.label) {
127
+ case 0:
128
+ hooksState = { setupCounter: 0 };
129
+ beforeHook = (0, sinon_1.stub)().resolves();
130
+ afterHook = (0, sinon_1.stub)().resolves();
131
+ beforeHookHandler = (0, hooks_1.registerBeforeHook)(beforeHook, hooksState);
132
+ afterHookHandler = (0, hooks_1.registerAfterHook)(afterHook, hooksState);
133
+ return [4 /*yield*/, doRequest('setup', hooksState, beforeHookHandler)];
134
+ case 1:
135
+ _a.sent();
136
+ return [4 /*yield*/, doRequest('setup', hooksState, beforeHookHandler)];
137
+ case 2:
138
+ _a.sent();
139
+ return [4 /*yield*/, doRequest('teardown', hooksState, afterHookHandler)];
140
+ case 3:
141
+ _a.sent();
142
+ return [4 /*yield*/, doRequest('teardown', hooksState, afterHookHandler)];
143
+ case 4:
144
+ _a.sent();
145
+ (0, chai_1.expect)(beforeHook).to.be.calledOnce;
146
+ (0, chai_1.expect)(afterHook).to.be.calledOnce;
147
+ return [2 /*return*/];
148
+ }
149
+ });
150
+ }); });
151
+ });
152
+ describe('when multiple interactions are executed', function () {
153
+ it('it executes the beforeEach and afterEach hooks once for each interaction', function () { return __awaiter(void 0, void 0, void 0, function () {
154
+ var hooksState, beforeHook, afterHook, beforeHookHandler, afterHookHandler;
155
+ return __generator(this, function (_a) {
156
+ switch (_a.label) {
157
+ case 0:
158
+ hooksState = { setupCounter: 0 };
159
+ beforeHook = (0, sinon_1.stub)().resolves();
160
+ afterHook = (0, sinon_1.stub)().resolves();
161
+ beforeHookHandler = (0, hooks_1.registerBeforeHook)(beforeHook, hooksState);
162
+ afterHookHandler = (0, hooks_1.registerAfterHook)(afterHook, hooksState);
163
+ // Interaction 1 (two "given" states)
164
+ return [4 /*yield*/, doRequest('setup', hooksState, beforeHookHandler)];
165
+ case 1:
166
+ // Interaction 1 (two "given" states)
167
+ _a.sent();
168
+ return [4 /*yield*/, doRequest('setup', hooksState, beforeHookHandler)];
169
+ case 2:
170
+ _a.sent();
171
+ return [4 /*yield*/, doRequest('teardown', hooksState, afterHookHandler)];
172
+ case 3:
173
+ _a.sent();
174
+ return [4 /*yield*/, doRequest('teardown', hooksState, afterHookHandler)];
175
+ case 4:
176
+ _a.sent();
177
+ // Interaction 2 (one "given" state)
178
+ return [4 /*yield*/, doRequest('setup', hooksState, beforeHookHandler)];
179
+ case 5:
180
+ // Interaction 2 (one "given" state)
181
+ _a.sent();
182
+ return [4 /*yield*/, doRequest('teardown', hooksState, afterHookHandler)];
183
+ case 6:
184
+ _a.sent();
185
+ // Interaction 3 (three "given" states)
186
+ return [4 /*yield*/, doRequest('setup', hooksState, beforeHookHandler)];
187
+ case 7:
188
+ // Interaction 3 (three "given" states)
189
+ _a.sent();
190
+ return [4 /*yield*/, doRequest('setup', hooksState, beforeHookHandler)];
191
+ case 8:
192
+ _a.sent();
193
+ return [4 /*yield*/, doRequest('setup', hooksState, beforeHookHandler)];
194
+ case 9:
195
+ _a.sent();
196
+ return [4 /*yield*/, doRequest('teardown', hooksState, afterHookHandler)];
197
+ case 10:
198
+ _a.sent();
199
+ return [4 /*yield*/, doRequest('teardown', hooksState, afterHookHandler)];
200
+ case 11:
201
+ _a.sent();
202
+ return [4 /*yield*/, doRequest('teardown', hooksState, afterHookHandler)];
203
+ case 12:
204
+ _a.sent();
205
+ (0, chai_1.expect)(beforeHook).to.be.calledThrice;
206
+ (0, chai_1.expect)(afterHook).to.be.calledThrice;
207
+ return [2 /*return*/];
208
+ }
209
+ });
210
+ }); });
211
+ });
212
+ });
213
+ });
214
+ //# sourceMappingURL=hooks.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hooks.spec.js","sourceRoot":"","sources":["../../../../../src/dsl/verifier/proxy/hooks.spec.ts"],"names":[],"mappings":"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"}
@@ -63,8 +63,19 @@ var createProxy = function (config, stateSetupPath, messageTransportPath) {
63
63
  }));
64
64
  app.use(body_parser_1.default.urlencoded({ extended: true }));
65
65
  app.use('/*', body_parser_1.default.raw({ type: '*/*' }));
66
- (0, hooks_1.registerBeforeHook)(app, config, stateSetupPath);
67
- (0, hooks_1.registerAfterHook)(app, config, stateSetupPath);
66
+ // Hooks
67
+ var hooksState = {
68
+ setupCounter: 0,
69
+ };
70
+ app.use(stateSetupPath, (0, hooks_1.registerHookStateTracking)(hooksState));
71
+ if (config.beforeEach) {
72
+ logger_1.default.trace("registered 'beforeEach' hook");
73
+ app.use(stateSetupPath, (0, hooks_1.registerBeforeHook)(config.beforeEach, hooksState));
74
+ }
75
+ if (config.afterEach) {
76
+ logger_1.default.trace("registered 'afterEach' hook");
77
+ app.use(stateSetupPath, (0, hooks_1.registerAfterHook)(config.afterEach, hooksState));
78
+ }
68
79
  // Trace req/res logging
69
80
  if (config.logLevel === 'debug' || config.logLevel === 'trace') {
70
81
  logger_1.default.info('debug request/response logging enabled');
@@ -1 +1 @@
1
- {"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../../../../src/dsl/verifier/proxy/proxy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../../../../src/dsl/verifier/proxy/proxy.ts"],"names":[],"mappings":"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"}
@@ -75,7 +75,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
75
75
  Object.defineProperty(exports, "__esModule", { value: true });
76
76
  exports.Pact = void 0;
77
77
  var pact_core_1 = __importStar(require("@pact-foundation/pact-core"));
78
- var cli_color_1 = __importDefault(require("cli-color"));
78
+ var chalk_1 = __importDefault(require("chalk"));
79
79
  var path = __importStar(require("path"));
80
80
  var process_1 = __importDefault(require("process"));
81
81
  var lodash_1 = require("lodash");
@@ -217,8 +217,8 @@ var Pact = /** @class */ (function () {
217
217
  error += "\n\n ".concat((0, display_1.generateMockServerError)(matchingResults, '\t'));
218
218
  /* eslint-disable no-console */
219
219
  console.error('');
220
- console.error(cli_color_1.default.red('Pact verification failed!'));
221
- console.error(cli_color_1.default.red(error));
220
+ console.error(chalk_1.default.red('Pact verification failed!'));
221
+ console.error(chalk_1.default.red(error));
222
222
  /* eslint-enable */
223
223
  this.reset();
224
224
  throw new verificationError_1.default('Pact verification failed - expected interactions did not match actual.');
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/httpPact/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/httpPact/index.ts"],"names":[],"mappings":"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"}