@pact-foundation/pact-core 13.7.6 → 13.7.9
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 +22 -0
- package/build/Makefile +1 -1
- package/ffi/libpact_ffi.dylib +0 -0
- package/ffi/libpact_ffi.so +0 -0
- package/ffi/libpact_ffi.so.gz +0 -0
- package/ffi/osxaarch64/libpact_ffi.dylib +0 -0
- package/ffi/pact-cpp.h +715 -35
- package/ffi/pact.h +718 -35
- package/ffi/pact_ffi.dll +0 -0
- package/ffi/pact_ffi.dll.lib +0 -0
- package/package.json +1 -1
- package/src/ffi/index.d.ts +1 -1
- package/src/ffi/index.js +1 -1
- package/src/ffi/types.d.ts +2 -2
- package/src/verifier/argumentMapper/arguments.d.ts +4 -0
- package/src/verifier/argumentMapper/arguments.js +43 -27
- package/src/verifier/argumentMapper/arguments.js.map +1 -1
- package/src/verifier/argumentMapper/index.js +9 -5
- package/src/verifier/argumentMapper/index.js.map +1 -1
package/ffi/pact_ffi.dll
CHANGED
|
Binary file
|
package/ffi/pact_ffi.dll.lib
CHANGED
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pact-foundation/pact-core",
|
|
3
|
-
"version": "13.7.
|
|
3
|
+
"version": "13.7.9",
|
|
4
4
|
"description": "Core of @pact-foundation/pact. You almost certainly don't want to depend on this directly.",
|
|
5
5
|
"main": "src/index.js",
|
|
6
6
|
"homepage": "https://github.com/pact-foundation/pact-js-core#readme",
|
package/src/ffi/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { LogLevel } from '../logger/types';
|
|
2
2
|
import { Ffi } from './types';
|
|
3
3
|
declare const ffiLib: Ffi;
|
|
4
|
-
export declare const PACT_FFI_VERSION = "0.
|
|
4
|
+
export declare const PACT_FFI_VERSION = "0.3.9";
|
|
5
5
|
declare let ffi: typeof ffiLib;
|
|
6
6
|
export declare const getFfiLib: (logLevel?: LogLevel) => typeof ffi;
|
|
7
7
|
export {};
|
package/src/ffi/index.js
CHANGED
|
@@ -23,7 +23,7 @@ exports.getFfiLib = exports.PACT_FFI_VERSION = void 0;
|
|
|
23
23
|
const logger_1 = __importStar(require("../logger"));
|
|
24
24
|
const bindings = require("bindings");
|
|
25
25
|
const ffiLib = bindings('pact.node');
|
|
26
|
-
exports.PACT_FFI_VERSION = '0.
|
|
26
|
+
exports.PACT_FFI_VERSION = '0.3.9';
|
|
27
27
|
let ffi;
|
|
28
28
|
let ffiLogLevel;
|
|
29
29
|
const initialiseFfi = (logLevel) => {
|
package/src/ffi/types.d.ts
CHANGED
|
@@ -90,8 +90,6 @@ export declare type FfiConsumerFunctions = {
|
|
|
90
90
|
};
|
|
91
91
|
export declare type FfiVerificationFunctions = {
|
|
92
92
|
pactffiVerifierNewForApplication(libraryName: string, version: string): FfiVerifierHandle;
|
|
93
|
-
pactffiVerifierExecute(handle: FfiVerifierHandle, callback: (e: Error, res: number) => void): number;
|
|
94
|
-
pactffiVerifierShutdown(handle: FfiVerifierHandle): void;
|
|
95
93
|
pactffiVerifierSetProviderInfo(handle: FfiVerifierHandle, providerName: string, scheme: string, host: string, port: number, path: string): void;
|
|
96
94
|
pactffiVerifierSetFilterInfo(handle: FfiVerifierHandle, description: string, state: string, noState: boolean): void;
|
|
97
95
|
pactffiVerifierSetProviderState(handle: FfiVerifierHandle, url: string, teardown: boolean, body: boolean): void;
|
|
@@ -103,4 +101,6 @@ export declare type FfiVerificationFunctions = {
|
|
|
103
101
|
pactffiVerifierAddDirectorySource(handle: FfiVerifierHandle, dir: string): void;
|
|
104
102
|
pactffiVerifierUrlSource(handle: FfiVerifierHandle, url: string, username: string, password: string, token: string): void;
|
|
105
103
|
pactffiVerifierBrokerSourceWithSelectors(handle: FfiVerifierHandle, url: string, username: string, password: string, token: string, enablePending: boolean, includeWipPactsSince: string, providerTags: string[], providerVersionBranch: string, consumerVersionSelectors: string[], consumerVersionTags: string[]): void;
|
|
104
|
+
pactffiVerifierExecute(handle: FfiVerifierHandle, callback: (e: Error, res: number) => void): number;
|
|
105
|
+
pactffiVerifierShutdown(handle: FfiVerifierHandle): void;
|
|
106
106
|
};
|
|
@@ -6,6 +6,10 @@ export declare type IgnoredFfiFunctions = {
|
|
|
6
6
|
pactffiVerifierExecute: 1;
|
|
7
7
|
pactffiVerifierShutdown: 1;
|
|
8
8
|
};
|
|
9
|
+
export declare type OrderedExecution = {
|
|
10
|
+
[Key in keyof RequiredFfiVerificationFunctions]: number;
|
|
11
|
+
};
|
|
12
|
+
export declare const orderOfExecution: OrderedExecution;
|
|
9
13
|
export declare type MergedFfiSourceFunctions = {
|
|
10
14
|
pactffiVerifierAddFileSource: 1;
|
|
11
15
|
pactffiVerifierUrlSource: 1;
|
|
@@ -3,15 +3,27 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.ffiFnMapping = void 0;
|
|
6
|
+
exports.ffiFnMapping = exports.orderOfExecution = void 0;
|
|
7
7
|
const logger_1 = __importDefault(require("../../logger"));
|
|
8
8
|
const fs = require("fs");
|
|
9
|
+
const url = require("url");
|
|
9
10
|
const types_1 = require("./types");
|
|
10
11
|
const url_1 = require("url");
|
|
11
12
|
const DEFAULT_TIMEOUT = 30000;
|
|
12
13
|
const objArrayToStringArray = (obj) => {
|
|
13
14
|
return obj.map((o) => JSON.stringify(o));
|
|
14
15
|
};
|
|
16
|
+
exports.orderOfExecution = {
|
|
17
|
+
pactffiVerifierSetProviderInfo: 1,
|
|
18
|
+
pactffiVerifierSetFilterInfo: 2,
|
|
19
|
+
pactffiVerifierSetProviderState: 3,
|
|
20
|
+
pactffiVerifierSetVerificationOptions: 4,
|
|
21
|
+
pactffiVerifierSetPublishOptions: 5,
|
|
22
|
+
pactffiVerifierSetConsumerFilters: 6,
|
|
23
|
+
pactffiVerifierAddCustomHeader: 7,
|
|
24
|
+
pactffiVerifierAddDirectorySource: 8,
|
|
25
|
+
pactffiVerifierBrokerSourceWithSelectors: 9,
|
|
26
|
+
};
|
|
15
27
|
exports.ffiFnMapping = {
|
|
16
28
|
pactffiVerifierAddCustomHeader: {
|
|
17
29
|
validateAndExecute(ffi, handle, options) {
|
|
@@ -49,40 +61,44 @@ exports.ffiFnMapping = {
|
|
|
49
61
|
if (options.pactUrls) {
|
|
50
62
|
options.pactUrls.forEach((file) => {
|
|
51
63
|
logger_1.default.debug(`checking source type of given pactUrl: ${file}`);
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
64
|
+
if (/https?:/.test(url.parse(file).protocol || '')) {
|
|
65
|
+
try {
|
|
66
|
+
const u = new url_1.URL(file);
|
|
67
|
+
if (u.hostname) {
|
|
68
|
+
logger_1.default.debug(`adding ${file} as a Url source`);
|
|
69
|
+
ffi.pactffiVerifierUrlSource(handle, file, options.pactBrokerUsername ||
|
|
70
|
+
process.env.PACT_BROKER_USERNAME ||
|
|
71
|
+
'', options.pactBrokerPassword ||
|
|
72
|
+
process.env.PACT_BROKER_PASSWORD ||
|
|
73
|
+
'', options.pactBrokerToken || process.env.PACT_BROKER_TOKEN || '');
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
catch {
|
|
77
|
+
messages.push(`${file} is not a valid URL`);
|
|
61
78
|
}
|
|
62
79
|
}
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
80
|
+
else {
|
|
81
|
+
try {
|
|
82
|
+
const f = fs.lstatSync(file);
|
|
83
|
+
if (f.isDirectory()) {
|
|
84
|
+
logger_1.default.debug(`adding ${file} as Directory source`);
|
|
85
|
+
ffi.pactffiVerifierAddDirectorySource(handle, file);
|
|
86
|
+
}
|
|
87
|
+
else if (f.isFile() || f.isSymbolicLink()) {
|
|
88
|
+
logger_1.default.debug(`adding ${file} as File source`);
|
|
89
|
+
ffi.pactffiVerifierAddFileSource(handle, file);
|
|
90
|
+
}
|
|
71
91
|
}
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
ffi.pactffiVerifierAddFileSource(handle, file);
|
|
92
|
+
catch {
|
|
93
|
+
messages.push(`'${file}' does not exist, or is not a file or directory`);
|
|
75
94
|
}
|
|
76
95
|
}
|
|
77
|
-
catch {
|
|
78
|
-
messages.push(`'${file}' does not exist, or is not a file or directory`);
|
|
79
|
-
}
|
|
80
96
|
});
|
|
97
|
+
if (messages.length > 0) {
|
|
98
|
+
return { status: types_1.FnValidationStatus.FAIL, messages };
|
|
99
|
+
}
|
|
81
100
|
return { status: types_1.FnValidationStatus.SUCCESS };
|
|
82
101
|
}
|
|
83
|
-
if (messages.length > 0) {
|
|
84
|
-
return { status: types_1.FnValidationStatus.FAIL, messages };
|
|
85
|
-
}
|
|
86
102
|
return { status: types_1.FnValidationStatus.IGNORE };
|
|
87
103
|
},
|
|
88
104
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arguments.js","sourceRoot":"","sources":["arguments.ts"],"names":[],"mappings":";;;;;;AAAA,0DAAkC;AAClC,yBAA0B;
|
|
1
|
+
{"version":3,"file":"arguments.js","sourceRoot":"","sources":["arguments.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,20 +23,24 @@ exports.setupVerification = void 0;
|
|
|
23
23
|
const types_1 = require("./types");
|
|
24
24
|
const logger_1 = __importStar(require("../../logger"));
|
|
25
25
|
const arguments_1 = require("./arguments");
|
|
26
|
+
const underscore_1 = require("underscore");
|
|
26
27
|
const setupVerification = (ffi, handle, options) => {
|
|
27
|
-
|
|
28
|
-
|
|
28
|
+
const order = underscore_1.values(arguments_1.orderOfExecution).sort((a, b) => a - b);
|
|
29
|
+
const functionsToCall = underscore_1.invert(arguments_1.orderOfExecution);
|
|
30
|
+
order.map((k) => {
|
|
31
|
+
const fn = functionsToCall[k];
|
|
32
|
+
const validation = arguments_1.ffiFnMapping[fn].validateAndExecute(ffi, handle, options);
|
|
29
33
|
switch (validation.status) {
|
|
30
34
|
case types_1.FnValidationStatus.FAIL:
|
|
31
|
-
logger_1.logErrorAndThrow(`the required ffi function '${
|
|
35
|
+
logger_1.logErrorAndThrow(`the required ffi function '${fn}' failed validation with errors: ${validation.messages || [].join(',')}`);
|
|
32
36
|
break;
|
|
33
37
|
case types_1.FnValidationStatus.IGNORE:
|
|
34
|
-
logger_1.default.debug(`the optional ffi function '${
|
|
38
|
+
logger_1.default.debug(`the optional ffi function '${fn}' was not executed as it had non-fatal validation errors: ${validation.messages || [].join(',')}`);
|
|
35
39
|
break;
|
|
36
40
|
case types_1.FnValidationStatus.SUCCESS:
|
|
37
41
|
break;
|
|
38
42
|
default:
|
|
39
|
-
logger_1.logCrashAndThrow(`the ffi function '${
|
|
43
|
+
logger_1.logCrashAndThrow(`the ffi function '${fn}' returned the following unrecognised validation signal: '${validation.status}'`);
|
|
40
44
|
}
|
|
41
45
|
});
|
|
42
46
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,mCAA6C;AAC7C,uDAA0E;AAE1E,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,mCAA6C;AAC7C,uDAA0E;AAE1E,2CAA6D;AAE7D,2CAA4C;AAErC,MAAM,iBAAiB,GAAG,CAC/B,GAAQ,EACR,MAAyB,EACzB,OAAoC,EAC9B,EAAE;IACR,MAAM,KAAK,GAAG,mBAAM,CAAC,4BAAgB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7D,MAAM,eAAe,GAAG,mBAAM,CAAC,4BAAgB,CAAC,CAAC;IAEjD,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACd,MAAM,EAAE,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;QAC9B,MAAM,UAAU,GAAG,wBAAY,CAAC,EAAE,CAAC,CAAC,kBAAkB,CACpD,GAAG,EACH,MAAM,EACN,OAAO,CACR,CAAC;QAEF,QAAQ,UAAU,CAAC,MAAM,EAAE;YACzB,KAAK,0BAAkB,CAAC,IAAI;gBAC1B,yBAAgB,CACd,8BAA8B,EAAE,oCAC9B,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,EAAE,6DAC9B,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,EAAE,6DAA6D,UAAU,CAAC,MAAM,GAAG,CACzG,CAAC;SACL;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAvCW,QAAA,iBAAiB,qBAuC5B"}
|