@pact-foundation/pact-core 13.5.1 → 13.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/binding.gyp +141 -0
  3. package/build/Makefile +334 -0
  4. package/build/binding.Makefile +6 -0
  5. package/build/copy_release_artifacts.target.mk +47 -0
  6. package/build/pact.target.mk +174 -0
  7. package/build/set_osx_install_name.target.mk +18 -0
  8. package/ffi/{v0.0.3-libpact_ffi-osx-aarch64-apple-darwin.dylib → libpact_ffi.dylib} +0 -0
  9. package/ffi/{v0.0.3-libpact_ffi-linux-x86_64.so → libpact_ffi.so} +0 -0
  10. package/ffi/libpact_ffi.so.gz +0 -0
  11. package/ffi/{v0.0.3-libpact_ffi-osx-x86_64.dylib → osxaarch64/libpact_ffi.dylib} +0 -0
  12. package/ffi/pact-cpp.h +2344 -0
  13. package/ffi/{v0.0.3-pact.h → pact.h} +667 -119
  14. package/ffi/{v0.0.3-pact_ffi-windows-x86_64.dll → pact_ffi.dll} +0 -0
  15. package/ffi/pact_ffi.dll.lib +0 -0
  16. package/native/addon.cc +68 -0
  17. package/native/consumer.cc +1570 -0
  18. package/native/consumer.h +124 -0
  19. package/native/ffi.cc +148 -0
  20. package/native/ffi.h +18 -0
  21. package/native/plugin.cc +6 -0
  22. package/native/plugin.h +7 -0
  23. package/native/provider.cc +815 -0
  24. package/native/provider.h +38 -0
  25. package/package.json +12 -9
  26. package/src/consumer/checkErrors.d.ts +7 -0
  27. package/src/consumer/checkErrors.js +41 -0
  28. package/src/consumer/checkErrors.js.map +1 -0
  29. package/src/consumer/index.d.ts +5 -0
  30. package/src/consumer/index.js +222 -0
  31. package/src/consumer/index.js.map +1 -0
  32. package/src/consumer/types.d.ts +132 -0
  33. package/src/{ffi/internals → consumer}/types.js +0 -0
  34. package/src/{ffi/internals → consumer}/types.js.map +0 -0
  35. package/src/ffi/index.d.ts +4 -3
  36. package/src/ffi/index.js +6 -9
  37. package/src/ffi/index.js.map +1 -1
  38. package/src/ffi/internals/index.d.ts +0 -2
  39. package/src/ffi/internals/index.js +1 -11
  40. package/src/ffi/internals/index.js.map +1 -1
  41. package/src/ffi/types.d.ts +100 -0
  42. package/src/ffi/types.js +70 -0
  43. package/src/ffi/types.js.map +1 -0
  44. package/src/index.d.ts +2 -0
  45. package/src/index.js +2 -0
  46. package/src/index.js.map +1 -1
  47. package/src/logger/index.d.ts +5 -2
  48. package/src/logger/index.js +15 -2
  49. package/src/logger/index.js.map +1 -1
  50. package/src/verifier/argumentMapper/arguments.js +8 -0
  51. package/src/verifier/argumentMapper/arguments.js.map +1 -1
  52. package/src/verifier/index.js +1 -7
  53. package/src/verifier/index.js.map +1 -1
  54. package/src/verifier/nativeVerifier.js +74 -15
  55. package/src/verifier/nativeVerifier.js.map +1 -1
  56. package/src/verifier/types.d.ts +10 -2
  57. package/test.js +52 -0
  58. package/src/ffi/declarations.d.ts +0 -136
  59. package/src/ffi/declarations.js +0 -92
  60. package/src/ffi/declarations.js.map +0 -1
  61. package/src/ffi/internals/types.d.ts +0 -23
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;AACA,8BAAiC;AACjC,2BAA8B;AAE9B,uCAAkC;AAIlC,IAAM,eAAe,GAAG;IACtB,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,KAAK;IACb,KAAK,EAAE,SAAS;CACjB,CAAC;AAIF,IAAM,qBAAqB,GAAG;IAC5B,KAAK,EAAE,KAAK;IACZ,MAAM,EAAE,KAAK;IACb,KAAK,EAAE,EAAE;CACV,CAAC;AAIF,IAAM,WAAW,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,sBAAsB,EAAE,CAAC;AAIrE,IAAM,gBAAgB,GAAG;IACvB,YAAY,EAAE,OAAO;IACrB,0BAA0B,EAAE,OAAO;IACnC,cAAc,EAAE,IAAI;IACpB,gBAAgB,EAAE,KAAK;CACxB,CAAC;AAIK,IAAM,SAAS,GAAG,UACvB,QAAgB,EAChB,WAAc;IAEd,gBAAM,CAAC,KAAK,CAAC,6BAA2B,QAAQ,MAAG,CAAC,CAAC;IACrD,IAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CACrB,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,EAE1D,WAAmC,CACpC,CAAC;IACF,gBAAM,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;IAEhD,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAbW,QAAA,SAAS,aAapB;AAEK,IAAM,OAAO,GAAG,UACrB,OAAe,EACf,OAAe,EACf,WAA0B,EAC1B,eAAkC;IADlC,4BAAA,EAAA,cAAc,OAAO,CAAC,IAAI;IAC1B,gCAAA,EAAA,kBAAkB,OAAO,CAAC,QAAQ;IAElC,IAAM,IAAI,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC;IACtC,IAAM,QAAQ,GAAG,eAAe,CAAC,eAAe,CAAC,CAAC;IAElD,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE;QACtB,MAAM,IAAI,KAAK,CACb,wFAAsF,eAAe,SAAI,WAAW,MAAG,CACxH,CAAC;KACH;IAED,IAAM,MAAM,GAAM,QAAQ,SAAI,IAAM,CAAC;IAErC,IAAM,SAAS,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAC3C,IAAI,CAAC,SAAS,EAAE;QACd,MAAM,IAAI,KAAK,CACb,gGAA8F,MAAM,MAAG,CACxG,CAAC;KACH;IAED,IAAM,aAAa,GAAG,qBAAqB,CAAC,eAAe,CAAC,CAAC;IAC7D,IAAI,aAAa,KAAK,SAAS,EAAE;QAC/B,MAAM,IAAI,KAAK,CACb,gEAA8D,eAAe,MAAG,CACjF,CAAC;KACH;IAED,OAAU,OAAO,SAAI,aAAa,GAAG,OAAO,SAAI,MAAM,SAAI,SAAW,CAAC;AACxE,CAAC,CAAC;AAhCW,QAAA,OAAO,WAgClB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;AAEA,IAAM,eAAe,GAAG;IACtB,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,KAAK;IACb,KAAK,EAAE,SAAS;CACjB,CAAC;AAIF,IAAM,qBAAqB,GAAG;IAC5B,KAAK,EAAE,KAAK;IACZ,MAAM,EAAE,KAAK;IACb,KAAK,EAAE,EAAE;CACV,CAAC;AAIF,IAAM,WAAW,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,sBAAsB,EAAE,CAAC;AAIrE,IAAM,gBAAgB,GAAG;IACvB,YAAY,EAAE,OAAO;IACrB,0BAA0B,EAAE,OAAO;IACnC,cAAc,EAAE,IAAI;IACpB,gBAAgB,EAAE,KAAK;CACxB,CAAC;AAEK,IAAM,OAAO,GAAG,UACrB,OAAe,EACf,OAAe,EACf,WAA0B,EAC1B,eAAkC;IADlC,4BAAA,EAAA,cAAc,OAAO,CAAC,IAAI;IAC1B,gCAAA,EAAA,kBAAkB,OAAO,CAAC,QAAQ;IAElC,IAAM,IAAI,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC;IACtC,IAAM,QAAQ,GAAG,eAAe,CAAC,eAAe,CAAC,CAAC;IAElD,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE;QACtB,MAAM,IAAI,KAAK,CACb,wFAAsF,eAAe,SAAI,WAAW,MAAG,CACxH,CAAC;KACH;IAED,IAAM,MAAM,GAAM,QAAQ,SAAI,IAAM,CAAC;IAErC,IAAM,SAAS,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAC3C,IAAI,CAAC,SAAS,EAAE;QACd,MAAM,IAAI,KAAK,CACb,gGAA8F,MAAM,MAAG,CACxG,CAAC;KACH;IAED,IAAM,aAAa,GAAG,qBAAqB,CAAC,eAAe,CAAC,CAAC;IAC7D,IAAI,aAAa,KAAK,SAAS,EAAE;QAC/B,MAAM,IAAI,KAAK,CACb,gEAA8D,eAAe,MAAG,CACjF,CAAC;KACH;IAED,OAAU,OAAO,SAAI,aAAa,GAAG,OAAO,SAAI,MAAM,SAAI,SAAW,CAAC;AACxE,CAAC,CAAC;AAhCW,QAAA,OAAO,WAgClB"}
@@ -0,0 +1,100 @@
1
+ /// <reference types="node" />
2
+ export declare type FfiPactHandle = number;
3
+ export declare type FfiInteractionHandle = number;
4
+ export declare type FfiVerifierHandle = number;
5
+ export declare type FfiMessagePactHandle = number;
6
+ export declare type FfiMessageHandle = number;
7
+ export declare type FfiSpecificationVersion = 0 | 1 | 2 | 3 | 4 | 5;
8
+ export declare const FfiSpecificationVersion: Record<string, FfiSpecificationVersion>;
9
+ export declare type FfiWritePactResponse = 0 | 1 | 2 | 3;
10
+ export declare const FfiWritePactResponse: Record<string, FfiWritePactResponse>;
11
+ export declare type FfiWriteMessagePactResponse = 0 | 1 | 2;
12
+ export declare const FfiWriteMessagePactResponse: Record<string, FfiWriteMessagePactResponse>;
13
+ export declare type FfiConfigurePluginResponse = 0 | 1 | 2 | 3;
14
+ export declare const FfiConfigurePluginResponse: Record<string, FfiConfigurePluginResponse>;
15
+ export declare type FfiPluginInteractionResponse = 0 | 1 | 2 | 3 | 4 | 5 | 6;
16
+ export declare const FfiPluginInteractionResponse: Record<string, FfiPluginInteractionResponse>;
17
+ export declare type FfiInteractionPart = 0 | 1;
18
+ export declare const INTERACTION_PART_REQUEST: FfiInteractionPart;
19
+ export declare const INTERACTION_PART_RESPONSE: FfiInteractionPart;
20
+ export declare const CREATE_MOCK_SERVER_ERRORS: {
21
+ NULL_POINTER: number;
22
+ JSON_PARSE_ERROR: number;
23
+ MOCK_SERVER_START_FAIL: number;
24
+ CORE_PANIC: number;
25
+ ADDRESS_NOT_VALID: number;
26
+ TLS_CONFIG: number;
27
+ };
28
+ export declare enum VERIFY_PROVIDER_RESPONSE {
29
+ VERIFICATION_SUCCESSFUL = 0,
30
+ VERIFICATION_FAILED = 1,
31
+ NULL_POINTER_RECEIVED = 2,
32
+ METHOD_PANICKED = 3,
33
+ INVALID_ARGUMENTS = 4
34
+ }
35
+ export declare enum FfiFunctionResult {
36
+ RESULT_OK = 0,
37
+ RESULT_FAILED = 1
38
+ }
39
+ export declare enum FfiLogLevelFilter {
40
+ LOG_LEVEL_OFF = 0,
41
+ LOG_LEVEL_ERROR = 1,
42
+ LOG_LEVEL_WARN = 2,
43
+ LOG_LEVEL_INFO = 3,
44
+ LOG_LEVEL_DEBUG = 4,
45
+ LOG_LEVEL_TRACE = 5
46
+ }
47
+ export declare type Ffi = {
48
+ pactffiInit(logLevel: string): string;
49
+ pactffiVersion(): string;
50
+ pactffiCreateMockServerForPact(handle: FfiPactHandle, address: string, tls: boolean): number;
51
+ pactffiNewPact(consumer: string, provider: string): FfiPactHandle;
52
+ pactffiWithSpecification(handle: FfiPactHandle, specification: FfiSpecificationVersion): boolean;
53
+ pactffiWithPactMetadata(handle: FfiPactHandle, namespace_: string, name: string, value: string): boolean;
54
+ pactffiNewInteraction(handle: FfiPactHandle, description: string): FfiInteractionHandle;
55
+ pactffiUponReceiving(handle: FfiInteractionHandle, description: string): boolean;
56
+ pactffiGiven(handle: FfiInteractionHandle, providerState: string): boolean;
57
+ pactffiGivenWithParam(handle: FfiInteractionHandle, description: string, name: string, value: string): boolean;
58
+ pactffiWithRequest(handle: FfiInteractionHandle, method: string, path: string): boolean;
59
+ pactffiWithQueryParameter(handle: FfiInteractionHandle, name: string, index: number, value: string): boolean;
60
+ pactffiWithHeader(handle: FfiInteractionHandle, part: FfiInteractionPart, name: string, index: number, value: string): boolean;
61
+ pactffiWithBody(handle: FfiInteractionHandle, part: FfiInteractionPart, contentType: string, body: string): boolean;
62
+ pactffiWithBinaryFile(handle: FfiInteractionHandle, part: FfiInteractionPart, contentType: string, body: Buffer, size: number): boolean;
63
+ pactffiWithMultipartFile(handle: FfiInteractionHandle, part: FfiInteractionPart, contentType: string, file: string, partName: string): void;
64
+ pactffiResponseStatus(handle: FfiInteractionHandle, status: number): boolean;
65
+ pactffiWritePactFile(handle: FfiPactHandle, dir: string, overwrite: boolean): FfiWritePactResponse;
66
+ pactffiCleanupMockServer(port: number): boolean;
67
+ pactffiMockServerMatched(port: number): boolean;
68
+ pactffiMockServerMismatches(port: number): string;
69
+ pactffiGetTlsCaCertificate(): string;
70
+ pactffiLogMessage(source: string, logLevel: string, message: string): void;
71
+ pactffiLogToBuffer(level: FfiLogLevelFilter): number;
72
+ pactffiInitWithLogLevel(level: string): void;
73
+ pactffiLogToStdout(level: FfiLogLevelFilter): number;
74
+ pactffiLogToFile(fileName: string, level: FfiLogLevelFilter): number;
75
+ pactffiFetchLogBuffer(logId: number): string;
76
+ pactffiUsingPlugin(handle: FfiPactHandle, name: string, version: string): FfiConfigurePluginResponse;
77
+ pactffiCleanupPlugins(handle: FfiPactHandle): void;
78
+ pactffiPluginInteractionContents(handle: FfiInteractionHandle, part: FfiInteractionPart, contentType: string, contents: string): void;
79
+ pactffiNewAsyncMessage(handle: FfiPactHandle, description: string): FfiMessageHandle;
80
+ pactffiMessageExpectsToReceive(handle: FfiMessageHandle, description: string): void;
81
+ pactffiMessageGiven(handle: FfiMessageHandle, description: string): void;
82
+ pactffiMessageGivenWithParam(handle: FfiMessageHandle, description: string, key: string, value: string): void;
83
+ pactffiMessageWithContents(handle: FfiMessageHandle, contentType: string, data: Buffer, size: number): void;
84
+ pactffiMessageWithMetadata(handle: FfiMessageHandle, key: string, value: string): void;
85
+ pactffiMessageReify(handle: FfiMessageHandle): string;
86
+ pactffiVerifierNewForApplication(libraryName: string, version: string): FfiVerifierHandle;
87
+ pactffiVerifierExecute(handle: FfiVerifierHandle, callback: (e: Error, res: number) => void): number;
88
+ pactffiVerifierShutdown(handle: FfiVerifierHandle): void;
89
+ pactffiVerifierSetProviderInfo(handle: FfiVerifierHandle, providerName: string, scheme: string, host: string, port: number, path: string): void;
90
+ pactffiVerifierSetFilterInfo(handle: FfiVerifierHandle, description: string, state: string, noState: boolean): void;
91
+ pactffiVerifierSetProviderState(handle: FfiVerifierHandle, url: string, teardown: boolean, body: boolean): void;
92
+ pactffiVerifierSetVerificationOptions(handle: FfiVerifierHandle, disableSslVerification: boolean, requestTimeout: number): void;
93
+ pactffiVerifierSetPublishOptions(handle: FfiVerifierHandle, providerVersion: string, buildUrl: string, providerTags: string[], providerBranch: string): void;
94
+ pactffiVerifierSetConsumerFilters(handle: FfiVerifierHandle, consumers: string[]): void;
95
+ pactffiVerifierAddCustomHeader(handle: FfiVerifierHandle, header: string, value: string): void;
96
+ pactffiVerifierAddFileSource(handle: FfiVerifierHandle, file: string): void;
97
+ pactffiVerifierAddDirectorySource(handle: FfiVerifierHandle, dir: string): void;
98
+ pactffiVerifierUrlSource(handle: FfiVerifierHandle, url: string, username: string, password: string, token: string): void;
99
+ pactffiVerifierBrokerSourceWithSelectors(handle: FfiVerifierHandle, url: string, username: string, password: string, token: string, enablePending: boolean, includeWipPactsSince: string, providerTags: string[], providerBranch: string, consumerVersionSelectors: string[], consumerVersionTags: string[]): void;
100
+ };
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FfiLogLevelFilter = exports.FfiFunctionResult = exports.VERIFY_PROVIDER_RESPONSE = exports.CREATE_MOCK_SERVER_ERRORS = exports.INTERACTION_PART_RESPONSE = exports.INTERACTION_PART_REQUEST = exports.FfiPluginInteractionResponse = exports.FfiConfigurePluginResponse = exports.FfiWriteMessagePactResponse = exports.FfiWritePactResponse = exports.FfiSpecificationVersion = void 0;
4
+ exports.FfiSpecificationVersion = {
5
+ SPECIFICATION_VERSION_UNKNOWN: 0,
6
+ SPECIFICATION_VERSION_V1: 1,
7
+ SPECIFICATION_VERSION_V1_1: 2,
8
+ SPECIFICATION_VERSION_V2: 3,
9
+ SPECIFICATION_VERSION_V3: 4,
10
+ SPECIFICATION_VERSION_V4: 5,
11
+ };
12
+ exports.FfiWritePactResponse = {
13
+ SUCCESS: 0,
14
+ GENERAL_PANIC: 1,
15
+ UNABLE_TO_WRITE_PACT_FILE: 2,
16
+ MOCK_SERVER_NOT_FOUND: 3,
17
+ };
18
+ exports.FfiWriteMessagePactResponse = {
19
+ SUCCESS: 0,
20
+ UNABLE_TO_WRITE_PACT_FILE: 1,
21
+ MESSAGE_HANDLE_INVALID: 2,
22
+ };
23
+ exports.FfiConfigurePluginResponse = {
24
+ SUCCESS: 0,
25
+ GENERAL_PANIC: 1,
26
+ FAILED_TO_LOAD_PLUGIN: 2,
27
+ PACT_HANDLE_INVALID: 3,
28
+ };
29
+ exports.FfiPluginInteractionResponse = {
30
+ SUCCESS: 0,
31
+ A_GENERAL_PANIC_WAS_CAUGHT: 1,
32
+ MOCK_SERVER_HAS_ALREADY_BEEN_STARTED: 2,
33
+ INTERACTION_HANDLE_IS_INVALID: 3,
34
+ CONTENT_TYPE_IS_NOT_VALID: 4,
35
+ CONTENTS_JSON_IS_NOT_VALID_JSON: 5,
36
+ PLUGIN_RETURNED_AN_ERROR: 6,
37
+ };
38
+ exports.INTERACTION_PART_REQUEST = 0;
39
+ exports.INTERACTION_PART_RESPONSE = 1;
40
+ exports.CREATE_MOCK_SERVER_ERRORS = {
41
+ NULL_POINTER: -1,
42
+ JSON_PARSE_ERROR: -2,
43
+ MOCK_SERVER_START_FAIL: -3,
44
+ CORE_PANIC: -4,
45
+ ADDRESS_NOT_VALID: -5,
46
+ TLS_CONFIG: -6,
47
+ };
48
+ var VERIFY_PROVIDER_RESPONSE;
49
+ (function (VERIFY_PROVIDER_RESPONSE) {
50
+ VERIFY_PROVIDER_RESPONSE[VERIFY_PROVIDER_RESPONSE["VERIFICATION_SUCCESSFUL"] = 0] = "VERIFICATION_SUCCESSFUL";
51
+ VERIFY_PROVIDER_RESPONSE[VERIFY_PROVIDER_RESPONSE["VERIFICATION_FAILED"] = 1] = "VERIFICATION_FAILED";
52
+ VERIFY_PROVIDER_RESPONSE[VERIFY_PROVIDER_RESPONSE["NULL_POINTER_RECEIVED"] = 2] = "NULL_POINTER_RECEIVED";
53
+ VERIFY_PROVIDER_RESPONSE[VERIFY_PROVIDER_RESPONSE["METHOD_PANICKED"] = 3] = "METHOD_PANICKED";
54
+ VERIFY_PROVIDER_RESPONSE[VERIFY_PROVIDER_RESPONSE["INVALID_ARGUMENTS"] = 4] = "INVALID_ARGUMENTS";
55
+ })(VERIFY_PROVIDER_RESPONSE = exports.VERIFY_PROVIDER_RESPONSE || (exports.VERIFY_PROVIDER_RESPONSE = {}));
56
+ var FfiFunctionResult;
57
+ (function (FfiFunctionResult) {
58
+ FfiFunctionResult[FfiFunctionResult["RESULT_OK"] = 0] = "RESULT_OK";
59
+ FfiFunctionResult[FfiFunctionResult["RESULT_FAILED"] = 1] = "RESULT_FAILED";
60
+ })(FfiFunctionResult = exports.FfiFunctionResult || (exports.FfiFunctionResult = {}));
61
+ var FfiLogLevelFilter;
62
+ (function (FfiLogLevelFilter) {
63
+ FfiLogLevelFilter[FfiLogLevelFilter["LOG_LEVEL_OFF"] = 0] = "LOG_LEVEL_OFF";
64
+ FfiLogLevelFilter[FfiLogLevelFilter["LOG_LEVEL_ERROR"] = 1] = "LOG_LEVEL_ERROR";
65
+ FfiLogLevelFilter[FfiLogLevelFilter["LOG_LEVEL_WARN"] = 2] = "LOG_LEVEL_WARN";
66
+ FfiLogLevelFilter[FfiLogLevelFilter["LOG_LEVEL_INFO"] = 3] = "LOG_LEVEL_INFO";
67
+ FfiLogLevelFilter[FfiLogLevelFilter["LOG_LEVEL_DEBUG"] = 4] = "LOG_LEVEL_DEBUG";
68
+ FfiLogLevelFilter[FfiLogLevelFilter["LOG_LEVEL_TRACE"] = 5] = "LOG_LEVEL_TRACE";
69
+ })(FfiLogLevelFilter = exports.FfiLogLevelFilter || (exports.FfiLogLevelFilter = {}));
70
+ //# sourceMappingURL=types.js.map
@@ -0,0 +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"}
package/src/index.d.ts CHANGED
@@ -8,3 +8,5 @@ export * from './logger';
8
8
  export * from './logger/types';
9
9
  export * from './stub';
10
10
  export * from './can-deploy';
11
+ export * from './consumer';
12
+ export * from './ffi';
package/src/index.js CHANGED
@@ -21,4 +21,6 @@ __exportStar(require("./logger"), exports);
21
21
  __exportStar(require("./logger/types"), exports);
22
22
  __exportStar(require("./stub"), exports);
23
23
  __exportStar(require("./can-deploy"), exports);
24
+ __exportStar(require("./consumer"), exports);
25
+ __exportStar(require("./ffi"), exports);
24
26
  //# sourceMappingURL=index.js.map
package/src/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+BAA0B;AAC1B,MAAM,CAAC,OAAO,GAAG,OAAO,GAAG,cAAI,CAAC;AAChC,kBAAe,cAAI,CAAC;AAEpB,6CAA2B;AAC3B,mDAAiC;AAEjC,2CAAyB;AAEzB,8CAA4B;AAE5B,2CAAyB;AACzB,iDAA+B;AAE/B,yCAAuB;AAEvB,+CAA6B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+BAA0B;AAC1B,MAAM,CAAC,OAAO,GAAG,OAAO,GAAG,cAAI,CAAC;AAChC,kBAAe,cAAI,CAAC;AAEpB,6CAA2B;AAC3B,mDAAiC;AAEjC,2CAAyB;AAEzB,8CAA4B;AAE5B,2CAAyB;AACzB,iDAA+B;AAE/B,yCAAuB;AAEvB,+CAA6B;AAE7B,6CAA2B;AAE3B,wCAAsB"}
@@ -1,8 +1,9 @@
1
1
  import { LogLevel } from './types';
2
2
  export declare const DEFAULT_LOG_LEVEL = "info";
3
3
  export declare const setLogLevel: (level?: LogLevel) => void;
4
+ export declare const getLogLevel: () => LogLevel;
4
5
  export declare const verboseIsImplied: () => boolean;
5
- declare const _default: {
6
+ declare const logFunctions: {
6
7
  pactCrash: (message: string, context?: string) => void;
7
8
  error: (message: string, context?: string) => void;
8
9
  warn: (message: string, context?: string) => void;
@@ -10,4 +11,6 @@ declare const _default: {
10
11
  debug: (message: string, context?: string) => void;
11
12
  trace: (message: string, context?: string) => void;
12
13
  };
13
- export default _default;
14
+ export declare const logErrorAndThrow: (message: string, context?: string | undefined) => never;
15
+ export declare const logCrashAndThrow: (message: string, context?: string | undefined) => never;
16
+ export default logFunctions;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.verboseIsImplied = exports.setLogLevel = exports.DEFAULT_LOG_LEVEL = void 0;
3
+ exports.logCrashAndThrow = exports.logErrorAndThrow = exports.verboseIsImplied = exports.getLogLevel = exports.setLogLevel = exports.DEFAULT_LOG_LEVEL = void 0;
4
4
  var crashMessage_1 = require("./crashMessage");
5
5
  var pino_1 = require("./pino");
6
6
  var pkg = require('../../package.json');
@@ -14,6 +14,8 @@ var setLogLevel = function (level) {
14
14
  logger = pino_1.createLogger(currentLogLevel);
15
15
  };
16
16
  exports.setLogLevel = setLogLevel;
17
+ var getLogLevel = function () { return currentLogLevel; };
18
+ exports.getLogLevel = getLogLevel;
17
19
  var verboseIsImplied = function () {
18
20
  return currentLogLevel === 'trace' || currentLogLevel === 'debug';
19
21
  };
@@ -21,7 +23,7 @@ exports.verboseIsImplied = verboseIsImplied;
21
23
  var addContext = function (context, message) {
22
24
  return context + ": " + message;
23
25
  };
24
- exports.default = {
26
+ var logFunctions = {
25
27
  pactCrash: function (message, context) {
26
28
  if (context === void 0) { context = logContext; }
27
29
  return logger.error(addContext(context, crashMessage_1.pactCrashMessage(message)));
@@ -47,4 +49,15 @@ exports.default = {
47
49
  return logger.trace(addContext(context, message));
48
50
  },
49
51
  };
52
+ var logErrorAndThrow = function (message, context) {
53
+ logger.error(message, context);
54
+ throw new Error(message);
55
+ };
56
+ exports.logErrorAndThrow = logErrorAndThrow;
57
+ var logCrashAndThrow = function (message, context) {
58
+ logFunctions.pactCrash(message, context);
59
+ throw new Error(message);
60
+ };
61
+ exports.logCrashAndThrow = logCrashAndThrow;
62
+ exports.default = logFunctions;
50
63
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;AAAA,+CAAkD;AAClD,+BAAsC;AAItC,IAAM,GAAG,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;AAE1C,IAAM,UAAU,GAAG,eAAa,GAAG,CAAC,OAAS,CAAC;AAC9C,IAAI,eAAe,GAAa,MAAM,CAAC;AACvC,IAAI,MAAM,GAAG,mBAAY,CAAC,eAAe,CAAC,CAAC;AAE9B,QAAA,iBAAiB,GAAG,MAAM,CAAC;AAEjC,IAAM,WAAW,GAAG,UAAC,KAAwB;IAAxB,sBAAA,EAAA,cAAwB;IAClD,eAAe,GAAG,KAAK,CAAC;IACxB,MAAM,GAAG,mBAAY,CAAC,eAAe,CAAC,CAAC;AACzC,CAAC,CAAC;AAHW,QAAA,WAAW,eAGtB;AAEK,IAAM,gBAAgB,GAAG;IAC9B,OAAA,eAAe,KAAK,OAAO,IAAI,eAAe,KAAK,OAAO;AAA1D,CAA0D,CAAC;AADhD,QAAA,gBAAgB,oBACgC;AAE7D,IAAM,UAAU,GAAG,UAAC,OAAe,EAAE,OAAe;IAClD,OAAG,OAAO,UAAK,OAAS;AAAxB,CAAwB,CAAC;AAE3B,kBAAe;IACb,SAAS,EAAE,UAAC,OAAe,EAAE,OAA4B;QAA5B,wBAAA,EAAA,oBAA4B;QACvD,OAAA,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,EAAE,+BAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;IAA5D,CAA4D;IAC9D,KAAK,EAAE,UAAC,OAAe,EAAE,OAA4B;QAA5B,wBAAA,EAAA,oBAA4B;QACnD,OAAA,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAA1C,CAA0C;IAC5C,IAAI,EAAE,UAAC,OAAe,EAAE,OAA4B;QAA5B,wBAAA,EAAA,oBAA4B;QAClD,OAAA,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAAzC,CAAyC;IAC3C,IAAI,EAAE,UAAC,OAAe,EAAE,OAA4B;QAA5B,wBAAA,EAAA,oBAA4B;QAClD,OAAA,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAAzC,CAAyC;IAC3C,KAAK,EAAE,UAAC,OAAe,EAAE,OAA4B;QAA5B,wBAAA,EAAA,oBAA4B;QACnD,OAAA,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAA1C,CAA0C;IAC5C,KAAK,EAAE,UAAC,OAAe,EAAE,OAA4B;QAA5B,wBAAA,EAAA,oBAA4B;QACnD,OAAA,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAA1C,CAA0C;CAC7C,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;AAAA,+CAAkD;AAClD,+BAAsC;AAItC,IAAM,GAAG,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;AAE1C,IAAM,UAAU,GAAG,eAAa,GAAG,CAAC,OAAS,CAAC;AAC9C,IAAI,eAAe,GAAa,MAAM,CAAC;AACvC,IAAI,MAAM,GAAG,mBAAY,CAAC,eAAe,CAAC,CAAC;AAE9B,QAAA,iBAAiB,GAAG,MAAM,CAAC;AAEjC,IAAM,WAAW,GAAG,UAAC,KAAwB;IAAxB,sBAAA,EAAA,cAAwB;IAClD,eAAe,GAAG,KAAK,CAAC;IACxB,MAAM,GAAG,mBAAY,CAAC,eAAe,CAAC,CAAC;AACzC,CAAC,CAAC;AAHW,QAAA,WAAW,eAGtB;AAEK,IAAM,WAAW,GAAG,cAAgB,OAAA,eAAe,EAAf,CAAe,CAAC;AAA9C,QAAA,WAAW,eAAmC;AAEpD,IAAM,gBAAgB,GAAG;IAC9B,OAAA,eAAe,KAAK,OAAO,IAAI,eAAe,KAAK,OAAO;AAA1D,CAA0D,CAAC;AADhD,QAAA,gBAAgB,oBACgC;AAE7D,IAAM,UAAU,GAAG,UAAC,OAAe,EAAE,OAAe;IAClD,OAAG,OAAO,UAAK,OAAS;AAAxB,CAAwB,CAAC;AAE3B,IAAM,YAAY,GAAG;IACnB,SAAS,EAAE,UAAC,OAAe,EAAE,OAA4B;QAA5B,wBAAA,EAAA,oBAA4B;QACvD,OAAA,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,EAAE,+BAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;IAA5D,CAA4D;IAC9D,KAAK,EAAE,UAAC,OAAe,EAAE,OAA4B;QAA5B,wBAAA,EAAA,oBAA4B;QACnD,OAAA,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAA1C,CAA0C;IAC5C,IAAI,EAAE,UAAC,OAAe,EAAE,OAA4B;QAA5B,wBAAA,EAAA,oBAA4B;QAClD,OAAA,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAAzC,CAAyC;IAC3C,IAAI,EAAE,UAAC,OAAe,EAAE,OAA4B;QAA5B,wBAAA,EAAA,oBAA4B;QAClD,OAAA,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAAzC,CAAyC;IAC3C,KAAK,EAAE,UAAC,OAAe,EAAE,OAA4B;QAA5B,wBAAA,EAAA,oBAA4B;QACnD,OAAA,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAA1C,CAA0C;IAC5C,KAAK,EAAE,UAAC,OAAe,EAAE,OAA4B;QAA5B,wBAAA,EAAA,oBAA4B;QACnD,OAAA,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAA1C,CAA0C;CAC7C,CAAC;AAEK,IAAM,gBAAgB,GAAG,UAAC,OAAe,EAAE,OAAgB;IAChE,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC/B,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;AAC3B,CAAC,CAAC;AAHW,QAAA,gBAAgB,oBAG3B;AAEK,IAAM,gBAAgB,GAAG,UAAC,OAAe,EAAE,OAAgB;IAChE,YAAY,CAAC,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACzC,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;AAC3B,CAAC,CAAC;AAHW,QAAA,gBAAgB,oBAG3B;AAEF,kBAAe,YAAY,CAAC"}
@@ -24,12 +24,20 @@ exports.ignoreOptionCombinations = {
24
24
  publishVerificationResult: { ifNotSet: 'pactBrokerUrl' },
25
25
  };
26
26
  exports.argMapping = {
27
+ buildUrl: { arg: '--build-url', mapper: 'string' },
28
+ providerBranch: { arg: '--provider-branch', mapper: 'string' },
27
29
  providerBaseUrl: function (providerBaseUrl) {
28
30
  var u = url.parse(providerBaseUrl);
29
31
  return u && u.port && u.hostname
30
32
  ? ['--port', u.port, '--hostname', u.hostname]
31
33
  : [];
32
34
  },
35
+ providerStatesSetupBody: {
36
+ warningMessage: 'providerStatesSetupBody is not valid for the CLI',
37
+ },
38
+ providerStatesSetupTeardown: {
39
+ warningMessage: 'providerStatesSetupTeardown is not valid for the CLI',
40
+ },
33
41
  logLevel: function (logLevel) { return ['--loglevel', logLevel]; },
34
42
  provider: { arg: '--provider-name', mapper: 'string' },
35
43
  pactUrls: function (pactUrls) {
@@ -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,yBAA4B;AAS5B,4CAA2C;AAQ9B,QAAA,gBAAgB,GAAkB;IAC7C,eAAe;IACf,eAAe;IACf,kBAAkB;IAClB,cAAc;IACd,YAAY;IACZ,WAAW;IACX,aAAa;CACd,CAAC;AAEW,QAAA,wBAAwB,GACnC;IACE,aAAa,EAAE,EAAE,QAAQ,EAAE,eAAe,EAAE;IAC5C,wBAAwB,EAAE,EAAE,QAAQ,EAAE,eAAe,EAAE;IACvD,mBAAmB,EAAE,EAAE,QAAQ,EAAE,eAAe,EAAE;IAClD,yBAAyB,EAAE,EAAE,QAAQ,EAAE,eAAe,EAAE;CACzD,CAAC;AAES,QAAA,UAAU,GAA4C;IACjE,QAAQ,EAAE,EAAE,GAAG,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE;IAClD,cAAc,EAAE,EAAE,GAAG,EAAE,mBAAmB,EAAE,MAAM,EAAE,QAAQ,EAAE;IAC9D,eAAe,EAAE,UAAC,eAAuB;QACvC,IAAM,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QACrC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,QAAQ;YAC9B,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,QAAQ,CAAC;YAC9C,CAAC,CAAC,EAAE,CAAC;IACT,CAAC;IACD,uBAAuB,EAAE;QACvB,cAAc,EAAE,kDAAkD;KACnE;IACD,2BAA2B,EAAE;QAC3B,cAAc,EAAE,sDAAsD;KACvE;IACD,QAAQ,EAAE,UAAC,QAAkB,IAAK,OAAA,CAAC,YAAY,EAAE,QAAQ,CAAC,EAAxB,CAAwB;IAC1D,QAAQ,EAAE,EAAE,GAAG,EAAE,iBAAiB,EAAE,MAAM,EAAE,QAAQ,EAAE;IACtD,QAAQ,EAAE,UAAC,QAAkB;QAC3B,OAAA,QAAQ,CAAC,MAAM,CAAgB,UAAC,GAAkB,EAAE,GAAW;YAC7D,QAAQ,uBAAU,CAAC,GAAG,CAAC,EAAE;gBACvB,KAAK,KAAK;oBACR,uCAAW,GAAG,IAAE,OAAO,EAAE,GAAG,GAAE;gBAChC,KAAK,WAAW;oBACd,uCAAW,GAAG,IAAE,OAAO,EAAE,GAAG,GAAE;gBAChC,KAAK,MAAM;oBACT,uCAAW,GAAG,IAAE,QAAQ,EAAE,GAAG,GAAE;gBACjC;oBACE,OAAO,GAAG,CAAC;aACd;QACH,CAAC,EAAE,EAAE,CAAC;IAXN,CAWM;IACR,aAAa,EAAE,EAAE,GAAG,EAAE,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE;IACxD,kBAAkB,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE;IACvD,kBAAkB,EAAE,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE;IAC3D,eAAe,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE;IACrD,mBAAmB,EAAE,UAAC,IAAuB,IAAK,OAAA;QAChD,yBAAyB;QACzB,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI;KAC5C,EAHiD,CAGjD;IACD,mBAAmB,EAAE,UAAC,IAAuB,IAAK,OAAA;QAChD,iBAAiB;QACjB,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI;KAC5C,EAHiD,CAGjD;IACD,sBAAsB,EAAE,EAAE,GAAG,EAAE,oBAAoB,EAAE,MAAM,EAAE,QAAQ,EAAE;IAEvE,eAAe,EAAE,EAAE,GAAG,EAAE,oBAAoB,EAAE,MAAM,EAAE,QAAQ,EAAE;IAEhE,oBAAoB,EAAE,EAAE,GAAG,EAAE,2BAA2B,EAAE,MAAM,EAAE,QAAQ,EAAE;IAC5E,wBAAwB,EAAE,UAAC,SAAoC;QAC7D,OAAA,SAAS;aACN,GAAG,CAAC,UAAC,CAA0B,IAAK,OAAA;YACnC,8BAA8B;YAC9B,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;SAClB,EAHoC,CAGpC,CAAC;aACD,MAAM,CAAC,UAAC,GAAa,EAAE,OAAiB,IAAK,uCAAI,GAAG,GAAK,OAAO,GAAnB,CAAoB,EAAE,EAAE,CAAC;IALzE,CAKyE;IAC3E,yBAAyB,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;IAC/D,aAAa,EAAE,EAAE,GAAG,EAAE,kBAAkB,EAAE,MAAM,EAAE,MAAM,EAAE;IAC1D,OAAO,EAAE,EAAE,GAAG,EAAE,mBAAmB,EAAE,MAAM,EAAE,QAAQ,EAAE;IACvD,sBAAsB,EAAE,EAAE,GAAG,EAAE,4BAA4B,EAAE,MAAM,EAAE,MAAM,EAAE;IAE7E,MAAM,EAAE;QACN,cAAc,EACZ,mEAAmE;KACtE;IACD,GAAG,EAAE;QACH,cAAc,EACZ,gEAAgE;KACnE;IAED,MAAM,EAAE;QACN,cAAc,EACZ,kEAAkE;KACrE;IACD,OAAO,EAAE;QACP,cAAc,EACZ,oFAAoF;KACvF;IACD,WAAW,EAAE;QACX,cAAc,EACZ,wHAAwH;KAC3H;IACD,qBAAqB,EAAE;QACrB,cAAc,EACZ,wHAAwH;KAC3H;CACF,CAAC"}
@@ -13,7 +13,6 @@ var __assign = (this && this.__assign) || function () {
13
13
  Object.defineProperty(exports, "__esModule", { value: true });
14
14
  exports.Verifier = void 0;
15
15
  var logger_1 = require("../logger");
16
- var promise_timeout_1 = require("promise-timeout");
17
16
  var nativeVerifier_1 = require("./nativeVerifier");
18
17
  var validateOptions_1 = require("./validateOptions");
19
18
  var applyDefaults = function (options) { return (__assign({ timeout: 30000, logLevel: 'info' }, options)); };
@@ -23,12 +22,7 @@ var Verifier = (function () {
23
22
  }
24
23
  Verifier.prototype.verify = function () {
25
24
  logger_1.default.info('Verifying Pact Files');
26
- return promise_timeout_1.timeout(nativeVerifier_1.verify(this.options), this.options.timeout).catch(function (err) {
27
- if (err instanceof promise_timeout_1.TimeoutError) {
28
- throw new Error("Timeout waiting for verification process to complete");
29
- }
30
- throw err;
31
- });
25
+ return nativeVerifier_1.verify(this.options);
32
26
  };
33
27
  return Verifier;
34
28
  }());
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,oCAA+B;AAC/B,mDAAwD;AAGxD,mDAA0C;AAC1C,qDAAoD;AAEpD,IAAM,aAAa,GAAG,UAAC,OAAwB,IAAsB,OAAA,YACnE,OAAO,EAAE,KAAK,EACd,QAAQ,EAAE,MAAM,IACb,OAAO,EACV,EAJmE,CAInE,CAAC;AAEH;IAGE,kBAAY,OAAwB;QAClC,IAAI,CAAC,OAAO,GAAG,iCAAe,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;IACzD,CAAC;IAEM,yBAAM,GAAb;QACE,gBAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QAEpC,OAAO,yBAAO,CAAC,uBAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,OAAiB,CAAC,CAAC,KAAK,CACxE,UAAC,GAAU;YACT,IAAI,GAAG,YAAY,8BAAY,EAAE;gBAC/B,MAAM,IAAI,KAAK,CACb,sDAAsD,CACvD,CAAC;aACH;YACD,MAAM,GAAG,CAAC;QACZ,CAAC,CACF,CAAC;IACJ,CAAC;IACH,eAAC;AAAD,CAAC,AArBD,IAqBC;AArBY,4BAAQ;AAwBrB,mBAAe,UAAC,OAAwB,IAAe,OAAA,IAAI,QAAQ,CAAC,OAAO,CAAC,EAArB,CAAqB,EAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,oCAA+B;AAE/B,mDAA0C;AAC1C,qDAAoD;AAEpD,IAAM,aAAa,GAAG,UAAC,OAAwB,IAAsB,OAAA,YACnE,OAAO,EAAE,KAAK,EACd,QAAQ,EAAE,MAAM,IACb,OAAO,EACV,EAJmE,CAInE,CAAC;AAEH;IAGE,kBAAY,OAAwB;QAClC,IAAI,CAAC,OAAO,GAAG,iCAAe,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;IACzD,CAAC;IAKM,yBAAM,GAAb;QACE,gBAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QAEpC,OAAO,uBAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;IACH,eAAC;AAAD,CAAC,AAfD,IAeC;AAfY,4BAAQ;AAkBrB,mBAAe,UAAC,OAAwB,IAAe,OAAA,IAAI,QAAQ,CAAC,OAAO,CAAC,EAArB,CAAqB,EAAC"}
@@ -1,24 +1,83 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.verify = void 0;
4
- var ffi_1 = require("../ffi");
5
4
  var logger_1 = require("../logger");
6
- var argumentMapper_1 = require("./argumentMapper");
7
- var VERIFICATION_SUCCESSFUL = 0;
8
- var VERIFICATION_FAILED = 1;
9
- var INVALID_ARGUMENTS = 4;
5
+ var ffi_1 = require("../ffi");
6
+ var types_1 = require("../ffi/types");
7
+ var url_1 = require("url");
8
+ var pkg = require('../../package.json');
9
+ var fs = require("fs");
10
+ var objArrayToStringArray = function (obj) {
11
+ return obj.map(function (o) { return JSON.stringify(o); });
12
+ };
10
13
  var verify = function (opts) {
11
- var verifierLib = ffi_1.getFfiLib(opts.logLevel);
14
+ var ffi = ffi_1.getFfiLib(opts.logLevel);
12
15
  if (opts.logLevel) {
13
16
  logger_1.setLogLevel(opts.logLevel);
14
17
  }
18
+ var handle = ffi.pactffiVerifierNewForApplication(pkg.name.split('/')[1], pkg.version);
19
+ var uri = new url_1.URL(opts.providerBaseUrl);
20
+ ffi.pactffiVerifierSetProviderInfo(handle, opts.provider || '', uri.protocol.split(':')[0], uri.hostname, parseInt(uri.port, 10), uri.pathname);
21
+ if (opts.providerStatesSetupUrl) {
22
+ ffi.pactffiVerifierSetProviderState(handle, opts.providerStatesSetupUrl, opts.providerStatesSetupTeardown || true, opts.providerStatesSetupBody || true);
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
+ }
15
77
  return new Promise(function (resolve, reject) {
16
- var request = argumentMapper_1.argumentMapper(opts)
17
- .map(function (s) { return s.replace('\n', ''); })
18
- .join('\n');
19
- logger_1.default.debug('sending arguments to FFI:');
20
- logger_1.default.debug(request);
21
- verifierLib.pactffi_verify.async(request, function (err, res) {
78
+ ffi.pactffiVerifierExecute(handle, function (err, res) {
79
+ logger_1.default.debug("shutting down verifier with handle " + handle);
80
+ ffi.pactffiVerifierShutdown(handle);
22
81
  logger_1.default.debug("response from verifier: " + err + ", " + res);
23
82
  if (err) {
24
83
  if (typeof err === 'string') {
@@ -32,15 +91,15 @@ var verify = function (opts) {
32
91
  }
33
92
  else {
34
93
  switch (res) {
35
- case VERIFICATION_SUCCESSFUL:
94
+ case types_1.VERIFY_PROVIDER_RESPONSE.VERIFICATION_SUCCESSFUL:
36
95
  logger_1.default.info('Verification successful');
37
96
  resolve("finished: " + res);
38
97
  break;
39
- case VERIFICATION_FAILED:
98
+ case types_1.VERIFY_PROVIDER_RESPONSE.VERIFICATION_FAILED:
40
99
  logger_1.default.error('Verification unsuccessful');
41
100
  reject(new Error('Verfication failed'));
42
101
  break;
43
- case INVALID_ARGUMENTS:
102
+ case types_1.VERIFY_PROVIDER_RESPONSE.INVALID_ARGUMENTS:
44
103
  logger_1.default.pactCrash('The underlying pact core was invoked incorrectly.');
45
104
  reject(new Error('Verification was unable to run'));
46
105
  break;
@@ -1 +1 @@
1
- {"version":3,"file":"nativeVerifier.js","sourceRoot":"","sources":["nativeVerifier.ts"],"names":[],"mappings":";;;AACA,8BAAmC;AACnC,oCAAgD;AAChD,mDAAkD;AAElD,IAAM,uBAAuB,GAAG,CAAC,CAAC;AAClC,IAAM,mBAAmB,GAAG,CAAC,CAAC;AAG9B,IAAM,iBAAiB,GAAG,CAAC,CAAC;AAErB,IAAM,MAAM,GAAG,UAAC,IAAqB;IAC1C,IAAM,WAAW,GAAG,eAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC7C,IAAI,IAAI,CAAC,QAAQ,EAAE;QACjB,oBAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;KAC5B;IAED,OAAO,IAAI,OAAO,CAAS,UAAC,OAAO,EAAE,MAAM;QACzC,IAAM,OAAO,GAAG,+BAAc,CAAC,IAAI,CAAC;aACjC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,EAAnB,CAAmB,CAAC;aAC/B,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,gBAAM,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC1C,gBAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAEtB,WAAW,CAAC,cAAc,CAAC,KAAK,CAAC,OAAO,EAAE,UAAC,GAAU,EAAE,GAAW;YAChE,gBAAM,CAAC,KAAK,CAAC,6BAA2B,GAAG,UAAK,GAAK,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,uBAAuB;wBAC1B,gBAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;wBACvC,OAAO,CAAC,eAAa,GAAK,CAAC,CAAC;wBAC5B,MAAM;oBACR,KAAK,mBAAmB;wBACtB,gBAAM,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;wBAC1C,MAAM,CAAC,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC;wBACxC,MAAM;oBACR,KAAK,iBAAiB;wBACpB,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;AArDW,QAAA,MAAM,UAqDjB"}
1
+ {"version":3,"file":"nativeVerifier.js","sourceRoot":"","sources":["nativeVerifier.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,9 @@ export interface ConsumerVersionSelector {
12
12
  mainBranch?: boolean;
13
13
  matchingBranch?: boolean;
14
14
  }
15
+ export declare type CustomHeaders = {
16
+ [header: string]: string;
17
+ };
15
18
  export interface VerifierOptions {
16
19
  providerBaseUrl: string;
17
20
  provider?: string;
@@ -20,9 +23,12 @@ export interface VerifierOptions {
20
23
  pactBrokerUsername?: string;
21
24
  pactBrokerPassword?: string;
22
25
  pactBrokerToken?: string;
23
- consumerVersionTags?: string | string[];
24
- providerVersionTags?: string | string[];
26
+ consumerVersionTags?: string[];
27
+ providerVersionTags?: string[];
28
+ providerBranch?: string;
25
29
  providerStatesSetupUrl?: string;
30
+ providerStatesSetupTeardown?: boolean;
31
+ providerStatesSetupBody?: boolean;
26
32
  publishVerificationResult?: boolean;
27
33
  providerVersion?: string;
28
34
  enablePending?: boolean;
@@ -31,4 +37,6 @@ export interface VerifierOptions {
31
37
  timeout?: number;
32
38
  logLevel?: LogLevel;
33
39
  disableSslVerification?: boolean;
40
+ buildUrl?: string;
41
+ customProviderHeaders?: CustomHeaders;
34
42
  }
package/test.js ADDED
@@ -0,0 +1,52 @@
1
+ const Pact = require('bindings')('pact.node');
2
+
3
+ // result = Pact.pactffiVerify(
4
+ // '--file\ntest/paaeuocts/foo.json',
5
+ // (err, result) => {
6
+ // if (err) {
7
+ // throw err;
8
+ // }
9
+
10
+ // console.log(result);
11
+ // }
12
+ // );
13
+
14
+ // console.log(Pact.pactffiVersion());
15
+
16
+ // result = Pact.foo(['arg1', 'arg2']);
17
+
18
+ Pact.pactffiInitWithLogLevel('debug');
19
+
20
+ handle = Pact.pactffiVerifierNewForApplication('pact-node', '1.x.x');
21
+ console.log(handle);
22
+ Pact.pactffiVerifierSetProviderInfo(
23
+ handle,
24
+ 'pactflow-example-provider',
25
+ 'http',
26
+ 'localhost',
27
+ 1234,
28
+ '/'
29
+ );
30
+ Pact.pactffiVerifierBrokerSourceWithSelectors(
31
+ handle,
32
+ 'https://testdemo.pactflow.io',
33
+ '',
34
+ '',
35
+ 'AtDElACja4sv6l_RtI-bAw',
36
+ true,
37
+ '',
38
+ ['dev', 'prod'],
39
+ 'main',
40
+ [`{"mainBranch": true}`],
41
+ ['dev', 'prod']
42
+ );
43
+ // Pact.pactffiVerifierAddFileSource(
44
+ // handle,
45
+ // '/Users/matthewfellows/development/public/pact-js/examples/mocha/pacts/myconsumer-myprovider.json'
46
+ // );
47
+ Pact.pactffiVerifierExecute(handle, (a, b) => {
48
+ console.log('done', a, b);
49
+ Pact.pactffiVerifierShutdown(handle);
50
+ });
51
+
52
+ console.log('done!');