@pact-foundation/pact-core 13.7.2 → 13.7.5

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
+ ### [13.7.5](https://github.com/pact-foundation/pact-js-core/compare/v13.7.4...v13.7.5) (2022-08-13)
6
+
7
+
8
+ ### Fixes and Improvements
9
+
10
+ * restore providerVersionBranch ([c155f94](https://github.com/pact-foundation/pact-js-core/commit/c155f943a5bb9beb33c2b1fab35f4d8a7cfb7d24))
11
+ * support customProviderHeaders as a string[] ([171cfd0](https://github.com/pact-foundation/pact-js-core/commit/171cfd0478406eb6126d437c4e45d0b4968afbea))
12
+
13
+ ### [13.7.4](https://github.com/pact-foundation/pact-js-core/compare/v13.7.3...v13.7.4) (2022-08-13)
14
+
15
+
16
+ ### Fixes and Improvements
17
+
18
+ * corrects customProviderHeaders validation (pact-foundation/pact-js-core[#392](https://github.com/pact-foundation/pact-js-core/issues/392)) ([#393](https://github.com/pact-foundation/pact-js-core/issues/393)) ([f77dd65](https://github.com/pact-foundation/pact-js-core/commit/f77dd654a5546705f1b0b859f18eaa04879a3915))
19
+
20
+ ### [13.7.3](https://github.com/pact-foundation/pact-js-core/compare/v13.7.2...v13.7.3) (2022-08-12)
21
+
22
+
23
+ ### Fixes and Improvements
24
+
25
+ * update the argument validation and function mapping for ffi verification ([#391](https://github.com/pact-foundation/pact-js-core/issues/391)) ([fee85e1](https://github.com/pact-foundation/pact-js-core/commit/fee85e1d1fcd63b81c3d2d0f86ab9691975873e6))
26
+
5
27
  ### [13.7.2](https://github.com/pact-foundation/pact-js-core/compare/v13.7.1...v13.7.2) (2022-08-11)
6
28
 
7
29
 
package/build/Makefile CHANGED
@@ -319,7 +319,7 @@ endif
319
319
 
320
320
  quiet_cmd_regen_makefile = ACTION Regenerating $@
321
321
  cmd_regen_makefile = cd $(srcdir); /opt/hostedtoolcache/node/12.22.12/x64/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py -fmake --ignore-environment "-Dlibrary=shared_library" "-Dvisibility=default" "-Dnode_root_dir=/home/runner/.cache/node-gyp/12.22.12" "-Dnode_gyp_dir=/opt/hostedtoolcache/node/12.22.12/x64/lib/node_modules/npm/node_modules/node-gyp" "-Dnode_lib_file=/home/runner/.cache/node-gyp/12.22.12/<(target_arch)/node.lib" "-Dmodule_root_dir=/home/runner/work/pact-js-core/pact-js-core" "-Dnode_engine=v8" "--depth=." "-Goutput_dir=." "--generator-output=build" -I/home/runner/work/pact-js-core/pact-js-core/build/config.gypi -I/opt/hostedtoolcache/node/12.22.12/x64/lib/node_modules/npm/node_modules/node-gyp/addon.gypi -I/home/runner/.cache/node-gyp/12.22.12/include/node/common.gypi "--toplevel-dir=." binding.gyp
322
- Makefile: $(srcdir)/../../../.cache/node-gyp/12.22.12/include/node/common.gypi $(srcdir)/binding.gyp $(srcdir)/build/config.gypi $(srcdir)/../../../../../opt/hostedtoolcache/node/12.22.12/x64/lib/node_modules/npm/node_modules/node-gyp/addon.gypi
322
+ Makefile: $(srcdir)/build/config.gypi $(srcdir)/binding.gyp $(srcdir)/../../../.cache/node-gyp/12.22.12/include/node/common.gypi $(srcdir)/../../../../../opt/hostedtoolcache/node/12.22.12/x64/lib/node_modules/npm/node_modules/node-gyp/addon.gypi
323
323
  $(call do_cmd,regen_makefile)
324
324
 
325
325
  # "all" is a concatenation of the "all" targets from all the included
@@ -413,14 +413,14 @@ Napi::Value PactffiVerifierSetPublishOptions(const Napi::CallbackInfo& info) {
413
413
  std::string providerVersion = info[1].As<Napi::String>().Utf8Value();
414
414
  std::string buildUrl = info[2].As<Napi::String>().Utf8Value();
415
415
  Napi::Array providerTagsRaw = info[3].As<Napi::Array>();
416
- std::string providerBranch = info[4].As<Napi::String>().Utf8Value();
416
+ std::string providerVersionBranch = info[4].As<Napi::String>().Utf8Value();
417
417
 
418
418
  pactffi_verifier_set_publish_options(handles[handleId],
419
419
  providerVersion.c_str(),
420
420
  buildUrl.c_str(),
421
421
  &NapiArrayToCStringVector(providerTagsRaw)[0],
422
422
  providerTagsRaw.Length(),
423
- providerBranch.c_str());
423
+ providerVersionBranch.c_str());
424
424
 
425
425
  return info.Env().Undefined();
426
426
  }
@@ -788,7 +788,7 @@ Napi::Value PactffiVerifierBrokerSourceWithSelectors(const Napi::CallbackInfo& i
788
788
  bool enablePending = info[5].As<Napi::Boolean>().Value();
789
789
  std::string includeWipPactsSince = info[6].As<Napi::String>().Utf8Value();
790
790
  Napi::Array providerTags = info[7].As<Napi::Array>();
791
- std::string providerBranch = info[8].As<Napi::String>().Utf8Value();
791
+ std::string providerVersionBranch = info[8].As<Napi::String>().Utf8Value();
792
792
  Napi::Array consumerVersionSelectors = info[9].As<Napi::Array>();
793
793
  Napi::Array consumerVersionTags = info[10].As<Napi::Array>();
794
794
 
@@ -805,7 +805,7 @@ Napi::Value PactffiVerifierBrokerSourceWithSelectors(const Napi::CallbackInfo& i
805
805
  includeWipPactsSince.c_str(),
806
806
  &cProviderTags[0],
807
807
  providerTags.Length(),
808
- providerBranch.c_str(),
808
+ providerVersionBranch.c_str(),
809
809
  &cConsumerVersionSelectors[0],
810
810
  consumerVersionSelectors.Length(),
811
811
  &cConsumerVersionTags[0],
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pact-foundation/pact-core",
3
- "version": "13.7.2",
3
+ "version": "13.7.5",
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",
@@ -155,7 +155,7 @@
155
155
  },
156
156
  {
157
157
  "type": "refactor",
158
- "hidden": true
158
+ "section": "Fixes and Improvements"
159
159
  },
160
160
  {
161
161
  "type": "perf",
@@ -1,4 +1,5 @@
1
1
  /// <reference types="node" />
2
+ export declare type FfiHandle = number;
2
3
  export declare type FfiPactHandle = number;
3
4
  export declare type FfiInteractionHandle = number;
4
5
  export declare type FfiVerifierHandle = number;
@@ -47,6 +48,8 @@ export declare enum FfiLogLevelFilter {
47
48
  export declare type Ffi = {
48
49
  pactffiInit(logLevel: string): string;
49
50
  pactffiVersion(): string;
51
+ } & FfiConsumerFunctions & FfiVerificationFunctions;
52
+ export declare type FfiConsumerFunctions = {
50
53
  pactffiCreateMockServerForPact(handle: FfiPactHandle, address: string, tls: boolean): number;
51
54
  pactffiNewPact(consumer: string, provider: string): FfiPactHandle;
52
55
  pactffiWithSpecification(handle: FfiPactHandle, specification: FfiSpecificationVersion): boolean;
@@ -84,6 +87,8 @@ export declare type Ffi = {
84
87
  pactffiMessageWithBinaryContents(handle: FfiMessageHandle, contentType: string, data: Buffer, size: number): void;
85
88
  pactffiMessageWithMetadata(handle: FfiMessageHandle, key: string, value: string): void;
86
89
  pactffiMessageReify(handle: FfiMessageHandle): string;
90
+ };
91
+ export declare type FfiVerificationFunctions = {
87
92
  pactffiVerifierNewForApplication(libraryName: string, version: string): FfiVerifierHandle;
88
93
  pactffiVerifierExecute(handle: FfiVerifierHandle, callback: (e: Error, res: number) => void): number;
89
94
  pactffiVerifierShutdown(handle: FfiVerifierHandle): void;
@@ -91,11 +96,11 @@ export declare type Ffi = {
91
96
  pactffiVerifierSetFilterInfo(handle: FfiVerifierHandle, description: string, state: string, noState: boolean): void;
92
97
  pactffiVerifierSetProviderState(handle: FfiVerifierHandle, url: string, teardown: boolean, body: boolean): void;
93
98
  pactffiVerifierSetVerificationOptions(handle: FfiVerifierHandle, disableSslVerification: boolean, requestTimeout: number): void;
94
- pactffiVerifierSetPublishOptions(handle: FfiVerifierHandle, providerVersion: string, buildUrl: string, providerTags: string[], providerBranch: string): void;
99
+ pactffiVerifierSetPublishOptions(handle: FfiVerifierHandle, providerVersion: string, buildUrl: string, providerTags: string[], providerVersionBranch: string): void;
95
100
  pactffiVerifierSetConsumerFilters(handle: FfiVerifierHandle, consumers: string[]): void;
96
101
  pactffiVerifierAddCustomHeader(handle: FfiVerifierHandle, header: string, value: string): void;
97
102
  pactffiVerifierAddFileSource(handle: FfiVerifierHandle, file: string): void;
98
103
  pactffiVerifierAddDirectorySource(handle: FfiVerifierHandle, dir: string): void;
99
104
  pactffiVerifierUrlSource(handle: FfiVerifierHandle, url: string, username: string, password: string, token: string): void;
100
- pactffiVerifierBrokerSourceWithSelectors(handle: FfiVerifierHandle, url: string, username: string, password: string, token: string, enablePending: boolean, includeWipPactsSince: string, providerTags: string[], providerBranch: string, consumerVersionSelectors: string[], consumerVersionTags: string[]): void;
105
+ pactffiVerifierBrokerSourceWithSelectors(handle: FfiVerifierHandle, url: string, username: string, password: string, token: string, enablePending: boolean, includeWipPactsSince: string, providerTags: string[], providerVersionBranch: string, consumerVersionSelectors: string[], consumerVersionTags: string[]): void;
101
106
  };
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["types.ts"],"names":[],"mappings":";;;AAQa,QAAA,uBAAuB,GAClC;IACE,6BAA6B,EAAE,CAAC;IAChC,wBAAwB,EAAE,CAAC;IAC3B,0BAA0B,EAAE,CAAC;IAC7B,wBAAwB,EAAE,CAAC;IAC3B,wBAAwB,EAAE,CAAC;IAC3B,wBAAwB,EAAE,CAAC;CAC5B,CAAC;AAIS,QAAA,oBAAoB,GAAyC;IACxE,OAAO,EAAE,CAAC;IACV,aAAa,EAAE,CAAC;IAChB,yBAAyB,EAAE,CAAC;IAC5B,qBAAqB,EAAE,CAAC;CACzB,CAAC;AAIW,QAAA,2BAA2B,GAGpC;IACF,OAAO,EAAE,CAAC;IACV,yBAAyB,EAAE,CAAC;IAC5B,sBAAsB,EAAE,CAAC;CAC1B,CAAC;AAIW,QAAA,0BAA0B,GAGnC;IACF,OAAO,EAAE,CAAC;IACV,aAAa,EAAE,CAAC;IAChB,qBAAqB,EAAE,CAAC;IACxB,mBAAmB,EAAE,CAAC;CACvB,CAAC;AAIW,QAAA,4BAA4B,GAGrC;IACF,OAAO,EAAE,CAAC;IACV,0BAA0B,EAAE,CAAC;IAC7B,oCAAoC,EAAE,CAAC;IACvC,6BAA6B,EAAE,CAAC;IAChC,yBAAyB,EAAE,CAAC;IAC5B,+BAA+B,EAAE,CAAC;IAClC,wBAAwB,EAAE,CAAC;CAC5B,CAAC;AAIW,QAAA,wBAAwB,GAAuB,CAAC,CAAC;AACjD,QAAA,yBAAyB,GAAuB,CAAC,CAAC;AAElD,QAAA,yBAAyB,GAAG;IACvC,YAAY,EAAE,CAAC,CAAC;IAChB,gBAAgB,EAAE,CAAC,CAAC;IACpB,sBAAsB,EAAE,CAAC,CAAC;IAC1B,UAAU,EAAE,CAAC,CAAC;IACd,iBAAiB,EAAE,CAAC,CAAC;IACrB,UAAU,EAAE,CAAC,CAAC;CACf,CAAC;AAUF,IAAY,wBAMX;AAND,WAAY,wBAAwB;IAClC,6GAA2B,CAAA;IAC3B,qGAAmB,CAAA;IACnB,yGAAqB,CAAA;IACrB,6FAAe,CAAA;IACf,iGAAiB,CAAA;AACnB,CAAC,EANW,wBAAwB,GAAxB,gCAAwB,KAAxB,gCAAwB,QAMnC;AAUD,IAAY,iBAGX;AAHD,WAAY,iBAAiB;IAC3B,mEAAa,CAAA;IACb,2EAAa,CAAA;AACf,CAAC,EAHW,iBAAiB,GAAjB,yBAAiB,KAAjB,yBAAiB,QAG5B;AAED,IAAY,iBAOX;AAPD,WAAY,iBAAiB;IAC3B,2EAAiB,CAAA;IACjB,+EAAe,CAAA;IACf,6EAAc,CAAA;IACd,6EAAc,CAAA;IACd,+EAAe,CAAA;IACf,+EAAe,CAAA;AACjB,CAAC,EAPW,iBAAiB,GAAjB,yBAAiB,KAAjB,yBAAiB,QAO5B"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["types.ts"],"names":[],"mappings":";;;AASa,QAAA,uBAAuB,GAClC;IACE,6BAA6B,EAAE,CAAC;IAChC,wBAAwB,EAAE,CAAC;IAC3B,0BAA0B,EAAE,CAAC;IAC7B,wBAAwB,EAAE,CAAC;IAC3B,wBAAwB,EAAE,CAAC;IAC3B,wBAAwB,EAAE,CAAC;CAC5B,CAAC;AAIS,QAAA,oBAAoB,GAAyC;IACxE,OAAO,EAAE,CAAC;IACV,aAAa,EAAE,CAAC;IAChB,yBAAyB,EAAE,CAAC;IAC5B,qBAAqB,EAAE,CAAC;CACzB,CAAC;AAIW,QAAA,2BAA2B,GAGpC;IACF,OAAO,EAAE,CAAC;IACV,yBAAyB,EAAE,CAAC;IAC5B,sBAAsB,EAAE,CAAC;CAC1B,CAAC;AAIW,QAAA,0BAA0B,GAGnC;IACF,OAAO,EAAE,CAAC;IACV,aAAa,EAAE,CAAC;IAChB,qBAAqB,EAAE,CAAC;IACxB,mBAAmB,EAAE,CAAC;CACvB,CAAC;AAIW,QAAA,4BAA4B,GAGrC;IACF,OAAO,EAAE,CAAC;IACV,0BAA0B,EAAE,CAAC;IAC7B,oCAAoC,EAAE,CAAC;IACvC,6BAA6B,EAAE,CAAC;IAChC,yBAAyB,EAAE,CAAC;IAC5B,+BAA+B,EAAE,CAAC;IAClC,wBAAwB,EAAE,CAAC;CAC5B,CAAC;AAIW,QAAA,wBAAwB,GAAuB,CAAC,CAAC;AACjD,QAAA,yBAAyB,GAAuB,CAAC,CAAC;AAElD,QAAA,yBAAyB,GAAG;IACvC,YAAY,EAAE,CAAC,CAAC;IAChB,gBAAgB,EAAE,CAAC,CAAC;IACpB,sBAAsB,EAAE,CAAC,CAAC;IAC1B,UAAU,EAAE,CAAC,CAAC;IACd,iBAAiB,EAAE,CAAC,CAAC;IACrB,UAAU,EAAE,CAAC,CAAC;CACf,CAAC;AAUF,IAAY,wBAMX;AAND,WAAY,wBAAwB;IAClC,6GAA2B,CAAA;IAC3B,qGAAmB,CAAA;IACnB,yGAAqB,CAAA;IACrB,6FAAe,CAAA;IACf,iGAAiB,CAAA;AACnB,CAAC,EANW,wBAAwB,GAAxB,gCAAwB,KAAxB,gCAAwB,QAMnC;AAUD,IAAY,iBAGX;AAHD,WAAY,iBAAiB;IAC3B,mEAAa,CAAA;IACb,2EAAa,CAAA;AACf,CAAC,EAHW,iBAAiB,GAAjB,yBAAiB,KAAjB,yBAAiB,QAG5B;AAED,IAAY,iBAOX;AAPD,WAAY,iBAAiB;IAC3B,2EAAiB,CAAA;IACjB,+EAAe,CAAA;IACf,6EAAc,CAAA;IACd,6EAAc,CAAA;IACd,+EAAe,CAAA;IACf,+EAAe,CAAA;AACjB,CAAC,EAPW,iBAAiB,GAAjB,yBAAiB,KAAjB,yBAAiB,QAO5B"}
@@ -1,5 +1,14 @@
1
- import { ArgMapping, IgnoreOptionCombinations } from './types';
2
- import { InternalPactVerifierOptions, VerifierOptions } from '../types';
3
- export declare const ignoredArguments: Array<string>;
4
- export declare const ignoreOptionCombinations: IgnoreOptionCombinations<VerifierOptions>;
5
- export declare const argMapping: ArgMapping<InternalPactVerifierOptions>;
1
+ import { FnMapping } from './types';
2
+ import { InternalPactVerifierOptions } from '../types';
3
+ import { FfiVerificationFunctions } from '../../ffi/types';
4
+ export declare type IgnoredFfiFunctions = {
5
+ pactffiVerifierNewForApplication: 1;
6
+ pactffiVerifierExecute: 1;
7
+ pactffiVerifierShutdown: 1;
8
+ };
9
+ export declare type MergedFfiSourceFunctions = {
10
+ pactffiVerifierAddFileSource: 1;
11
+ pactffiVerifierUrlSource: 1;
12
+ };
13
+ export declare type RequiredFfiVerificationFunctions = Omit<FfiVerificationFunctions, keyof (IgnoredFfiFunctions & MergedFfiSourceFunctions)>;
14
+ export declare const ffiFnMapping: FnMapping<RequiredFfiVerificationFunctions, InternalPactVerifierOptions>;
@@ -1,94 +1,159 @@
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 });
3
- exports.argMapping = exports.ignoreOptionCombinations = exports.ignoredArguments = void 0;
4
- const url = require("url");
5
- const filesystem_1 = require("../filesystem");
6
- exports.ignoredArguments = [
7
- 'requestFilter',
8
- 'stateHandlers',
9
- 'messageProviders',
10
- 'changeOrigin',
11
- 'beforeEach',
12
- 'afterEach',
13
- 'validateSSL',
14
- ];
15
- exports.ignoreOptionCombinations = {
16
- enablePending: { ifNotSet: 'pactBrokerUrl' },
17
- consumerVersionSelectors: { ifNotSet: 'pactBrokerUrl' },
18
- consumerVersionTags: { ifNotSet: 'pactBrokerUrl' },
19
- publishVerificationResult: { ifNotSet: 'pactBrokerUrl' },
6
+ exports.ffiFnMapping = void 0;
7
+ const logger_1 = __importDefault(require("../../logger"));
8
+ const fs = require("fs");
9
+ const types_1 = require("./types");
10
+ const url_1 = require("url");
11
+ const DEFAULT_TIMEOUT = 30000;
12
+ const objArrayToStringArray = (obj) => {
13
+ return obj.map((o) => JSON.stringify(o));
20
14
  };
21
- exports.argMapping = {
22
- buildUrl: { arg: '--build-url', mapper: 'string' },
23
- providerBranch: { arg: '--provider-branch', mapper: 'string' },
24
- providerBaseUrl: (providerBaseUrl) => {
25
- const u = url.parse(providerBaseUrl);
26
- return u && u.port && u.hostname
27
- ? ['--port', u.port, '--hostname', u.hostname]
28
- : [];
15
+ exports.ffiFnMapping = {
16
+ pactffiVerifierAddCustomHeader: {
17
+ validateAndExecute(ffi, handle, options) {
18
+ const messages = [];
19
+ if (options.customProviderHeaders) {
20
+ if (Array.isArray(options.customProviderHeaders)) {
21
+ options.customProviderHeaders.forEach((item) => {
22
+ const parts = item.split(':');
23
+ if (parts.length !== 2) {
24
+ messages.push(`${item} is not a valid custom header. Must be in the format 'Header-Name: Value'`);
25
+ }
26
+ else {
27
+ ffi.pactffiVerifierAddCustomHeader(handle, parts[0], parts[1]);
28
+ }
29
+ });
30
+ }
31
+ else {
32
+ if (options.customProviderHeaders) {
33
+ Object.entries(options.customProviderHeaders).forEach(([key, value]) => {
34
+ ffi.pactffiVerifierAddCustomHeader(handle, key, value);
35
+ });
36
+ }
37
+ }
38
+ if (messages.length > 0) {
39
+ return { status: types_1.FnValidationStatus.FAIL };
40
+ }
41
+ return { status: types_1.FnValidationStatus.SUCCESS };
42
+ }
43
+ return { status: types_1.FnValidationStatus.IGNORE };
44
+ },
29
45
  },
30
- providerStatesSetupBody: {
31
- warningMessage: 'providerStatesSetupBody is not valid for the CLI',
46
+ pactffiVerifierAddDirectorySource: {
47
+ validateAndExecute(ffi, handle, options) {
48
+ const messages = [];
49
+ if (options.pactUrls) {
50
+ options.pactUrls.forEach((file) => {
51
+ logger_1.default.debug(`checking source type of given pactUrl: ${file}`);
52
+ try {
53
+ const u = new url_1.URL(file);
54
+ if (u.hostname) {
55
+ logger_1.default.debug(`adding ${file} as a Url source`);
56
+ ffi.pactffiVerifierUrlSource(handle, file, options.pactBrokerUsername ||
57
+ process.env.PACT_BROKER_USERNAME ||
58
+ '', options.pactBrokerPassword ||
59
+ process.env.PACT_BROKER_PASSWORD ||
60
+ '', options.pactBrokerToken || process.env.PACT_BROKER_TOKEN || '');
61
+ }
62
+ }
63
+ catch {
64
+ messages.push(`${file} is not a valid URL`);
65
+ }
66
+ try {
67
+ const f = fs.lstatSync(file);
68
+ if (f.isDirectory()) {
69
+ logger_1.default.debug(`adding ${file} as Directory source`);
70
+ ffi.pactffiVerifierAddDirectorySource(handle, file);
71
+ }
72
+ else if (f.isFile() || f.isSymbolicLink()) {
73
+ logger_1.default.debug(`adding ${file} as File source`);
74
+ ffi.pactffiVerifierAddFileSource(handle, file);
75
+ }
76
+ }
77
+ catch {
78
+ messages.push(`'${file}' does not exist, or is not a file or directory`);
79
+ }
80
+ });
81
+ return { status: types_1.FnValidationStatus.SUCCESS };
82
+ }
83
+ if (messages.length > 0) {
84
+ return { status: types_1.FnValidationStatus.FAIL, messages };
85
+ }
86
+ return { status: types_1.FnValidationStatus.IGNORE };
87
+ },
32
88
  },
33
- providerStatesSetupTeardown: {
34
- warningMessage: 'providerStatesSetupTeardown is not valid for the CLI',
89
+ pactffiVerifierBrokerSourceWithSelectors: {
90
+ validateAndExecute(ffi, handle, opts) {
91
+ const brokerUrl = opts.pactBrokerUrl || process.env.PACT_BROKER_BASE_URL;
92
+ if (brokerUrl && opts.provider) {
93
+ 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.providerVersionBranch || opts.providerBranch || '', opts.consumerVersionSelectors
94
+ ? objArrayToStringArray(opts.consumerVersionSelectors)
95
+ : [], opts.consumerVersionTags || []);
96
+ return { status: types_1.FnValidationStatus.SUCCESS };
97
+ }
98
+ return { status: types_1.FnValidationStatus.IGNORE };
99
+ },
35
100
  },
36
- logLevel: (logLevel) => ['--loglevel', logLevel],
37
- provider: { arg: '--provider-name', mapper: 'string' },
38
- pactUrls: (pactUrls) => pactUrls.reduce((acc, uri) => {
39
- switch (filesystem_1.getUriType(uri)) {
40
- case 'URL':
41
- return [...acc, '--url', uri];
42
- case 'DIRECTORY':
43
- return [...acc, '--dir', uri];
44
- case 'FILE':
45
- return [...acc, '--file', uri];
46
- default:
47
- return acc;
48
- }
49
- }, []),
50
- pactBrokerUrl: { arg: '--broker-url', mapper: 'string' },
51
- pactBrokerUsername: { arg: '--user', mapper: 'string' },
52
- pactBrokerPassword: { arg: '--password', mapper: 'string' },
53
- pactBrokerToken: { arg: '--token', mapper: 'string' },
54
- consumerVersionTags: (tags) => [
55
- '--consumer-version-tags',
56
- Array.isArray(tags) ? tags.join(',') : tags,
57
- ],
58
- providerVersionTags: (tags) => [
59
- '--provider-tags',
60
- Array.isArray(tags) ? tags.join(',') : tags,
61
- ],
62
- providerStatesSetupUrl: { arg: '--state-change-url', mapper: 'string' },
63
- providerVersion: { arg: '--provider-version', mapper: 'string' },
64
- includeWipPactsSince: { arg: '--include-wip-pacts-since', mapper: 'string' },
65
- consumerVersionSelectors: (selectors) => selectors
66
- .map((s) => [
67
- '--consumer-version-selectors',
68
- JSON.stringify(s),
69
- ])
70
- .reduce((acc, current) => [...acc, ...current], []),
71
- publishVerificationResult: { arg: '--publish', mapper: 'flag' },
72
- enablePending: { arg: '--enable-pending', mapper: 'flag' },
73
- timeout: { arg: '--request-timeout', mapper: 'string' },
74
- disableSslVerification: { arg: '--disable-ssl-verification', mapper: 'flag' },
75
- format: {
76
- warningMessage: "All output is now on standard out, setting 'format' has no effect",
101
+ pactffiVerifierSetConsumerFilters: {
102
+ validateAndExecute(ffi, handle, options) {
103
+ if (options.consumerFilters && options.consumerFilters.length > 0) {
104
+ ffi.pactffiVerifierSetConsumerFilters(handle, options.consumerFilters);
105
+ return { status: types_1.FnValidationStatus.SUCCESS };
106
+ }
107
+ return { status: types_1.FnValidationStatus.IGNORE };
108
+ },
77
109
  },
78
- out: {
79
- warningMessage: "All output is now on standard out, setting 'out' has no effect",
110
+ pactffiVerifierSetFilterInfo: {
111
+ validateAndExecute(ffi, handle) {
112
+ if (process.env.PACT_DESCRIPTION ||
113
+ process.env.PACT_PROVIDER_STATE ||
114
+ process.env.PACT_PROVIDER_NO_STATE) {
115
+ const filterDescription = process.env.PACT_DESCRIPTION || '';
116
+ const filterState = process.env.PACT_PROVIDER_STATE || '';
117
+ const filterNoState = process.env.PACT_PROVIDER_NO_STATE ? true : false;
118
+ ffi.pactffiVerifierSetFilterInfo(handle, filterDescription, filterState, filterNoState);
119
+ return { status: types_1.FnValidationStatus.SUCCESS };
120
+ }
121
+ return { status: types_1.FnValidationStatus.IGNORE };
122
+ },
80
123
  },
81
- logDir: {
82
- warningMessage: 'Setting logDir is deprecated as all logs are now on standard out',
124
+ pactffiVerifierSetProviderInfo: {
125
+ validateAndExecute(ffi, handle, options) {
126
+ const uri = new url_1.URL(options.providerBaseUrl);
127
+ ffi.pactffiVerifierSetProviderInfo(handle, options.provider || '', uri.protocol.split(':')[0], uri.hostname, parseInt(uri.port, 10), uri.pathname);
128
+ return { status: types_1.FnValidationStatus.SUCCESS };
129
+ },
83
130
  },
84
- verbose: {
85
- warningMessage: "Verbose mode is deprecated and has no effect, please use logLevel: 'DEBUG' instead",
131
+ pactffiVerifierSetProviderState: {
132
+ validateAndExecute(ffi, handle, options) {
133
+ if (options.providerStatesSetupUrl) {
134
+ ffi.pactffiVerifierSetProviderState(handle, options.providerStatesSetupUrl, true, true);
135
+ return { status: types_1.FnValidationStatus.SUCCESS };
136
+ }
137
+ return { status: types_1.FnValidationStatus.IGNORE };
138
+ },
86
139
  },
87
- monkeypatch: {
88
- warningMessage: 'The undocumented feature monkeypatch is no more, please file an issue if you were using it and need this functionality',
140
+ pactffiVerifierSetPublishOptions: {
141
+ validateAndExecute(ffi, handle, options) {
142
+ if (options.publishVerificationResult && options.providerVersion) {
143
+ ffi.pactffiVerifierSetPublishOptions(handle, options.providerVersion, options.buildUrl || '', options.providerVersionTags || [], options.providerVersionBranch || options.providerBranch || '');
144
+ return { status: types_1.FnValidationStatus.SUCCESS };
145
+ }
146
+ return { status: types_1.FnValidationStatus.IGNORE };
147
+ },
89
148
  },
90
- customProviderHeaders: {
91
- warningMessage: 'customProviderHeaders have been removed. This functionality is provided by request filters in a much more flexible way',
149
+ pactffiVerifierSetVerificationOptions: {
150
+ validateAndExecute(ffi, handle, opts) {
151
+ if (opts.disableSslVerification || opts.timeout) {
152
+ ffi.pactffiVerifierSetVerificationOptions(handle, opts.disableSslVerification || false, opts.timeout || DEFAULT_TIMEOUT);
153
+ return { status: types_1.FnValidationStatus.SUCCESS };
154
+ }
155
+ return { status: types_1.FnValidationStatus.IGNORE };
156
+ },
92
157
  },
93
158
  };
94
159
  //# sourceMappingURL=arguments.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"arguments.js","sourceRoot":"","sources":["arguments.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"arguments.js","sourceRoot":"","sources":["arguments.ts"],"names":[],"mappings":";;;;;;AAAA,0DAAkC;AAClC,yBAA0B;AAE1B,mCAAwD;AAIxD,6BAA0B;AAE1B,MAAM,eAAe,GAAG,KAAK,CAAC;AAE9B,MAAM,qBAAqB,GAAG,CAAC,GAAc,EAAE,EAAE;IAC/C,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3C,CAAC,CAAC;AAkBW,QAAA,YAAY,GAGrB;IACF,8BAA8B,EAAE;QAC9B,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO;YACrC,MAAM,QAAQ,GAAa,EAAE,CAAC;YAE9B,IAAI,OAAO,CAAC,qBAAqB,EAAE;gBACjC,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,qBAAqB,CAAC,EAAE;oBAChD,OAAO,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;wBAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;wBAC9B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;4BACtB,QAAQ,CAAC,IAAI,CACX,GAAG,IAAI,2EAA2E,CACnF,CAAC;yBACH;6BAAM;4BACL,GAAG,CAAC,8BAA8B,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;yBAChE;oBACH,CAAC,CAAC,CAAC;iBACJ;qBAAM;oBACL,IAAI,OAAO,CAAC,qBAAqB,EAAE;wBACjC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,OAAO,CACnD,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;4BACf,GAAG,CAAC,8BAA8B,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;wBACzD,CAAC,CACF,CAAC;qBACH;iBACF;gBACD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;oBACvB,OAAO,EAAE,MAAM,EAAE,0BAAkB,CAAC,IAAI,EAAE,CAAC;iBAC5C;gBAED,OAAO,EAAE,MAAM,EAAE,0BAAkB,CAAC,OAAO,EAAE,CAAC;aAC/C;YAED,OAAO,EAAE,MAAM,EAAE,0BAAkB,CAAC,MAAM,EAAE,CAAC;QAC/C,CAAC;KACF;IACD,iCAAiC,EAAE;QACjC,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO;YACrC,MAAM,QAAQ,GAAa,EAAE,CAAC;YAE9B,IAAI,OAAO,CAAC,QAAQ,EAAE;gBACpB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;oBAChC,gBAAM,CAAC,KAAK,CAAC,0CAA0C,IAAI,EAAE,CAAC,CAAC;oBAC/D,IAAI;wBACF,MAAM,CAAC,GAAG,IAAI,SAAG,CAAC,IAAI,CAAC,CAAC;wBAExB,IAAI,CAAC,CAAC,QAAQ,EAAE;4BACd,gBAAM,CAAC,KAAK,CAAC,UAAU,IAAI,kBAAkB,CAAC,CAAC;4BAC/C,GAAG,CAAC,wBAAwB,CAC1B,MAAM,EACN,IAAI,EACJ,OAAO,CAAC,kBAAkB;gCACxB,OAAO,CAAC,GAAG,CAAC,oBAAoB;gCAChC,EAAE,EACJ,OAAO,CAAC,kBAAkB;gCACxB,OAAO,CAAC,GAAG,CAAC,oBAAoB;gCAChC,EAAE,EACJ,OAAO,CAAC,eAAe,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAC/D,CAAC;yBACH;qBACF;oBAAC,MAAM;wBACN,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,qBAAqB,CAAC,CAAC;qBAC7C;oBAED,IAAI;wBACF,MAAM,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;wBAE7B,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE;4BACnB,gBAAM,CAAC,KAAK,CAAC,UAAU,IAAI,sBAAsB,CAAC,CAAC;4BACnD,GAAG,CAAC,iCAAiC,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;yBACrD;6BAAM,IAAI,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,cAAc,EAAE,EAAE;4BAC3C,gBAAM,CAAC,KAAK,CAAC,UAAU,IAAI,iBAAiB,CAAC,CAAC;4BAC9C,GAAG,CAAC,4BAA4B,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;yBAChD;qBACF;oBAAC,MAAM;wBACN,QAAQ,CAAC,IAAI,CACX,IAAI,IAAI,iDAAiD,CAC1D,CAAC;qBACH;gBACH,CAAC,CAAC,CAAC;gBAEH,OAAO,EAAE,MAAM,EAAE,0BAAkB,CAAC,OAAO,EAAE,CAAC;aAC/C;YAED,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;gBACvB,OAAO,EAAE,MAAM,EAAE,0BAAkB,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC;aACtD;YAED,OAAO,EAAE,MAAM,EAAE,0BAAkB,CAAC,MAAM,EAAE,CAAC;QAC/C,CAAC;KACF;IACD,wCAAwC,EAAE;QACxC,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI;YAClC,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC;YAEzE,IAAI,SAAS,IAAI,IAAI,CAAC,QAAQ,EAAE;gBAC9B,GAAG,CAAC,wCAAwC,CAC1C,MAAM,EACN,SAAS,EACT,IAAI,CAAC,kBAAkB,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,EAAE,EACjE,IAAI,CAAC,kBAAkB,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,EAAE,EACjE,IAAI,CAAC,eAAe,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,EAAE,EAC3D,IAAI,CAAC,aAAa,IAAI,KAAK,EAC3B,IAAI,CAAC,oBAAoB,IAAI,EAAE,EAC/B,IAAI,CAAC,mBAAmB,IAAI,EAAE,EAC9B,IAAI,CAAC,qBAAqB,IAAI,IAAI,CAAC,cAAc,IAAI,EAAE,EACvD,IAAI,CAAC,wBAAwB;oBAC3B,CAAC,CAAC,qBAAqB,CAAC,IAAI,CAAC,wBAAwB,CAAC;oBACtD,CAAC,CAAC,EAAE,EACN,IAAI,CAAC,mBAAmB,IAAI,EAAE,CAC/B,CAAC;gBACF,OAAO,EAAE,MAAM,EAAE,0BAAkB,CAAC,OAAO,EAAE,CAAC;aAC/C;YACD,OAAO,EAAE,MAAM,EAAE,0BAAkB,CAAC,MAAM,EAAE,CAAC;QAC/C,CAAC;KACF;IACD,iCAAiC,EAAE;QACjC,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO;YACrC,IAAI,OAAO,CAAC,eAAe,IAAI,OAAO,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;gBACjE,GAAG,CAAC,iCAAiC,CAAC,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;gBACvE,OAAO,EAAE,MAAM,EAAE,0BAAkB,CAAC,OAAO,EAAE,CAAC;aAC/C;YACD,OAAO,EAAE,MAAM,EAAE,0BAAkB,CAAC,MAAM,EAAE,CAAC;QAC/C,CAAC;KACF;IACD,4BAA4B,EAAE;QAC5B,kBAAkB,CAAC,GAAG,EAAE,MAAM;YAC5B,IACE,OAAO,CAAC,GAAG,CAAC,gBAAgB;gBAC5B,OAAO,CAAC,GAAG,CAAC,mBAAmB;gBAC/B,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAClC;gBACA,MAAM,iBAAiB,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAC;gBAC7D,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,EAAE,CAAC;gBAC1D,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;gBAExE,GAAG,CAAC,4BAA4B,CAC9B,MAAM,EACN,iBAAiB,EACjB,WAAW,EACX,aAAa,CACd,CAAC;gBAEF,OAAO,EAAE,MAAM,EAAE,0BAAkB,CAAC,OAAO,EAAE,CAAC;aAC/C;YAED,OAAO,EAAE,MAAM,EAAE,0BAAkB,CAAC,MAAM,EAAE,CAAC;QAC/C,CAAC;KACF;IACD,8BAA8B,EAAE;QAC9B,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO;YACrC,MAAM,GAAG,GAAG,IAAI,SAAG,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;YAE7C,GAAG,CAAC,8BAA8B,CAChC,MAAM,EACN,OAAO,CAAC,QAAQ,IAAI,EAAE,EACtB,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAC1B,GAAG,CAAC,QAAQ,EACZ,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,EACtB,GAAG,CAAC,QAAQ,CACb,CAAC;YAEF,OAAO,EAAE,MAAM,EAAE,0BAAkB,CAAC,OAAO,EAAE,CAAC;QAChD,CAAC;KACF;IACD,+BAA+B,EAAE;QAC/B,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO;YACrC,IAAI,OAAO,CAAC,sBAAsB,EAAE;gBAClC,GAAG,CAAC,+BAA+B,CACjC,MAAM,EACN,OAAO,CAAC,sBAAsB,EAC9B,IAAI,EACJ,IAAI,CACL,CAAC;gBACF,OAAO,EAAE,MAAM,EAAE,0BAAkB,CAAC,OAAO,EAAE,CAAC;aAC/C;YAED,OAAO,EAAE,MAAM,EAAE,0BAAkB,CAAC,MAAM,EAAE,CAAC;QAC/C,CAAC;KACF;IACD,gCAAgC,EAAE;QAChC,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO;YACrC,IAAI,OAAO,CAAC,yBAAyB,IAAI,OAAO,CAAC,eAAe,EAAE;gBAChE,GAAG,CAAC,gCAAgC,CAClC,MAAM,EACN,OAAO,CAAC,eAAe,EACvB,OAAO,CAAC,QAAQ,IAAI,EAAE,EACtB,OAAO,CAAC,mBAAmB,IAAI,EAAE,EACjC,OAAO,CAAC,qBAAqB,IAAI,OAAO,CAAC,cAAc,IAAI,EAAE,CAC9D,CAAC;gBACF,OAAO,EAAE,MAAM,EAAE,0BAAkB,CAAC,OAAO,EAAE,CAAC;aAC/C;YACD,OAAO,EAAE,MAAM,EAAE,0BAAkB,CAAC,MAAM,EAAE,CAAC;QAC/C,CAAC;KACF;IACD,qCAAqC,EAAE;QACrC,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI;YAClC,IAAI,IAAI,CAAC,sBAAsB,IAAI,IAAI,CAAC,OAAO,EAAE;gBAC/C,GAAG,CAAC,qCAAqC,CACvC,MAAM,EACN,IAAI,CAAC,sBAAsB,IAAI,KAAK,EACpC,IAAI,CAAC,OAAO,IAAI,eAAe,CAChC,CAAC;gBACF,OAAO,EAAE,MAAM,EAAE,0BAAkB,CAAC,OAAO,EAAE,CAAC;aAC/C;YAED,OAAO,EAAE,MAAM,EAAE,0BAAkB,CAAC,MAAM,EAAE,CAAC;QAC/C,CAAC;KACF;CACF,CAAC"}
@@ -1 +1,3 @@
1
- export {};
1
+ import { InternalPactVerifierOptions } from '../types';
2
+ import { Ffi, FfiVerifierHandle } from '../../ffi/types';
3
+ export declare const setupVerification: (ffi: Ffi, handle: FfiVerifierHandle, options: InternalPactVerifierOptions) => void;
@@ -1,59 +1,44 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
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;
4
20
  };
5
21
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.argumentMapper = void 0;
7
- const logger_1 = __importDefault(require("../../logger"));
22
+ exports.setupVerification = void 0;
23
+ const types_1 = require("./types");
24
+ const logger_1 = __importStar(require("../../logger"));
8
25
  const arguments_1 = require("./arguments");
9
- const argumentMapper = (options) => Object.keys(options)
10
- .filter((k) => {
11
- const ignoreCondition = arguments_1.ignoreOptionCombinations[k];
12
- if (ignoreCondition !== undefined) {
13
- logger_1.default.trace(`The argument mapper has an ignored combination for '${k}'`);
14
- if (ignoreCondition.ifNotSet &&
15
- options[ignoreCondition.ifNotSet] === undefined) {
16
- logger_1.default.warn(`Ignoring option '${k}' because it is invalid without '${ignoreCondition.ifNotSet}' also being set. This may indicate an error in your configuration`);
17
- return false;
18
- }
19
- logger_1.default.trace(`But it was not ignored: '${k}'`);
20
- }
21
- return true;
22
- })
23
- .map((key) => {
24
- const thisMapping = arguments_1.argMapping[key];
25
- const thisValue = options[key];
26
- if (!thisMapping) {
27
- if (!arguments_1.ignoredArguments.includes(key)) {
28
- logger_1.default.error(`Pact-core is ignoring unknown option '${key}'`);
29
- }
30
- return [];
31
- }
32
- if (thisValue === undefined) {
33
- 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`);
34
- return [];
35
- }
36
- if ('warningMessage' in thisMapping) {
37
- logger_1.default.warn(thisMapping.warningMessage);
38
- return [];
39
- }
40
- if ('arg' in thisMapping) {
41
- switch (thisMapping.mapper) {
42
- case 'string':
43
- return [thisMapping.arg, `${thisValue}`];
44
- case 'flag':
45
- return thisValue ? [thisMapping.arg] : [];
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;
46
38
  default:
47
- logger_1.default.pactCrash(`Option mapper for '${key}' maps to '${thisMapping.arg}' with unknown mapper type '${thisMapping.mapper}'`);
48
- return [];
39
+ logger_1.logCrashAndThrow(`the ffi function '${k}' returned the following unrecognised validation signal: '${validation.status}'`);
49
40
  }
50
- }
51
- if (typeof thisMapping === 'function') {
52
- return thisMapping(thisValue);
53
- }
54
- logger_1.default.pactCrash(`The option mapper completely failed to find a mapping for '${key}'.`);
55
- return [];
56
- })
57
- .reduce((acc, current) => [...acc, ...current], []);
58
- exports.argumentMapper = argumentMapper;
41
+ });
42
+ };
43
+ exports.setupVerification = setupVerification;
59
44
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;;;;AACA,0DAAkC;AAElC,2CAIqB;AAUd,MAAM,cAAc,GAAG,CAC5B,OAAoC,EAC1B,EAAE,CACX,MAAM,CAAC,IAAI,CAAC,OAAO,CAA8C;KAC/D,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;IACZ,MAAM,eAAe,GAAG,oCAAwB,CAAC,CAAC,CAAC,CAAC;IACpD,IAAI,eAAe,KAAK,SAAS,EAAE;QACjC,gBAAM,CAAC,KAAK,CACV,uDAAuD,CAAC,GAAG,CAC5D,CAAC;QAEF,IACE,eAAe,CAAC,QAAQ;YACxB,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,KAAK,SAAS,EAC/C;YACA,gBAAM,CAAC,IAAI,CACT,oBAAoB,CAAC,oCAAoC,eAAe,CAAC,QAAQ,oEAAoE,CACtJ,CAAC;YACF,OAAO,KAAK,CAAC;SACd;QACD,gBAAM,CAAC,KAAK,CAAC,4BAA4B,CAAC,GAAG,CAAC,CAAC;KAChD;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;KACD,GAAG,CAAC,CAAC,GAAsC,EAAE,EAAE;IAK9C,MAAM,WAAW,GAAG,sBAAU,CAAC,GAAG,CAAC,CAAC;IACpC,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAE/B,IAAI,CAAC,WAAW,EAAE;QAChB,IAAI,CAAC,4BAAgB,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YACnC,gBAAM,CAAC,KAAK,CAAC,yCAAyC,GAAG,GAAG,CAAC,CAAC;SAC/D;QACD,OAAO,EAAE,CAAC;KACX;IACD,IAAI,SAAS,KAAK,SAAS,EAAE;QAC3B,gBAAM,CAAC,IAAI,CACT,wBAAwB,GAAG,0JAA0J,CACtL,CAAC;QACF,OAAO,EAAE,CAAC;KACX;IACD,IAAI,gBAAgB,IAAI,WAAW,EAAE;QACnC,gBAAM,CAAC,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QACxC,OAAO,EAAE,CAAC;KACX;IACD,IAAI,KAAK,IAAI,WAAW,EAAE;QACxB,QAAQ,WAAW,CAAC,MAAM,EAAE;YAC1B,KAAK,QAAQ;gBACX,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,SAAS,EAAE,CAAC,CAAC;YAC3C,KAAK,MAAM;gBACT,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5C;gBACE,gBAAM,CAAC,SAAS,CACd,sBAAsB,GAAG,cAAc,WAAW,CAAC,GAAG,+BAA+B,WAAW,CAAC,MAAM,GAAG,CAC3G,CAAC;gBACF,OAAO,EAAE,CAAC;SACb;KACF;IACD,IAAI,OAAO,WAAW,KAAK,UAAU,EAAE;QACrC,OAAQ,WAAwC,CAAC,SAAS,CAAC,CAAC;KAC7D;IACD,gBAAM,CAAC,SAAS,CACd,8DAA8D,GAAG,IAAI,CACtE,CAAC;IACF,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;KAED,MAAM,CAAC,CAAC,GAAa,EAAE,OAAiB,EAAE,EAAE,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;AAtE/D,QAAA,cAAc,kBAsEiD"}
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<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<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"}
@@ -23,78 +23,15 @@ exports.verify = void 0;
23
23
  const logger_1 = __importStar(require("../logger"));
24
24
  const ffi_1 = require("../ffi");
25
25
  const types_1 = require("../ffi/types");
26
- const url_1 = require("url");
27
26
  const pkg = require('../../package.json');
28
- const fs = require("fs");
29
- const objArrayToStringArray = (obj) => {
30
- return obj.map((o) => JSON.stringify(o));
31
- };
27
+ const argumentMapper_1 = require("./argumentMapper");
32
28
  const verify = (opts) => {
33
29
  const ffi = ffi_1.getFfiLib(opts.logLevel);
34
30
  if (opts.logLevel) {
35
31
  logger_1.setLogLevel(opts.logLevel);
36
32
  }
37
33
  const handle = ffi.pactffiVerifierNewForApplication(pkg.name.split('/')[1], pkg.version);
38
- const uri = new url_1.URL(opts.providerBaseUrl);
39
- ffi.pactffiVerifierSetProviderInfo(handle, opts.provider || '', uri.protocol.split(':')[0], uri.hostname, parseInt(uri.port, 10), uri.pathname);
40
- if (opts.providerStatesSetupUrl) {
41
- ffi.pactffiVerifierSetProviderState(handle, opts.providerStatesSetupUrl, opts.providerStatesSetupTeardown || true, opts.providerStatesSetupBody || true);
42
- }
43
- if (opts.customProviderHeaders) {
44
- Object.entries(opts.customProviderHeaders).forEach(([key, value]) => {
45
- ffi.pactffiVerifierAddCustomHeader(handle, key, value);
46
- });
47
- }
48
- const filterDescription = process.env.PACT_DESCRIPTION || '';
49
- const filterState = process.env.PACT_PROVIDER_STATE || '';
50
- const filterNoState = process.env.PACT_PROVIDER_NO_STATE ? true : false;
51
- ffi.pactffiVerifierSetFilterInfo(handle, filterDescription, filterState, filterNoState);
52
- if (opts.pactUrls) {
53
- opts.pactUrls.forEach((file) => {
54
- logger_1.default.debug(`checking source type of given pactUrl: ${file}`);
55
- try {
56
- const u = new url_1.URL(file);
57
- if (u.hostname) {
58
- logger_1.default.debug(`adding ${file} as a Url source`);
59
- ffi.pactffiVerifierUrlSource(handle, file, opts.pactBrokerUsername || '', opts.pactBrokerPassword || '', opts.pactBrokerToken || '');
60
- }
61
- }
62
- catch {
63
- logger_1.default.debug(`${file} is not a URI`);
64
- }
65
- try {
66
- const f = fs.lstatSync(file);
67
- if (f.isDirectory()) {
68
- logger_1.default.debug(`adding ${file} as Directory source`);
69
- ffi.pactffiVerifierAddDirectorySource(handle, file);
70
- }
71
- else if (f.isFile() || f.isSymbolicLink()) {
72
- logger_1.default.debug(`adding ${file} as File source`);
73
- ffi.pactffiVerifierAddFileSource(handle, file);
74
- }
75
- }
76
- catch {
77
- logger_1.default.debug(`${file} is not a file`);
78
- }
79
- });
80
- }
81
- if (opts.disableSslVerification || opts.timeout) {
82
- ffi.pactffiVerifierSetVerificationOptions(handle, opts.disableSslVerification || false, opts.timeout || 30000);
83
- }
84
- if (opts.publishVerificationResult ||
85
- opts.providerVersion ||
86
- opts.buildUrl ||
87
- opts.disableSslVerification ||
88
- opts.timeout ||
89
- opts.providerVersionTags) {
90
- ffi.pactffiVerifierSetPublishOptions(handle, opts.providerVersion || '', opts.buildUrl || '', opts.providerVersionTags || [], opts.providerBranch || '');
91
- }
92
- const brokerUrl = opts.pactBrokerUrl || process.env.PACT_BROKER_BASE_URL;
93
- if (brokerUrl && opts.provider) {
94
- 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
95
- ? objArrayToStringArray(opts.consumerVersionSelectors)
96
- : [], opts.consumerVersionTags || []);
97
- }
34
+ argumentMapper_1.setupVerification(ffi, handle, opts);
98
35
  return new Promise((resolve, reject) => {
99
36
  ffi.pactffiVerifierExecute(handle, (err, res) => {
100
37
  logger_1.default.debug(`shutting down verifier with handle ${handle}`);
@@ -1 +1 @@
1
- {"version":3,"file":"nativeVerifier.js","sourceRoot":"","sources":["nativeVerifier.ts"],"names":[],"mappings":"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"}
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"}
@@ -25,7 +25,7 @@ export interface VerifierOptions {
25
25
  pactBrokerToken?: string;
26
26
  consumerVersionTags?: string[];
27
27
  providerVersionTags?: string[];
28
- providerBranch?: string;
28
+ providerVersionBranch?: string;
29
29
  providerStatesSetupUrl?: string;
30
30
  providerStatesSetupTeardown?: boolean;
31
31
  providerStatesSetupBody?: boolean;
@@ -38,5 +38,7 @@ export interface VerifierOptions {
38
38
  logLevel?: LogLevel;
39
39
  disableSslVerification?: boolean;
40
40
  buildUrl?: string;
41
- customProviderHeaders?: CustomHeaders;
41
+ customProviderHeaders?: CustomHeaders | string[];
42
+ consumerFilters?: string[];
43
+ providerBranch?: string;
42
44
  }
@@ -1,2 +1,13 @@
1
- import { VerifierOptions } from './types';
2
- export declare const validateOptions: (o: VerifierOptions) => VerifierOptions;
1
+ import { InternalPactVerifierOptions, VerifierOptions } from './types';
2
+ export declare const deprecatedFunction: () => (_: any, property: string) => boolean;
3
+ export declare const deprecatedBy: (preferredOption: string) => () => (_: any, property: string) => boolean;
4
+ export declare const incompatibleWith: (keys: (keyof InternalPactVerifierOptions)[]) => (options: InternalPactVerifierOptions) => (_: any, property: string) => boolean;
5
+ export declare const requires: (keys: (keyof InternalPactVerifierOptions)[]) => (options: InternalPactVerifierOptions) => (_: any, property: string) => boolean;
6
+ export declare const requiresOneOf: (keys: (keyof InternalPactVerifierOptions)[]) => (options: InternalPactVerifierOptions) => (_: any, property: string) => boolean;
7
+ export declare type AssertFunction = (a: any, ...args: any) => boolean;
8
+ export declare const wrapCheckType: (fn: AssertFunction) => () => AssertFunction;
9
+ export declare type ArgumentValidationRules<T> = {
10
+ [Key in keyof T]-?: ((options: T) => AssertFunction)[];
11
+ };
12
+ export declare const validationRules: ArgumentValidationRules<InternalPactVerifierOptions>;
13
+ export declare const validateOptions: (options: VerifierOptions) => VerifierOptions;
@@ -1,44 +1,78 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
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;
4
20
  };
5
21
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.validateOptions = void 0;
22
+ exports.validateOptions = exports.validationRules = exports.wrapCheckType = exports.requiresOneOf = exports.requires = exports.incompatibleWith = exports.deprecatedBy = exports.deprecatedFunction = void 0;
7
23
  const checkTypes = require("check-types");
8
- const logger_1 = __importDefault(require("../logger"));
24
+ const logger_1 = __importStar(require("../logger"));
25
+ const underscore_1 = require("underscore");
26
+ const deprecatedFunction = () => (_, property) => {
27
+ logger_1.default.warn(`${property} is deprecated and no longer has any effect`);
28
+ return true;
29
+ };
30
+ exports.deprecatedFunction = deprecatedFunction;
31
+ const deprecatedBy = (preferredOption) => () => (_, property) => {
32
+ logger_1.default.warn(`${property} is deprecated, use ${preferredOption} instead`);
33
+ return true;
34
+ };
35
+ exports.deprecatedBy = deprecatedBy;
36
+ const incompatibleWith = (keys) => (options) => (_, property) => {
37
+ const incompatibilities = underscore_1.pick(options, keys);
38
+ if (Object.keys(incompatibilities).length > 0) {
39
+ logger_1.logErrorAndThrow(`${property} is incompatible with the following properties: ${keys.join(',')}`);
40
+ return false;
41
+ }
42
+ return true;
43
+ };
44
+ exports.incompatibleWith = incompatibleWith;
45
+ const requires = (keys) => (options) => (_, property) => {
46
+ const required = underscore_1.pick(options, keys);
47
+ if (keys.length !== Object.keys(required).length) {
48
+ logger_1.logErrorAndThrow(`${property} requires the following properties: ${keys.join(',')}`);
49
+ return false;
50
+ }
51
+ return true;
52
+ };
53
+ exports.requires = requires;
54
+ const requiresOneOf = (keys) => (options) => (_, property) => {
55
+ const required = underscore_1.pick(options, keys);
56
+ if (Object.keys(required).length === 0) {
57
+ logger_1.logErrorAndThrow(`${property} requires one of the following properties: ${keys.join(',')}`);
58
+ return false;
59
+ }
60
+ return true;
61
+ };
62
+ exports.requiresOneOf = requiresOneOf;
63
+ const wrapCheckType = (fn) => () => fn;
64
+ exports.wrapCheckType = wrapCheckType;
9
65
  const LogLevels = ['debug', 'error', 'info', 'trace', 'warn'];
10
- const validateOptions = (o) => {
11
- const options = { ...o };
12
- if (options.logLevel) {
13
- if (LogLevels.includes(options.logLevel.toLowerCase())) {
14
- options.logLevel = options.logLevel.toLowerCase();
15
- }
16
- else {
17
- throw new Error(`The logLevel '${options.logLevel}' is not a valid logLevel. The valid options are: ${LogLevels.join(', ')}`);
18
- }
66
+ const logLevelValidator = () => (l) => {
67
+ if (LogLevels.includes(l.toLowerCase())) {
68
+ l = l.toLowerCase();
19
69
  }
20
- if (options.providerVersionTags) {
21
- if (!checkTypes.string(options.providerVersionTags) &&
22
- !checkTypes.array.of.string(options.providerVersionTags)) {
23
- throw new Error('providerVersionTags should be a string or an array of strings');
24
- }
25
- if (options.providerVersionTags.includes('latest')) {
26
- logger_1.default.warn("Using the tag 'latest' is not recommended and probably does not do what you intended.");
27
- logger_1.default.warn(' See https://docs.pact.io/pact_broker/tags/#latest-pacts');
28
- }
29
- }
30
- if (options.consumerVersionTags) {
31
- if (!checkTypes.string(options.consumerVersionTags) &&
32
- !checkTypes.array.of.string(options.consumerVersionTags)) {
33
- throw new Error('consumerVersionTags should be a string or an array of strings');
34
- }
35
- if (options.consumerVersionTags.includes('latest')) {
36
- logger_1.default.warn("Using the tag 'latest' is not recommended and probably does not do what you intended.");
37
- logger_1.default.warn(' See https://docs.pact.io/pact_broker/tags/#latest-pacts');
38
- logger_1.default.warn(' If you need to specify latest, try:');
39
- logger_1.default.warn(' consumerVersionSelectors: [{ lastest: true }]');
40
- }
70
+ else {
71
+ throw new Error(`The logLevel '${l}' is not a valid logLevel. The valid options are: ${LogLevels.join(', ')}`);
41
72
  }
73
+ return true;
74
+ };
75
+ const consumerVersionSelectorValidator = (options) => () => {
42
76
  if (options.consumerVersionSelectors &&
43
77
  Array.isArray(options.consumerVersionSelectors)) {
44
78
  const PROPS = [
@@ -63,61 +97,112 @@ const validateOptions = (o) => {
63
97
  }
64
98
  Object.keys(selector).forEach((key) => {
65
99
  if (!PROPS.includes(key)) {
66
- throw new Error(`The property '${key}' is not a valid property of ConsumerVersionSelector. Allowed properties are ${PROPS.join(', ')})`);
100
+ logger_1.default.warn(`The consumer version selector '${key}' is unknown but will be sent through to the validation. Allowed properties are ${PROPS.join(', ')})`);
67
101
  }
68
102
  });
69
103
  });
70
104
  }
71
- if (options.includeWipPactsSince !== undefined) {
72
- checkTypes.assert.nonEmptyString(options.includeWipPactsSince, 'includeWipPactsSince should be a non-empty string');
73
- }
74
- checkTypes.assert.nonEmptyString(options.providerBaseUrl, 'providerBaseUrl must be a non-empty string');
75
- if ((!options.pactUrls ||
76
- checkTypes.emptyArray(options.pactUrls)) &&
77
- !options.pactBrokerUrl) {
78
- throw new Error('Must provide the pactUrls argument if no pactBrokerUrl provided');
79
- }
80
- if ((!options.pactBrokerUrl || !options.provider) &&
81
- (!options.pactUrls || checkTypes.emptyArray(options.pactUrls))) {
82
- throw new Error('Must provide both provider and pactBrokerUrl if pactUrls not provided.');
83
- }
84
- if (options.providerStatesSetupUrl) {
85
- checkTypes.assert.string(options.providerStatesSetupUrl, 'providerStatesSetupUrl must be a non-empty string');
86
- }
87
- if (options.pactBrokerUsername) {
88
- checkTypes.assert.string(options.pactBrokerUsername, 'pactBrokerUsername must be a non-empty string');
89
- }
90
- if (options.pactBrokerPassword) {
91
- checkTypes.assert.string(options.pactBrokerPassword, 'pactBrokerPassword must be a string');
92
- }
93
- if (options.pactBrokerToken &&
94
- (options.pactBrokerUsername || options.pactBrokerPassword)) {
95
- throw new Error('Must provide pactBrokerToken or pactBrokerUsername/pactBrokerPassword but not both.');
96
- }
97
- if (options.pactBrokerUrl) {
98
- checkTypes.assert.string(options.pactBrokerUrl, 'pactBrokerUrl must be a string');
99
- }
100
- if (options.pactUrls) {
101
- checkTypes.assert.array.of.string(options.pactUrls, 'pactUrls must be an array of strings');
102
- }
103
- if (options.providerBaseUrl) {
104
- checkTypes.assert.string(options.providerBaseUrl, 'providerBaseUrl must be a string');
105
- }
106
- if (options.publishVerificationResult) {
107
- checkTypes.assert.boolean(options.publishVerificationResult, 'publishVerificationResult must be a boolean');
108
- }
109
- if (options.publishVerificationResult && !options.providerVersion) {
110
- throw new Error('Must provide both or none of publishVerificationResult and providerVersion.');
111
- }
112
- if (options.providerVersion) {
113
- checkTypes.assert.string(options.providerVersion, 'providerVersion must be a string');
114
- }
115
- if (options.enablePending !== undefined) {
116
- checkTypes.assert.boolean(options.enablePending, 'enablePending must be a boolean');
105
+ return true;
106
+ };
107
+ const consumerVersionTagsValidator = (options) => () => {
108
+ if (options.consumerVersionTags) {
109
+ if (!checkTypes.string(options.consumerVersionTags) &&
110
+ !checkTypes.array.of.string(options.consumerVersionTags)) {
111
+ throw new Error('consumerVersionTags should be a string or an array of strings');
112
+ }
113
+ if (options.consumerVersionTags.includes('latest')) {
114
+ logger_1.default.warn("Using the tag 'latest' is not recommended and probably does not do what you intended.");
115
+ logger_1.default.warn(' See https://docs.pact.io/pact_broker/tags/#latest-pacts');
116
+ logger_1.default.warn(' If you need to specify latest, try:');
117
+ logger_1.default.warn(' consumerVersionSelectors: [{ lastest: true }]');
118
+ }
117
119
  }
118
- if (options.timeout) {
119
- checkTypes.assert.positive(options.timeout, 'timeout must be a positive number');
120
+ return true;
121
+ };
122
+ const customProviderHeadersValidator = (options) => () => {
123
+ if (options.customProviderHeaders) {
124
+ if (Array.isArray(options.customProviderHeaders)) {
125
+ checkTypes.assert.array.of.string(options.customProviderHeaders);
126
+ }
127
+ else {
128
+ checkTypes.assert.nonEmptyObject(options.customProviderHeaders);
129
+ }
120
130
  }
131
+ return true;
132
+ };
133
+ exports.validationRules = {
134
+ providerBaseUrl: [exports.wrapCheckType(checkTypes.assert.nonEmptyString)],
135
+ buildUrl: [exports.wrapCheckType(checkTypes.assert.nonEmptyString)],
136
+ consumerVersionSelectors: [consumerVersionSelectorValidator],
137
+ consumerVersionTags: [consumerVersionTagsValidator],
138
+ customProviderHeaders: [customProviderHeadersValidator],
139
+ disableSslVerification: [exports.wrapCheckType(checkTypes.assert.boolean)],
140
+ enablePending: [exports.wrapCheckType(checkTypes.assert.boolean)],
141
+ format: [exports.deprecatedFunction],
142
+ includeWipPactsSince: [exports.wrapCheckType(checkTypes.assert.nonEmptyString)],
143
+ provider: [exports.wrapCheckType(checkTypes.assert.nonEmptyString)],
144
+ pactUrls: [exports.wrapCheckType(checkTypes.assert.nonEmptyString)],
145
+ pactBrokerUrl: [
146
+ exports.wrapCheckType(checkTypes.assert.nonEmptyString),
147
+ exports.requires(['provider']),
148
+ exports.requiresOneOf([
149
+ 'pactUrls',
150
+ 'consumerVersionSelectors',
151
+ 'consumerVersionTags',
152
+ ]),
153
+ ],
154
+ pactBrokerUsername: [
155
+ exports.wrapCheckType(checkTypes.assert.nonEmptyString),
156
+ exports.incompatibleWith(['pactBrokerToken']),
157
+ exports.requires(['pactBrokerPassword']),
158
+ ],
159
+ pactBrokerPassword: [
160
+ exports.wrapCheckType(checkTypes.assert.nonEmptyString),
161
+ exports.incompatibleWith(['pactBrokerToken']),
162
+ exports.requires(['pactBrokerUsername']),
163
+ ],
164
+ pactBrokerToken: [
165
+ exports.wrapCheckType(checkTypes.assert.nonEmptyString),
166
+ exports.incompatibleWith(['pactBrokerUsername', 'pactBrokerPassword']),
167
+ ],
168
+ providerVersionTags: [exports.wrapCheckType(checkTypes.assert.nonEmptyString)],
169
+ providerBranch: [
170
+ exports.wrapCheckType(checkTypes.assert.nonEmptyString),
171
+ exports.deprecatedBy('providerVersionBranch'),
172
+ ],
173
+ providerVersionBranch: [exports.wrapCheckType(checkTypes.assert.nonEmptyString)],
174
+ providerStatesSetupUrl: [exports.wrapCheckType(checkTypes.assert.nonEmptyString)],
175
+ providerStatesSetupTeardown: [exports.wrapCheckType(checkTypes.assert.boolean)],
176
+ providerStatesSetupBody: [exports.wrapCheckType(checkTypes.assert.boolean)],
177
+ publishVerificationResult: [
178
+ exports.wrapCheckType(checkTypes.assert.boolean),
179
+ exports.requires(['providerVersion']),
180
+ ],
181
+ providerVersion: [exports.wrapCheckType(checkTypes.assert.nonEmptyString)],
182
+ timeout: [exports.wrapCheckType(checkTypes.assert.positive)],
183
+ logLevel: [logLevelValidator],
184
+ out: [exports.deprecatedFunction],
185
+ verbose: [exports.deprecatedFunction],
186
+ monkeypatch: [exports.deprecatedFunction],
187
+ logDir: [exports.deprecatedFunction],
188
+ consumerFilters: [exports.wrapCheckType(checkTypes.assert.nonEmptyString)],
189
+ };
190
+ const validateOptions = (options) => {
191
+ Object.keys(options).concat('providerBaseUrl').map((k) => {
192
+ const rules = exports.validationRules[k];
193
+ if (Array.isArray(options[k])) {
194
+ options[k].map((item) => {
195
+ rules.map((rule) => {
196
+ rule(options)(item, k);
197
+ });
198
+ });
199
+ }
200
+ else {
201
+ rules.map((rule) => {
202
+ rule(options)(options[k], k);
203
+ });
204
+ }
205
+ });
121
206
  return options;
122
207
  };
123
208
  exports.validateOptions = validateOptions;
@@ -1 +1 @@
1
- {"version":3,"file":"validateOptions.js","sourceRoot":"","sources":["validateOptions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validateOptions.js","sourceRoot":"","sources":["validateOptions.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  export declare const PACT_STANDALONE_VERSION = "1.89.02-rc1";
2
- export declare function createConfig(location?: string): Config;
2
+ export declare function createConfig(): Config;
3
3
  export declare function getBinaryEntry(platform?: string, arch?: string): BinaryEntry;
4
4
  export interface Config {
5
5
  binaries: BinaryEntry[];
@@ -6,7 +6,7 @@ exports.PACT_STANDALONE_VERSION = '1.89.02-rc1';
6
6
  function throwError(msg) {
7
7
  throw new Error(chalk.red(`Error while locating pact binary: ${msg}`));
8
8
  }
9
- function createConfig(location = process.cwd()) {
9
+ function createConfig() {
10
10
  const CHECKSUM_SUFFIX = '.checksum';
11
11
  return {
12
12
  binaries: [
@@ -1 +1 @@
1
- {"version":3,"file":"install.js","sourceRoot":"","sources":["install.ts"],"names":[],"mappings":";;;AAAA,+BAAgC;AAGnB,QAAA,uBAAuB,GAAG,aAAa,CAAC;AAErD,SAAS,UAAU,CAAC,GAAW;IAC7B,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,qCAAqC,GAAG,EAAE,CAAC,CAAC,CAAC;AACzE,CAAC;AAED,SAAgB,YAAY,CAAC,WAAmB,OAAO,CAAC,GAAG,EAAE;IAC3D,MAAM,eAAe,GAAG,WAAW,CAAC;IAEpC,OAAO;QACL,QAAQ,EAAE;YACR;gBACE,QAAQ,EAAE,OAAO;gBACjB,MAAM,EAAE,QAAQ,+BAAuB,YAAY;gBACnD,cAAc,EAAE,QAAQ,+BAAuB,aAAa,eAAe,EAAE;gBAC7E,UAAU,EAAE,SAAS,+BAAuB,EAAE;aAC/C;YACD;gBACE,QAAQ,EAAE,QAAQ;gBAClB,MAAM,EAAE,QAAQ,+BAAuB,aAAa;gBACpD,cAAc,EAAE,QAAQ,+BAAuB,cAAc,eAAe,EAAE;gBAC9E,UAAU,EAAE,UAAU,+BAAuB,EAAE;aAChD;YACD;gBACE,QAAQ,EAAE,OAAO;gBACjB,IAAI,EAAE,KAAK;gBACX,MAAM,EAAE,QAAQ,+BAAuB,sBAAsB;gBAC7D,cAAc,EAAE,QAAQ,+BAAuB,uBAAuB,eAAe,EAAE;gBACvF,UAAU,EAAE,aAAa,+BAAuB,EAAE;aACnD;SACF;KACF,CAAC;AACJ,CAAC;AA1BD,oCA0BC;AAED,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;AAE9B,SAAgB,cAAc,CAAC,QAAiB,EAAE,IAAa;IAC7D,QAAQ,GAAG,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC;IACxC,IAAI,GAAG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAC5B,KAAK,IAAI,KAAK,IAAI,MAAM,CAAC,QAAQ,EAAE;QACjC,IACE,KAAK,CAAC,QAAQ,KAAK,QAAQ;YAC3B,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EACzC;YACA,OAAO,KAAK,CAAC;SACd;KACF;IACD,MAAM,UAAU,CACd,oCAAoC,QAAQ,wBAAwB,IAAI,IAAI,CAC7E,CAAC;AACJ,CAAC;AAdD,wCAcC"}
1
+ {"version":3,"file":"install.js","sourceRoot":"","sources":["install.ts"],"names":[],"mappings":";;;AAAA,+BAAgC;AAGnB,QAAA,uBAAuB,GAAG,aAAa,CAAC;AAErD,SAAS,UAAU,CAAC,GAAW;IAC7B,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,qCAAqC,GAAG,EAAE,CAAC,CAAC,CAAC;AACzE,CAAC;AAED,SAAgB,YAAY;IAC1B,MAAM,eAAe,GAAG,WAAW,CAAC;IAEpC,OAAO;QACL,QAAQ,EAAE;YACR;gBACE,QAAQ,EAAE,OAAO;gBACjB,MAAM,EAAE,QAAQ,+BAAuB,YAAY;gBACnD,cAAc,EAAE,QAAQ,+BAAuB,aAAa,eAAe,EAAE;gBAC7E,UAAU,EAAE,SAAS,+BAAuB,EAAE;aAC/C;YACD;gBACE,QAAQ,EAAE,QAAQ;gBAClB,MAAM,EAAE,QAAQ,+BAAuB,aAAa;gBACpD,cAAc,EAAE,QAAQ,+BAAuB,cAAc,eAAe,EAAE;gBAC9E,UAAU,EAAE,UAAU,+BAAuB,EAAE;aAChD;YACD;gBACE,QAAQ,EAAE,OAAO;gBACjB,IAAI,EAAE,KAAK;gBACX,MAAM,EAAE,QAAQ,+BAAuB,sBAAsB;gBAC7D,cAAc,EAAE,QAAQ,+BAAuB,uBAAuB,eAAe,EAAE;gBACvF,UAAU,EAAE,aAAa,+BAAuB,EAAE;aACnD;SACF;KACF,CAAC;AACJ,CAAC;AA1BD,oCA0BC;AAED,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;AAE9B,SAAgB,cAAc,CAAC,QAAiB,EAAE,IAAa;IAC7D,QAAQ,GAAG,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC;IACxC,IAAI,GAAG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAC5B,KAAK,IAAI,KAAK,IAAI,MAAM,CAAC,QAAQ,EAAE;QACjC,IACE,KAAK,CAAC,QAAQ,KAAK,QAAQ;YAC3B,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EACzC;YACA,OAAO,KAAK,CAAC;SACd;KACF;IACD,MAAM,UAAU,CACd,oCAAoC,QAAQ,wBAAwB,IAAI,IAAI,CAC7E,CAAC;AACJ,CAAC;AAdD,wCAcC"}
@@ -1,2 +0,0 @@
1
- import { UriType } from './types';
2
- export declare const getUriType: (uri: string) => UriType;
@@ -1,24 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getUriType = void 0;
4
- const path = require("path");
5
- const url = require("url");
6
- const fs = require("fs");
7
- const getUriType = (uri) => {
8
- if (/https?:/.test(url.parse(uri).protocol || '')) {
9
- return 'URL';
10
- }
11
- try {
12
- if (fs.statSync(path.normalize(uri)).isDirectory()) {
13
- return 'DIRECTORY';
14
- }
15
- else {
16
- return 'FILE';
17
- }
18
- }
19
- catch (e) {
20
- throw new Error(`Pact file or directory '${uri}' doesn't exist`);
21
- }
22
- };
23
- exports.getUriType = getUriType;
24
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;AAAA,6BAA8B;AAC9B,2BAA4B;AAC5B,yBAA0B;AAInB,MAAM,UAAU,GAAG,CAAC,GAAW,EAAW,EAAE;IACjD,IAAI,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE;QACjD,OAAO,KAAK,CAAC;KACd;IACD,IAAI;QACF,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE;YAClD,OAAO,WAAW,CAAC;SACpB;aAAM;YACL,OAAO,MAAM,CAAC;SACf;KACF;IAAC,OAAO,CAAC,EAAE;QACV,MAAM,IAAI,KAAK,CAAC,2BAA2B,GAAG,iBAAiB,CAAC,CAAC;KAClE;AACH,CAAC,CAAC;AAbW,QAAA,UAAU,cAarB"}
@@ -1 +0,0 @@
1
- export declare type UriType = 'URL' | 'DIRECTORY' | 'FILE';
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["types.ts"],"names":[],"mappings":""}