@pact-foundation/pact-core 13.7.0 → 13.7.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 +21 -0
- package/README.md +4 -4
- package/bin/pact-broker.js +6 -3
- package/bin/pact-broker.js.map +1 -1
- package/bin/pact-message.js +6 -3
- package/bin/pact-message.js.map +1 -1
- package/bin/pact-mock-service.js +6 -3
- package/bin/pact-mock-service.js.map +1 -1
- package/bin/pact-provider-verifier.js +6 -3
- package/bin/pact-provider-verifier.js.map +1 -1
- package/bin/pact-stub-service.js +6 -3
- package/bin/pact-stub-service.js.map +1 -1
- package/bin/pact.js +6 -3
- package/bin/pact.js.map +1 -1
- package/bin/pactflow.js +6 -3
- package/bin/pactflow.js.map +1 -1
- package/build/Makefile +1 -1
- package/package.json +3 -2
- package/src/can-deploy.js +71 -78
- package/src/can-deploy.js.map +1 -1
- package/src/consumer/checkErrors.js +14 -33
- package/src/consumer/checkErrors.js.map +1 -1
- package/src/consumer/index.js +72 -94
- package/src/consumer/index.js.map +1 -1
- package/src/ffi/index.js +29 -11
- package/src/ffi/index.js.map +1 -1
- package/src/ffi/internals/index.js +14 -16
- package/src/ffi/internals/index.js.map +1 -1
- package/src/ffi/types.d.ts +5 -0
- package/src/ffi/types.js.map +1 -1
- package/src/index.js +4 -1
- package/src/index.js.map +1 -1
- package/src/logger/crashMessage.js +18 -1
- package/src/logger/crashMessage.js.map +1 -1
- package/src/logger/index.js +19 -42
- package/src/logger/index.js.map +1 -1
- package/src/logger/pino.js +7 -9
- package/src/logger/pino.js.map +1 -1
- package/src/message.js +25 -35
- package/src/message.js.map +1 -1
- package/src/pact-environment.js +26 -15
- package/src/pact-environment.js.map +1 -1
- package/src/pact-standalone.d.ts +2 -0
- package/src/pact-standalone.js +39 -14
- package/src/pact-standalone.js.map +1 -1
- package/src/pact.js +83 -67
- package/src/pact.js.map +1 -1
- package/src/publisher.js +52 -32
- package/src/publisher.js.map +1 -1
- package/src/server.js +18 -35
- package/src/server.js.map +1 -1
- package/src/service.js +115 -126
- package/src/service.js.map +1 -1
- package/src/spawn/arguments.js +17 -25
- package/src/spawn/arguments.js.map +1 -1
- package/src/spawn/index.js +4 -1
- package/src/spawn/index.js.map +1 -1
- package/src/spawn/spawn.js +50 -45
- package/src/spawn/spawn.js.map +1 -1
- package/src/stub.js +14 -30
- package/src/stub.js.map +1 -1
- package/src/verifier/argumentMapper/arguments.d.ts +14 -5
- package/src/verifier/argumentMapper/arguments.js +126 -87
- package/src/verifier/argumentMapper/arguments.js.map +1 -1
- package/src/verifier/argumentMapper/index.d.ts +3 -1
- package/src/verifier/argumentMapper/index.js +38 -57
- package/src/verifier/argumentMapper/index.js.map +1 -1
- package/src/verifier/argumentMapper/types.d.ts +20 -1
- package/src/verifier/argumentMapper/types.js +16 -0
- package/src/verifier/argumentMapper/types.js.map +1 -1
- package/src/verifier/index.js +16 -21
- package/src/verifier/index.js.map +1 -1
- package/src/verifier/nativeVerifier.js +33 -75
- package/src/verifier/nativeVerifier.js.map +1 -1
- package/src/verifier/types.d.ts +1 -0
- package/src/verifier/validateOptions.d.ts +12 -2
- package/src/verifier/validateOptions.js +157 -100
- package/src/verifier/validateOptions.js.map +1 -1
- package/standalone/install.js +16 -18
- package/standalone/install.js.map +1 -1
- package/tsconfig.json +1 -2
- package/src/verifier/filesystem/index.d.ts +0 -2
- package/src/verifier/filesystem/index.js +0 -24
- package/src/verifier/filesystem/index.js.map +0 -1
- package/src/verifier/filesystem/types.d.ts +0 -1
- package/src/verifier/filesystem/types.js +0 -3
- package/src/verifier/filesystem/types.js.map +0 -1
|
@@ -1,63 +1,44 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
+
}) : function(o, v) {
|
|
12
|
+
o["default"] = v;
|
|
13
|
+
});
|
|
14
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
+
if (mod && mod.__esModule) return mod;
|
|
16
|
+
var result = {};
|
|
17
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
+
__setModuleDefault(result, mod);
|
|
19
|
+
return result;
|
|
6
20
|
};
|
|
7
21
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
-
exports.
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
22
|
+
exports.setupVerification = void 0;
|
|
23
|
+
const types_1 = require("./types");
|
|
24
|
+
const logger_1 = __importStar(require("../../logger"));
|
|
25
|
+
const arguments_1 = require("./arguments");
|
|
26
|
+
const setupVerification = (ffi, handle, options) => {
|
|
27
|
+
Object.keys(arguments_1.ffiFnMapping).map((k) => {
|
|
28
|
+
const validation = arguments_1.ffiFnMapping[k].validateAndExecute(ffi, handle, options);
|
|
29
|
+
switch (validation.status) {
|
|
30
|
+
case types_1.FnValidationStatus.FAIL:
|
|
31
|
+
logger_1.logErrorAndThrow(`the required ffi function '${k}' failed validation with errors: ${validation.messages || [].join(',')}`);
|
|
32
|
+
break;
|
|
33
|
+
case types_1.FnValidationStatus.IGNORE:
|
|
34
|
+
logger_1.default.debug(`the optional ffi function '${k}' was not executed as it had non-fatal validation errors: ${validation.messages || [].join(',')}`);
|
|
35
|
+
break;
|
|
36
|
+
case types_1.FnValidationStatus.SUCCESS:
|
|
37
|
+
break;
|
|
38
|
+
default:
|
|
39
|
+
logger_1.logCrashAndThrow(`the ffi function '${k}' returned the following unrecognised validation signal: '${validation.status}'`);
|
|
23
40
|
}
|
|
24
|
-
|
|
25
|
-
})
|
|
26
|
-
.map(function (key) {
|
|
27
|
-
var thisMapping = arguments_1.argMapping[key];
|
|
28
|
-
var thisValue = options[key];
|
|
29
|
-
if (!thisMapping) {
|
|
30
|
-
if (!arguments_1.ignoredArguments.includes(key)) {
|
|
31
|
-
logger_1.default.error("Pact-core is ignoring unknown option '" + key + "'");
|
|
32
|
-
}
|
|
33
|
-
return [];
|
|
34
|
-
}
|
|
35
|
-
if (thisValue === undefined) {
|
|
36
|
-
logger_1.default.warn("The Verifier option '" + key + "' was was explicitly set to undefined and will be ignored. This may indicate an error in your config. Remove the option entirely to prevent this warning");
|
|
37
|
-
return [];
|
|
38
|
-
}
|
|
39
|
-
if ('warningMessage' in thisMapping) {
|
|
40
|
-
logger_1.default.warn(thisMapping.warningMessage);
|
|
41
|
-
return [];
|
|
42
|
-
}
|
|
43
|
-
if ('arg' in thisMapping) {
|
|
44
|
-
switch (thisMapping.mapper) {
|
|
45
|
-
case 'string':
|
|
46
|
-
return [thisMapping.arg, "" + thisValue];
|
|
47
|
-
case 'flag':
|
|
48
|
-
return thisValue ? [thisMapping.arg] : [];
|
|
49
|
-
default:
|
|
50
|
-
logger_1.default.pactCrash("Option mapper for '" + key + "' maps to '" + thisMapping.arg + "' with unknown mapper type '" + thisMapping.mapper + "'");
|
|
51
|
-
return [];
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
if (typeof thisMapping === 'function') {
|
|
55
|
-
return thisMapping(thisValue);
|
|
56
|
-
}
|
|
57
|
-
logger_1.default.pactCrash("The option mapper completely failed to find a mapping for '" + key + "'.");
|
|
58
|
-
return [];
|
|
59
|
-
})
|
|
60
|
-
.reduce(function (acc, current) { return __spreadArray(__spreadArray([], acc), current); }, []);
|
|
41
|
+
});
|
|
61
42
|
};
|
|
62
|
-
exports.
|
|
43
|
+
exports.setupVerification = setupVerification;
|
|
63
44
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,mCAA6C;AAC7C,uDAA0E;AAE1E,2CAA6E;AAGtE,MAAM,iBAAiB,GAAG,CAC/B,GAAQ,EACR,MAAyB,EACzB,OAAoC,EAC9B,EAAE;IAEN,MAAM,CAAC,IAAI,CAAC,wBAAY,CACzB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACV,MAAM,UAAU,GAAG,wBAAY,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAE5E,QAAQ,UAAU,CAAC,MAAM,EAAE;YACzB,KAAK,0BAAkB,CAAC,IAAI;gBAC1B,yBAAgB,CACd,8BAA8B,CAAC,oCAC7B,UAAU,CAAC,QAAQ,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,CACpC,EAAE,CACH,CAAC;gBACF,MAAM;YACR,KAAK,0BAAkB,CAAC,MAAM;gBAC5B,gBAAM,CAAC,KAAK,CACV,8BAA8B,CAAC,6DAC7B,UAAU,CAAC,QAAQ,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,CACpC,EAAE,CACH,CAAC;gBACF,MAAM;YACR,KAAK,0BAAkB,CAAC,OAAO;gBAC7B,MAAM;YACR;gBACE,yBAAgB,CACd,qBAAqB,CAAC,6DAA6D,UAAU,CAAC,MAAM,GAAG,CACxG,CAAC;SACL;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAjCW,QAAA,iBAAiB,qBAiC5B"}
|
|
@@ -1 +1,20 @@
|
|
|
1
|
-
export
|
|
1
|
+
export declare const deprecatedFunction: (_: any, property: string) => boolean;
|
|
2
|
+
import { Ffi, FfiHandle } from '../../ffi/types';
|
|
3
|
+
export declare type FnObject = {
|
|
4
|
+
[key: string]: (...args: any) => any;
|
|
5
|
+
};
|
|
6
|
+
export declare type FnMapping<T extends FnObject, O> = {
|
|
7
|
+
[Key in keyof T]: FnArgumentMapping<Key, T, O>;
|
|
8
|
+
};
|
|
9
|
+
export declare enum FnValidationStatus {
|
|
10
|
+
SUCCESS = 0,
|
|
11
|
+
IGNORE = 1,
|
|
12
|
+
FAIL = 2
|
|
13
|
+
}
|
|
14
|
+
export declare type FnValidationResult = {
|
|
15
|
+
status: FnValidationStatus;
|
|
16
|
+
messages?: string[];
|
|
17
|
+
};
|
|
18
|
+
export declare type FnArgumentMapping<K extends keyof T, T extends FnObject, O> = {
|
|
19
|
+
validateAndExecute: (ffi: Ffi, handle: FfiHandle, options: O) => FnValidationResult;
|
|
20
|
+
};
|
|
@@ -1,3 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.FnValidationStatus = exports.deprecatedFunction = void 0;
|
|
7
|
+
const logger_1 = __importDefault(require("../../logger"));
|
|
8
|
+
const deprecatedFunction = (_, property) => {
|
|
9
|
+
logger_1.default.warn(`${property} is deprecated and no longer has any effect`);
|
|
10
|
+
return true;
|
|
11
|
+
};
|
|
12
|
+
exports.deprecatedFunction = deprecatedFunction;
|
|
13
|
+
var FnValidationStatus;
|
|
14
|
+
(function (FnValidationStatus) {
|
|
15
|
+
FnValidationStatus[FnValidationStatus["SUCCESS"] = 0] = "SUCCESS";
|
|
16
|
+
FnValidationStatus[FnValidationStatus["IGNORE"] = 1] = "IGNORE";
|
|
17
|
+
FnValidationStatus[FnValidationStatus["FAIL"] = 2] = "FAIL";
|
|
18
|
+
})(FnValidationStatus = exports.FnValidationStatus || (exports.FnValidationStatus = {}));
|
|
3
19
|
//# sourceMappingURL=types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["types.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["types.ts"],"names":[],"mappings":";;;;;;AAAA,0DAAkC;AAE3B,MAAM,kBAAkB,GAAG,CAAC,CAAM,EAAE,QAAgB,EAAW,EAAE;IACtE,gBAAM,CAAC,IAAI,CAAC,GAAG,QAAQ,6CAA6C,CAAC,CAAC;IAEtE,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAJW,QAAA,kBAAkB,sBAI7B;AAWF,IAAY,kBAIX;AAJD,WAAY,kBAAkB;IAC5B,iEAAW,CAAA;IACX,+DAAU,CAAA;IACV,2DAAQ,CAAA;AACV,CAAC,EAJW,kBAAkB,GAAlB,0BAAkB,KAAlB,0BAAkB,QAI7B"}
|
package/src/verifier/index.js
CHANGED
|
@@ -1,31 +1,26 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var
|
|
3
|
-
|
|
4
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
-
s = arguments[i];
|
|
6
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
-
t[p] = s[p];
|
|
8
|
-
}
|
|
9
|
-
return t;
|
|
10
|
-
};
|
|
11
|
-
return __assign.apply(this, arguments);
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
12
4
|
};
|
|
13
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
6
|
exports.Verifier = void 0;
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
7
|
+
const logger_1 = __importDefault(require("../logger"));
|
|
8
|
+
const nativeVerifier_1 = require("./nativeVerifier");
|
|
9
|
+
const validateOptions_1 = require("./validateOptions");
|
|
10
|
+
const applyDefaults = (options) => ({
|
|
11
|
+
timeout: 30000,
|
|
12
|
+
logLevel: 'info',
|
|
13
|
+
...options,
|
|
14
|
+
});
|
|
15
|
+
class Verifier {
|
|
16
|
+
constructor(options) {
|
|
21
17
|
this.options = validateOptions_1.validateOptions(applyDefaults(options));
|
|
22
18
|
}
|
|
23
|
-
|
|
19
|
+
verify() {
|
|
24
20
|
logger_1.default.info('Verifying Pact Files');
|
|
25
21
|
return nativeVerifier_1.verify(this.options);
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
}());
|
|
22
|
+
}
|
|
23
|
+
}
|
|
29
24
|
exports.Verifier = Verifier;
|
|
30
|
-
exports.default = (
|
|
25
|
+
exports.default = (options) => new Verifier(options);
|
|
31
26
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;;;;AAAA,uDAA+B;AAE/B,qDAA0C;AAC1C,uDAAoD;AAEpD,MAAM,aAAa,GAAG,CAAC,OAAwB,EAAmB,EAAE,CAAC,CAAC;IACpE,OAAO,EAAE,KAAK;IACd,QAAQ,EAAE,MAAM;IAChB,GAAG,OAAO;CACX,CAAC,CAAC;AAEH,MAAa,QAAQ;IAGnB,YAAY,OAAwB;QAClC,IAAI,CAAC,OAAO,GAAG,iCAAe,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;IACzD,CAAC;IAKM,MAAM;QACX,gBAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QAEpC,OAAO,uBAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;CACF;AAfD,4BAeC;AAGD,kBAAe,CAAC,OAAwB,EAAY,EAAE,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC"}
|
|
@@ -1,84 +1,42 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
+
}) : function(o, v) {
|
|
12
|
+
o["default"] = v;
|
|
13
|
+
});
|
|
14
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
+
if (mod && mod.__esModule) return mod;
|
|
16
|
+
var result = {};
|
|
17
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
+
__setModuleDefault(result, mod);
|
|
19
|
+
return result;
|
|
20
|
+
};
|
|
2
21
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
22
|
exports.verify = void 0;
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
return obj.map(function (o) { return JSON.stringify(o); });
|
|
12
|
-
};
|
|
13
|
-
var verify = function (opts) {
|
|
14
|
-
var ffi = ffi_1.getFfiLib(opts.logLevel);
|
|
23
|
+
const logger_1 = __importStar(require("../logger"));
|
|
24
|
+
const ffi_1 = require("../ffi");
|
|
25
|
+
const types_1 = require("../ffi/types");
|
|
26
|
+
const pkg = require('../../package.json');
|
|
27
|
+
const argumentMapper_1 = require("./argumentMapper");
|
|
28
|
+
const verify = (opts) => {
|
|
29
|
+
const ffi = ffi_1.getFfiLib(opts.logLevel);
|
|
15
30
|
if (opts.logLevel) {
|
|
16
31
|
logger_1.setLogLevel(opts.logLevel);
|
|
17
32
|
}
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
}
|
|
24
|
-
Object.keys(opts.customProviderHeaders || {}).forEach(function (key, _, obj) {
|
|
25
|
-
return ffi.pactffiVerifierAddCustomHeader(handle, key, obj[key]);
|
|
26
|
-
});
|
|
27
|
-
var filterDescription = process.env.PACT_DESCRIPTION || '';
|
|
28
|
-
var filterState = process.env.PACT_PROVIDER_STATE || '';
|
|
29
|
-
var filterNoState = process.env.PACT_PROVIDER_NO_STATE ? true : false;
|
|
30
|
-
ffi.pactffiVerifierSetFilterInfo(handle, filterDescription, filterState, filterNoState);
|
|
31
|
-
if (opts.pactUrls) {
|
|
32
|
-
opts.pactUrls.forEach(function (file) {
|
|
33
|
-
logger_1.default.debug("checking source type of given pactUrl: " + file);
|
|
34
|
-
try {
|
|
35
|
-
var u = new url_1.URL(file);
|
|
36
|
-
if (u.hostname) {
|
|
37
|
-
logger_1.default.debug("adding " + file + " as a Url source");
|
|
38
|
-
ffi.pactffiVerifierUrlSource(handle, file, opts.pactBrokerUsername || '', opts.pactBrokerPassword || '', opts.pactBrokerToken || '');
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
catch (_a) {
|
|
42
|
-
logger_1.default.debug(file + " is not a URI");
|
|
43
|
-
}
|
|
44
|
-
try {
|
|
45
|
-
var f = fs.lstatSync(file);
|
|
46
|
-
if (f.isDirectory()) {
|
|
47
|
-
logger_1.default.debug("adding " + file + " as Directory source");
|
|
48
|
-
ffi.pactffiVerifierAddDirectorySource(handle, file);
|
|
49
|
-
}
|
|
50
|
-
else if (f.isFile() || f.isSymbolicLink()) {
|
|
51
|
-
logger_1.default.debug("adding " + file + " as File source");
|
|
52
|
-
ffi.pactffiVerifierAddFileSource(handle, file);
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
catch (_b) {
|
|
56
|
-
logger_1.default.debug(file + " is not a file");
|
|
57
|
-
}
|
|
58
|
-
});
|
|
59
|
-
}
|
|
60
|
-
if (opts.disableSslVerification || opts.timeout) {
|
|
61
|
-
ffi.pactffiVerifierSetVerificationOptions(handle, opts.disableSslVerification || false, opts.timeout || 30000);
|
|
62
|
-
}
|
|
63
|
-
if (opts.publishVerificationResult ||
|
|
64
|
-
opts.providerVersion ||
|
|
65
|
-
opts.buildUrl ||
|
|
66
|
-
opts.disableSslVerification ||
|
|
67
|
-
opts.timeout ||
|
|
68
|
-
opts.providerVersionTags) {
|
|
69
|
-
ffi.pactffiVerifierSetPublishOptions(handle, opts.providerVersion || '', opts.buildUrl || '', opts.providerVersionTags || [], opts.providerBranch || '');
|
|
70
|
-
}
|
|
71
|
-
var brokerUrl = opts.pactBrokerUrl || process.env.PACT_BROKER_BASE_URL;
|
|
72
|
-
if (brokerUrl && opts.provider) {
|
|
73
|
-
ffi.pactffiVerifierBrokerSourceWithSelectors(handle, brokerUrl, opts.pactBrokerUsername || process.env.PACT_BROKER_USERNAME || '', opts.pactBrokerPassword || process.env.PACT_BROKER_PASSWORD || '', opts.pactBrokerToken || process.env.PACT_BROKER_TOKEN || '', opts.enablePending || false, opts.includeWipPactsSince || '', opts.providerVersionTags || [], opts.providerBranch || '', opts.consumerVersionSelectors
|
|
74
|
-
? objArrayToStringArray(opts.consumerVersionSelectors)
|
|
75
|
-
: [], opts.consumerVersionTags || []);
|
|
76
|
-
}
|
|
77
|
-
return new Promise(function (resolve, reject) {
|
|
78
|
-
ffi.pactffiVerifierExecute(handle, function (err, res) {
|
|
79
|
-
logger_1.default.debug("shutting down verifier with handle " + handle);
|
|
33
|
+
const handle = ffi.pactffiVerifierNewForApplication(pkg.name.split('/')[1], pkg.version);
|
|
34
|
+
argumentMapper_1.setupVerification(ffi, handle, opts);
|
|
35
|
+
return new Promise((resolve, reject) => {
|
|
36
|
+
ffi.pactffiVerifierExecute(handle, (err, res) => {
|
|
37
|
+
logger_1.default.debug(`shutting down verifier with handle ${handle}`);
|
|
80
38
|
ffi.pactffiVerifierShutdown(handle);
|
|
81
|
-
logger_1.default.debug(
|
|
39
|
+
logger_1.default.debug(`response from verifier: ${err}, ${res}`);
|
|
82
40
|
if (err) {
|
|
83
41
|
if (typeof err === 'string') {
|
|
84
42
|
logger_1.default.error(err);
|
|
@@ -93,7 +51,7 @@ var verify = function (opts) {
|
|
|
93
51
|
switch (res) {
|
|
94
52
|
case types_1.VERIFY_PROVIDER_RESPONSE.VERIFICATION_SUCCESSFUL:
|
|
95
53
|
logger_1.default.info('Verification successful');
|
|
96
|
-
resolve(
|
|
54
|
+
resolve(`finished: ${res}`);
|
|
97
55
|
break;
|
|
98
56
|
case types_1.VERIFY_PROVIDER_RESPONSE.VERIFICATION_FAILED:
|
|
99
57
|
logger_1.default.error('Verification unsuccessful');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nativeVerifier.js","sourceRoot":"","sources":["nativeVerifier.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"nativeVerifier.js","sourceRoot":"","sources":["nativeVerifier.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AACA,oDAAgD;AAChD,gCAAmC;AACnC,wCAAwD;AAGxD,MAAM,GAAG,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;AAE1C,qDAAqD;AAE9C,MAAM,MAAM,GAAG,CAAC,IAAqB,EAAmB,EAAE;IAC/D,MAAM,GAAG,GAAG,eAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrC,IAAI,IAAI,CAAC,QAAQ,EAAE;QACjB,oBAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;KAC5B;IAED,MAAM,MAAM,GAAG,GAAG,CAAC,gCAAgC,CACjD,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EACtB,GAAG,CAAC,OAAO,CACZ,CAAC;IAEF,kCAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IAErC,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC7C,GAAG,CAAC,sBAAsB,CAAC,MAAM,EAAE,CAAC,GAAU,EAAE,GAAW,EAAE,EAAE;YAC7D,gBAAM,CAAC,KAAK,CAAC,sCAAsC,MAAM,EAAE,CAAC,CAAC;YAE7D,GAAG,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;YAEpC,gBAAM,CAAC,KAAK,CAAC,2BAA2B,GAAG,KAAK,GAAG,EAAE,CAAC,CAAC;YACvD,IAAI,GAAG,EAAE;gBACP,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;oBAE3B,gBAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;iBACnB;qBAAM,IAAI,GAAG,CAAC,OAAO,EAAE;oBACtB,gBAAM,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBAC3B;gBACD,gBAAM,CAAC,SAAS,CACd,sEAAsE,CACvE,CAAC;gBACF,MAAM,CAAC,GAAG,CAAC,CAAC;aACb;iBAAM;gBACL,QAAQ,GAAG,EAAE;oBACX,KAAK,gCAAwB,CAAC,uBAAuB;wBACnD,gBAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;wBACvC,OAAO,CAAC,aAAa,GAAG,EAAE,CAAC,CAAC;wBAC5B,MAAM;oBACR,KAAK,gCAAwB,CAAC,mBAAmB;wBAC/C,gBAAM,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;wBAC1C,MAAM,CAAC,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC;wBACxC,MAAM;oBACR,KAAK,gCAAwB,CAAC,iBAAiB;wBAC7C,gBAAM,CAAC,SAAS,CACd,mDAAmD,CACpD,CAAC;wBACF,MAAM,CAAC,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC,CAAC;wBACpD,MAAM;oBACR;wBACE,gBAAM,CAAC,SAAS,CACd,wDAAwD,CACzD,CAAC;wBACF,MAAM,CAAC,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC;wBACvC,MAAM;iBACT;aACF;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAzDW,QAAA,MAAM,UAyDjB"}
|
package/src/verifier/types.d.ts
CHANGED
|
@@ -1,2 +1,12 @@
|
|
|
1
|
-
import { VerifierOptions } from './types';
|
|
2
|
-
export declare const
|
|
1
|
+
import { InternalPactVerifierOptions, VerifierOptions } from './types';
|
|
2
|
+
export declare const deprecatedFunction: (_: InternalPactVerifierOptions) => (_: any, property: string) => boolean;
|
|
3
|
+
export declare const incompatibleWith: (keys: (keyof InternalPactVerifierOptions)[]) => (options: InternalPactVerifierOptions) => (_: any, property: string) => boolean;
|
|
4
|
+
export declare const requires: (keys: (keyof InternalPactVerifierOptions)[]) => (options: InternalPactVerifierOptions) => (_: any, property: string) => boolean;
|
|
5
|
+
export declare const requiresOneOf: (keys: (keyof InternalPactVerifierOptions)[]) => (options: InternalPactVerifierOptions) => (_: any, property: string) => boolean;
|
|
6
|
+
export declare type AssertFunction = (a: any, ...args: any) => boolean;
|
|
7
|
+
export declare const wrapCheckType: (fn: AssertFunction) => (_: InternalPactVerifierOptions) => AssertFunction;
|
|
8
|
+
export declare type ArgumentValidationRules<T> = {
|
|
9
|
+
[Key in keyof T]-?: ((options: T) => AssertFunction)[];
|
|
10
|
+
};
|
|
11
|
+
export declare const validationRules: ArgumentValidationRules<InternalPactVerifierOptions>;
|
|
12
|
+
export declare const validateOptions: (options: VerifierOptions) => VerifierOptions;
|