@pact-foundation/pact-core 13.4.1-beta.1 → 13.4.1-beta.13
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/binding.gyp +4 -8
- package/build/Makefile +352 -0
- package/build/binding.Makefile +6 -0
- package/build/copy_release_artifacts.target.mk +47 -0
- package/build/gyp-mac-tool +615 -0
- package/build/pact.target.mk +207 -0
- package/build/set_osx_install_name.target.mk +47 -0
- package/ffi/libpact_ffi.dylib +0 -0
- package/ffi/libpact_ffi.so +0 -0
- package/ffi/osxaarch64/libpact_ffi.dylib +0 -0
- package/ffi/pact.h +655 -119
- package/ffi/pact_ffi.dll +0 -0
- package/ffi/pact_ffi.dll.lib +0 -0
- package/native/consumer.cc +89 -33
- package/package.json +6 -9
- package/src/consumer/__testoutput__/foo-consumer-bar-provider.json +255 -0
- package/src/consumer/index.d.ts +1 -0
- package/src/consumer/index.js +43 -31
- package/src/consumer/index.js.map +1 -1
- package/src/consumer/types.d.ts +3 -0
- package/src/ffi/index.d.ts +4 -4
- package/src/ffi/index.js +6 -9
- package/src/ffi/index.js.map +1 -1
- package/src/ffi/internals/index.d.ts +0 -2
- package/src/ffi/internals/index.js +1 -11
- package/src/ffi/internals/index.js.map +1 -1
- package/src/ffi/types.d.ts +53 -0
- package/src/ffi/types.js +23 -1
- package/src/ffi/types.js.map +1 -1
- package/src/publisher.d.ts +1 -0
- package/src/publisher.js +11 -4
- package/src/publisher.js.map +1 -1
- package/src/verifier/nativeVerifier.js +12 -12
- package/src/verifier/nativeVerifier.js.map +1 -1
- package/src/verifier/types.d.ts +3 -0
- package/src/verifier/validateOptions.js +3 -1
- package/src/verifier/validateOptions.js.map +1 -1
- package/standalone/install.d.ts +1 -1
- package/standalone/install.js +1 -1
- package/ffi/libpact_ffi.so.gz +0 -0
- package/native/consumer.c +0 -210
- package/src/ffi/argumentMapper/index.d.ts +0 -2
- package/src/ffi/argumentMapper/index.js +0 -47
- package/src/ffi/argumentMapper/index.js.map +0 -1
- package/src/ffi/argumentMapper/types.d.ts +0 -8
- package/src/ffi/argumentMapper/types.js +0 -3
- package/src/ffi/argumentMapper/types.js.map +0 -1
- package/src/ffi/declarations.d.ts +0 -117
- package/src/ffi/declarations.js +0 -66
- package/src/ffi/declarations.js.map +0 -1
- package/src/ffi/internals/types.d.ts +0 -25
- package/src/ffi/internals/types.js +0 -3
- package/src/ffi/internals/types.js.map +0 -1
- package/src/verifier/arguments.d.ts +0 -13
- package/src/verifier/arguments.js +0 -89
- package/src/verifier/arguments.js.map +0 -1
package/native/consumer.c
DELETED
|
@@ -1,210 +0,0 @@
|
|
|
1
|
-
#include <stdio.h>
|
|
2
|
-
#include <node_api.h>
|
|
3
|
-
#include <pact.h>
|
|
4
|
-
|
|
5
|
-
// libpact_init
|
|
6
|
-
void LibpactInit(napi_env env, napi_callback_info info) {
|
|
7
|
-
pactffi_init("LOG_LEVEL");
|
|
8
|
-
pactffi_init_with_log_level("INFO");
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
// libpact_version
|
|
12
|
-
napi_value LibpactVersion(napi_env env, napi_callback_info info) {
|
|
13
|
-
napi_value version;
|
|
14
|
-
napi_status status;
|
|
15
|
-
|
|
16
|
-
const char* version_str = pactffi_version();
|
|
17
|
-
|
|
18
|
-
status = napi_create_string_utf8(env, version_str, NAPI_AUTO_LENGTH, &version);
|
|
19
|
-
if (status != napi_ok) {
|
|
20
|
-
napi_throw_error(env, NULL, "Unable to read version from core");
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
return version;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
// libpact_new_pact
|
|
27
|
-
napi_value LibpactNewPact(napi_env env, napi_callback_info info) {
|
|
28
|
-
napi_value pact;
|
|
29
|
-
napi_status status;
|
|
30
|
-
|
|
31
|
-
// actually a uint16
|
|
32
|
-
PactHandle handle = pactffi_new_pact("consumer", "provider");
|
|
33
|
-
|
|
34
|
-
status = napi_create_uint32(env, handle, &pact);
|
|
35
|
-
if (status != napi_ok) {
|
|
36
|
-
napi_throw_error(env, NULL, "Unable to create a new pact");
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
return pact;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
// libpact_new_interaction
|
|
43
|
-
napi_value LibpactNewInteraction(napi_env env, napi_callback_info info) {
|
|
44
|
-
napi_status status;
|
|
45
|
-
napi_value interaction;
|
|
46
|
-
|
|
47
|
-
size_t argc = 1;
|
|
48
|
-
PactHandle pact_handle = 0;
|
|
49
|
-
napi_value argv[1];
|
|
50
|
-
status = napi_get_cb_info(env, info, &argc, argv, NULL, NULL);
|
|
51
|
-
|
|
52
|
-
if (status != napi_ok) {
|
|
53
|
-
napi_throw_error(env, NULL, "Failed to parse arguments");
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
status = napi_get_value_uint32(env, argv[0], &pact_handle);
|
|
57
|
-
printf("Received pact handle: %d\n", pact_handle);
|
|
58
|
-
|
|
59
|
-
// actually a uint16
|
|
60
|
-
InteractionHandle handle = pactffi_new_interaction(pact_handle, "empty description");
|
|
61
|
-
|
|
62
|
-
status = napi_create_uint32(env, handle, &interaction);
|
|
63
|
-
if (status != napi_ok) {
|
|
64
|
-
napi_throw_error(env, NULL, "Unable to create a new pact");
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
return interaction;
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
// libpact_upon_receiving
|
|
71
|
-
napi_value LibpactUponReceiving(napi_env env, napi_callback_info info) {
|
|
72
|
-
napi_status status;
|
|
73
|
-
napi_value res;
|
|
74
|
-
|
|
75
|
-
size_t argc = 1;
|
|
76
|
-
InteractionHandle interaction_handle = 0;
|
|
77
|
-
napi_value argv[1];
|
|
78
|
-
status = napi_get_cb_info(env, info, &argc, argv, NULL, NULL);
|
|
79
|
-
|
|
80
|
-
if (status != napi_ok) {
|
|
81
|
-
napi_throw_error(env, NULL, "Failed to parse arguments");
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
status = napi_get_value_uint32(env, argv[0], &interaction_handle);
|
|
85
|
-
printf("Received interaction handle: %d\n", interaction_handle);
|
|
86
|
-
|
|
87
|
-
// actually a uint32
|
|
88
|
-
int success = pactffi_upon_receiving(interaction_handle, "new description");
|
|
89
|
-
|
|
90
|
-
status = napi_get_boolean(env, success, &res);
|
|
91
|
-
if (status != napi_ok) {
|
|
92
|
-
napi_throw_error(env, NULL, "Unable to set upon receiving");
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
return res;
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
// libpact_verify
|
|
99
|
-
napi_value LibpactVerifyProvider(napi_env env, napi_callback_info info) {
|
|
100
|
-
napi_status status;
|
|
101
|
-
napi_value response;
|
|
102
|
-
napi_value argv[1];
|
|
103
|
-
|
|
104
|
-
size_t argc = 1;
|
|
105
|
-
status = napi_get_cb_info(env, info, &argc, argv, NULL, NULL);
|
|
106
|
-
if (status != napi_ok) {
|
|
107
|
-
napi_throw_error(env, NULL, "Failed to parse arguments");
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
char *args;
|
|
111
|
-
size_t str_size;
|
|
112
|
-
|
|
113
|
-
// First determine the string size: https://nodejs.org/api/n-api.html#napi_get_value_string_utf8
|
|
114
|
-
napi_get_value_string_utf8(env, argv[0], NULL, 0, &str_size);
|
|
115
|
-
str_size += 1;
|
|
116
|
-
|
|
117
|
-
args = (char*)calloc(str_size + 1, sizeof(char));
|
|
118
|
-
size_t str_size_read;
|
|
119
|
-
|
|
120
|
-
// Get the actual string now the size is known
|
|
121
|
-
status = napi_get_value_string_utf8(env, argv[0], args, str_size, &str_size_read);
|
|
122
|
-
if (status != napi_ok) {
|
|
123
|
-
napi_throw_error(env, NULL, "Unable to read the verification arguments");
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
int res = pactffi_verify(args);
|
|
127
|
-
|
|
128
|
-
status = napi_create_uint32(env, res, &response);
|
|
129
|
-
if (status != napi_ok) {
|
|
130
|
-
napi_throw_error(env, NULL, "Unable to verify pact");
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
return response;
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
napi_value Init(napi_env env, napi_value exports) {
|
|
138
|
-
napi_status status;
|
|
139
|
-
napi_value fn;
|
|
140
|
-
|
|
141
|
-
// version
|
|
142
|
-
status = napi_create_function(env, NULL, 0, LibpactVersion, NULL, &fn);
|
|
143
|
-
if (status != napi_ok) {
|
|
144
|
-
napi_throw_error(env, NULL, "Unable to wrap native function: version");
|
|
145
|
-
}
|
|
146
|
-
|
|
147
|
-
status = napi_set_named_property(env, exports, "version", fn);
|
|
148
|
-
if (status != napi_ok) {
|
|
149
|
-
napi_throw_error(env, NULL, "Unable to populate exports for: version");
|
|
150
|
-
}
|
|
151
|
-
|
|
152
|
-
// init
|
|
153
|
-
status = napi_create_function(env, NULL, 0, LibpactInit, NULL, &fn);
|
|
154
|
-
if (status != napi_ok) {
|
|
155
|
-
napi_throw_error(env, NULL, "Unable to wrap native function: init");
|
|
156
|
-
}
|
|
157
|
-
|
|
158
|
-
status = napi_set_named_property(env, exports, "init", fn);
|
|
159
|
-
if (status != napi_ok) {
|
|
160
|
-
napi_throw_error(env, NULL, "Unable to populate exports for: init");
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
// new pact
|
|
164
|
-
status = napi_create_function(env, NULL, 0, LibpactNewPact, NULL, &fn);
|
|
165
|
-
if (status != napi_ok) {
|
|
166
|
-
napi_throw_error(env, NULL, "Unable to wrap native function: new_pact");
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
status = napi_set_named_property(env, exports, "new_pact", fn);
|
|
170
|
-
if (status != napi_ok) {
|
|
171
|
-
napi_throw_error(env, NULL, "Unable to populate exports for: new_pact");
|
|
172
|
-
}
|
|
173
|
-
|
|
174
|
-
// new interaction
|
|
175
|
-
status = napi_create_function(env, NULL, 0, LibpactNewInteraction, NULL, &fn);
|
|
176
|
-
if (status != napi_ok) {
|
|
177
|
-
napi_throw_error(env, NULL, "Unable to wrap native function: new_interaction");
|
|
178
|
-
}
|
|
179
|
-
|
|
180
|
-
status = napi_set_named_property(env, exports, "new_interaction", fn);
|
|
181
|
-
if (status != napi_ok) {
|
|
182
|
-
napi_throw_error(env, NULL, "Unable to populate exports for: new_interaction");
|
|
183
|
-
}
|
|
184
|
-
|
|
185
|
-
// upon receiving
|
|
186
|
-
status = napi_create_function(env, NULL, 0, LibpactUponReceiving, NULL, &fn);
|
|
187
|
-
if (status != napi_ok) {
|
|
188
|
-
napi_throw_error(env, NULL, "Unable to wrap native function: upon_receiving");
|
|
189
|
-
}
|
|
190
|
-
|
|
191
|
-
status = napi_set_named_property(env, exports, "upon_receiving", fn);
|
|
192
|
-
if (status != napi_ok) {
|
|
193
|
-
napi_throw_error(env, NULL, "Unable to populate exports for: upon_receiving");
|
|
194
|
-
}
|
|
195
|
-
|
|
196
|
-
// verify (provider)
|
|
197
|
-
status = napi_create_function(env, NULL, 0, LibpactVerifyProvider, NULL, &fn);
|
|
198
|
-
if (status != napi_ok) {
|
|
199
|
-
napi_throw_error(env, NULL, "Unable to wrap native function: verify_provider");
|
|
200
|
-
}
|
|
201
|
-
|
|
202
|
-
status = napi_set_named_property(env, exports, "verify_provider", fn);
|
|
203
|
-
if (status != napi_ok) {
|
|
204
|
-
napi_throw_error(env, NULL, "Unable to populate exports for: verify_provider");
|
|
205
|
-
}
|
|
206
|
-
|
|
207
|
-
return exports;
|
|
208
|
-
}
|
|
209
|
-
|
|
210
|
-
NAPI_MODULE(NODE_GYP_MODULE_NAME, Init)
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __spreadArray = (this && this.__spreadArray) || function (to, from) {
|
|
3
|
-
for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
|
|
4
|
-
to[j] = from[i];
|
|
5
|
-
return to;
|
|
6
|
-
};
|
|
7
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
-
exports.argumentMapper = void 0;
|
|
9
|
-
var logger_1 = require("../../logger");
|
|
10
|
-
var argumentMapper = function (argMapping, options, ignoredArguments) {
|
|
11
|
-
return Object.keys(options)
|
|
12
|
-
.map(function (key) {
|
|
13
|
-
if (!argMapping[key]) {
|
|
14
|
-
if (!ignoredArguments.includes(key)) {
|
|
15
|
-
logger_1.default.error("Pact-core is ignoring unknown option '" + key + "'");
|
|
16
|
-
}
|
|
17
|
-
return [];
|
|
18
|
-
}
|
|
19
|
-
if (options[key] === undefined) {
|
|
20
|
-
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");
|
|
21
|
-
return [];
|
|
22
|
-
}
|
|
23
|
-
if (argMapping[key].warningMessage) {
|
|
24
|
-
logger_1.default.warn(argMapping[key].warningMessage);
|
|
25
|
-
return [];
|
|
26
|
-
}
|
|
27
|
-
if (argMapping[key].arg) {
|
|
28
|
-
switch (argMapping[key].mapper) {
|
|
29
|
-
case 'string':
|
|
30
|
-
return [argMapping[key].arg, "" + options[key]];
|
|
31
|
-
case 'flag':
|
|
32
|
-
return options[key] ? [argMapping[key].arg] : [];
|
|
33
|
-
default:
|
|
34
|
-
logger_1.default.pactCrash("Option mapper for '" + key + "' maps to '" + argMapping[key].arg + "' with unknown mapper type '" + argMapping[key].mapper + "'");
|
|
35
|
-
return [];
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
if (typeof argMapping[key] === 'function') {
|
|
39
|
-
return argMapping[key](options[key]);
|
|
40
|
-
}
|
|
41
|
-
logger_1.default.pactCrash("The option mapper completely failed to find a mapping for '" + key + "'.");
|
|
42
|
-
return [];
|
|
43
|
-
})
|
|
44
|
-
.reduce(function (acc, current) { return __spreadArray(__spreadArray([], acc), current); }, []);
|
|
45
|
-
};
|
|
46
|
-
exports.argumentMapper = argumentMapper;
|
|
47
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;;;;;;AACA,uCAAkC;AAE3B,IAAM,cAAc,GAAG,UAC5B,UAAmC,EACnC,OAAoB,EACpB,gBAA0B;IAE1B,OAAA,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;SACjB,GAAG,CAAC,UAAC,GAAW;QACf,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;YACpB,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;gBACnC,gBAAM,CAAC,KAAK,CAAC,2CAAyC,GAAG,MAAG,CAAC,CAAC;aAC/D;YACD,OAAO,EAAE,CAAC;SACX;QACD,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE;YAC9B,gBAAM,CAAC,IAAI,CACT,0BAAwB,GAAG,6JAA0J,CACtL,CAAC;YACF,OAAO,EAAE,CAAC;SACX;QACD,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC,cAAc,EAAE;YAClC,gBAAM,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC,CAAC;YAC5C,OAAO,EAAE,CAAC;SACX;QACD,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE;YACvB,QAAQ,UAAU,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE;gBAC9B,KAAK,QAAQ;oBACX,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAG,OAAO,CAAC,GAAG,CAAG,CAAC,CAAC;gBAClD,KAAK,MAAM;oBACT,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnD;oBACE,gBAAM,CAAC,SAAS,CACd,wBAAsB,GAAG,mBAAc,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,oCAA+B,UAAU,CAAC,GAAG,CAAC,CAAC,MAAM,MAAG,CACnH,CAAC;oBACF,OAAO,EAAE,CAAC;aACb;SACF;QACD,IAAI,OAAO,UAAU,CAAC,GAAG,CAAC,KAAK,UAAU,EAAE;YACzC,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;SACtC;QACD,gBAAM,CAAC,SAAS,CACd,gEAA8D,GAAG,OAAI,CACtE,CAAC;QACF,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC;SAED,MAAM,CAAC,UAAC,GAAa,EAAE,OAAiB,IAAK,uCAAI,GAAG,GAAK,OAAO,GAAnB,CAAoB,EAAE,EAAE,CAAC;AAxCzE,CAwCyE,CAAC;AA7C/D,QAAA,cAAc,kBA6CiD"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["types.ts"],"names":[],"mappings":""}
|
|
@@ -1,117 +0,0 @@
|
|
|
1
|
-
declare const InteractionHandle = "uint16";
|
|
2
|
-
declare const PactHandle = "uint32";
|
|
3
|
-
export declare type FfiDeclarations = {
|
|
4
|
-
pactffi_init: ['string', ['string']];
|
|
5
|
-
pactffi_version: ['string', []];
|
|
6
|
-
pactffi_free_string: ['void', ['string']];
|
|
7
|
-
pactffi_verify: ['int32', ['string']];
|
|
8
|
-
pactffi_create_mock_server_for_pact: [
|
|
9
|
-
'int',
|
|
10
|
-
[
|
|
11
|
-
typeof PactHandle,
|
|
12
|
-
'string',
|
|
13
|
-
'bool'
|
|
14
|
-
]
|
|
15
|
-
];
|
|
16
|
-
pactffi_new_pact: [typeof PactHandle, ['string', 'string']];
|
|
17
|
-
pactffi_with_specification: ['bool', [typeof PactHandle, 'int']];
|
|
18
|
-
pactffi_mock_server_matched: ['bool', ['int32']];
|
|
19
|
-
pactffi_new_interaction: [
|
|
20
|
-
typeof InteractionHandle,
|
|
21
|
-
[
|
|
22
|
-
typeof PactHandle,
|
|
23
|
-
'string'
|
|
24
|
-
]
|
|
25
|
-
];
|
|
26
|
-
pactffi_upon_receiving: ['bool', [typeof InteractionHandle, 'string']];
|
|
27
|
-
pactffi_given: ['bool', [typeof InteractionHandle, 'string']];
|
|
28
|
-
pactffi_given_with_param: [
|
|
29
|
-
'bool',
|
|
30
|
-
[
|
|
31
|
-
typeof InteractionHandle,
|
|
32
|
-
'string',
|
|
33
|
-
'string',
|
|
34
|
-
'string'
|
|
35
|
-
]
|
|
36
|
-
];
|
|
37
|
-
pactffi_with_request: [
|
|
38
|
-
'bool',
|
|
39
|
-
[
|
|
40
|
-
typeof InteractionHandle,
|
|
41
|
-
'string',
|
|
42
|
-
'string'
|
|
43
|
-
]
|
|
44
|
-
];
|
|
45
|
-
pactffi_with_query_parameter: [
|
|
46
|
-
'bool',
|
|
47
|
-
[
|
|
48
|
-
typeof InteractionHandle,
|
|
49
|
-
'string',
|
|
50
|
-
'int',
|
|
51
|
-
'string'
|
|
52
|
-
]
|
|
53
|
-
];
|
|
54
|
-
pactffi_with_header: [
|
|
55
|
-
'bool',
|
|
56
|
-
[
|
|
57
|
-
typeof InteractionHandle,
|
|
58
|
-
'int',
|
|
59
|
-
'string',
|
|
60
|
-
'int',
|
|
61
|
-
'string'
|
|
62
|
-
]
|
|
63
|
-
];
|
|
64
|
-
pactffi_with_body: [
|
|
65
|
-
'bool',
|
|
66
|
-
[
|
|
67
|
-
typeof InteractionHandle,
|
|
68
|
-
'int',
|
|
69
|
-
'string',
|
|
70
|
-
'string'
|
|
71
|
-
]
|
|
72
|
-
];
|
|
73
|
-
pactffi_with_multipart_file: [
|
|
74
|
-
'bool',
|
|
75
|
-
[
|
|
76
|
-
typeof InteractionHandle,
|
|
77
|
-
'int',
|
|
78
|
-
'string',
|
|
79
|
-
'string',
|
|
80
|
-
'string'
|
|
81
|
-
]
|
|
82
|
-
];
|
|
83
|
-
pactffi_response_status: ['bool', [typeof InteractionHandle, 'int']];
|
|
84
|
-
pactffi_write_pact_file: ['int32', ['int32', 'string', 'bool']];
|
|
85
|
-
pactffi_cleanup_mock_server: ['bool', ['int']];
|
|
86
|
-
pactffi_mock_server_mismatches: ['string', ['int']];
|
|
87
|
-
pactffi_get_tls_ca_certificate: ['string', []];
|
|
88
|
-
pactffi_log_message: ['void', ['string', 'string', 'string']];
|
|
89
|
-
pactffi_log_to_buffer: ['int32', ['int32']];
|
|
90
|
-
pactffi_init_with_log_level: ['void', ['int32']];
|
|
91
|
-
pactffi_log_to_stdout: ['int32', ['int32']];
|
|
92
|
-
pactffi_log_to_file: ['int32', ['string', 'int32', 'int32']];
|
|
93
|
-
pactffi_fetch_log_buffer: ['string', ['int32']];
|
|
94
|
-
pactffi_with_pact_metadata: [
|
|
95
|
-
'bool',
|
|
96
|
-
[
|
|
97
|
-
typeof PactHandle,
|
|
98
|
-
'string',
|
|
99
|
-
'string',
|
|
100
|
-
'string'
|
|
101
|
-
]
|
|
102
|
-
];
|
|
103
|
-
};
|
|
104
|
-
export declare const declarations: FfiDeclarations;
|
|
105
|
-
export declare enum FfiFunctionResult {
|
|
106
|
-
RESULT_OK = 0,
|
|
107
|
-
RESULT_FAILED = 1
|
|
108
|
-
}
|
|
109
|
-
export declare enum FfiLogLevelFilter {
|
|
110
|
-
LOG_LEVEL_OFF = 0,
|
|
111
|
-
LOG_LEVEL_ERROR = 1,
|
|
112
|
-
LOG_LEVEL_WARN = 2,
|
|
113
|
-
LOG_LEVEL_INFO = 3,
|
|
114
|
-
LOG_LEVEL_DEBUG = 4,
|
|
115
|
-
LOG_LEVEL_TRACE = 5
|
|
116
|
-
}
|
|
117
|
-
export {};
|
package/src/ffi/declarations.js
DELETED
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.FfiLogLevelFilter = exports.FfiFunctionResult = exports.declarations = void 0;
|
|
4
|
-
var InteractionHandle = 'uint16';
|
|
5
|
-
var PactHandle = 'uint32';
|
|
6
|
-
exports.declarations = {
|
|
7
|
-
pactffi_init: ['string', ['string']],
|
|
8
|
-
pactffi_version: ['string', []],
|
|
9
|
-
pactffi_free_string: ['void', ['string']],
|
|
10
|
-
pactffi_verify: ['int32', ['string']],
|
|
11
|
-
pactffi_create_mock_server_for_pact: ['int', [PactHandle, 'string', 'bool']],
|
|
12
|
-
pactffi_new_pact: [PactHandle, ['string', 'string']],
|
|
13
|
-
pactffi_with_specification: ['bool', [PactHandle, 'int']],
|
|
14
|
-
pactffi_mock_server_matched: ['bool', ['int32']],
|
|
15
|
-
pactffi_new_interaction: [InteractionHandle, [PactHandle, 'string']],
|
|
16
|
-
pactffi_upon_receiving: ['bool', [InteractionHandle, 'string']],
|
|
17
|
-
pactffi_given: ['bool', [InteractionHandle, 'string']],
|
|
18
|
-
pactffi_given_with_param: [
|
|
19
|
-
'bool',
|
|
20
|
-
[InteractionHandle, 'string', 'string', 'string'],
|
|
21
|
-
],
|
|
22
|
-
pactffi_with_request: ['bool', [InteractionHandle, 'string', 'string']],
|
|
23
|
-
pactffi_with_query_parameter: [
|
|
24
|
-
'bool',
|
|
25
|
-
[InteractionHandle, 'string', 'int', 'string'],
|
|
26
|
-
],
|
|
27
|
-
pactffi_with_header: [
|
|
28
|
-
'bool',
|
|
29
|
-
[InteractionHandle, 'int', 'string', 'int', 'string'],
|
|
30
|
-
],
|
|
31
|
-
pactffi_with_body: ['bool', [InteractionHandle, 'int', 'string', 'string']],
|
|
32
|
-
pactffi_with_multipart_file: [
|
|
33
|
-
'bool',
|
|
34
|
-
[InteractionHandle, 'int', 'string', 'string', 'string'],
|
|
35
|
-
],
|
|
36
|
-
pactffi_response_status: ['bool', [InteractionHandle, 'int']],
|
|
37
|
-
pactffi_write_pact_file: ['int32', ['int32', 'string', 'bool']],
|
|
38
|
-
pactffi_cleanup_mock_server: ['bool', ['int']],
|
|
39
|
-
pactffi_mock_server_mismatches: ['string', ['int']],
|
|
40
|
-
pactffi_get_tls_ca_certificate: ['string', []],
|
|
41
|
-
pactffi_log_message: ['void', ['string', 'string', 'string']],
|
|
42
|
-
pactffi_log_to_buffer: ['int32', ['int32']],
|
|
43
|
-
pactffi_init_with_log_level: ['void', ['int32']],
|
|
44
|
-
pactffi_fetch_log_buffer: ['string', ['int32']],
|
|
45
|
-
pactffi_log_to_stdout: ['int32', ['int32']],
|
|
46
|
-
pactffi_log_to_file: ['int32', ['string', 'int32', 'int32']],
|
|
47
|
-
pactffi_with_pact_metadata: [
|
|
48
|
-
'bool',
|
|
49
|
-
[PactHandle, 'string', 'string', 'string'],
|
|
50
|
-
],
|
|
51
|
-
};
|
|
52
|
-
var FfiFunctionResult;
|
|
53
|
-
(function (FfiFunctionResult) {
|
|
54
|
-
FfiFunctionResult[FfiFunctionResult["RESULT_OK"] = 0] = "RESULT_OK";
|
|
55
|
-
FfiFunctionResult[FfiFunctionResult["RESULT_FAILED"] = 1] = "RESULT_FAILED";
|
|
56
|
-
})(FfiFunctionResult = exports.FfiFunctionResult || (exports.FfiFunctionResult = {}));
|
|
57
|
-
var FfiLogLevelFilter;
|
|
58
|
-
(function (FfiLogLevelFilter) {
|
|
59
|
-
FfiLogLevelFilter[FfiLogLevelFilter["LOG_LEVEL_OFF"] = 0] = "LOG_LEVEL_OFF";
|
|
60
|
-
FfiLogLevelFilter[FfiLogLevelFilter["LOG_LEVEL_ERROR"] = 1] = "LOG_LEVEL_ERROR";
|
|
61
|
-
FfiLogLevelFilter[FfiLogLevelFilter["LOG_LEVEL_WARN"] = 2] = "LOG_LEVEL_WARN";
|
|
62
|
-
FfiLogLevelFilter[FfiLogLevelFilter["LOG_LEVEL_INFO"] = 3] = "LOG_LEVEL_INFO";
|
|
63
|
-
FfiLogLevelFilter[FfiLogLevelFilter["LOG_LEVEL_DEBUG"] = 4] = "LOG_LEVEL_DEBUG";
|
|
64
|
-
FfiLogLevelFilter[FfiLogLevelFilter["LOG_LEVEL_TRACE"] = 5] = "LOG_LEVEL_TRACE";
|
|
65
|
-
})(FfiLogLevelFilter = exports.FfiLogLevelFilter || (exports.FfiLogLevelFilter = {}));
|
|
66
|
-
//# sourceMappingURL=declarations.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"declarations.js","sourceRoot":"","sources":["declarations.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
declare type AsyncFfiCall<Args extends unknown[], ReturnType> = {
|
|
2
|
-
async: (...args: [...Args, (err: Error, ret: ReturnType) => void]) => ReturnType;
|
|
3
|
-
};
|
|
4
|
-
declare type FfiFunction<T> = T extends (...a: infer Args) => infer ReturnType ? T & AsyncFfiCall<Args, ReturnType> : never;
|
|
5
|
-
declare type VariableType = 'string' | 'void' | 'int' | 'int32' | 'double' | 'float' | any;
|
|
6
|
-
declare type UnpackEnum<T> = [T] extends [unknown] ? T extends number ? T : never : never;
|
|
7
|
-
declare type ActualType<T> = [T] extends ['string'] ? string : [T] extends ['void'] ? void : [number] extends [T] ? UnpackEnum<T> : ['int32'] extends [T] ? [T] extends ['int32'] ? number : UnpackEnum<T> : ['int'] extends [T] ? [T] extends ['int'] ? number : UnpackEnum<T> : [T] extends ['double' | 'float'] ? number : [T] extends ['bool'] ? boolean : T;
|
|
8
|
-
declare type ArrayActualType<Tuple extends [...Array<unknown>]> = {
|
|
9
|
-
[Index in keyof Tuple]: ActualType<Tuple[Index]>;
|
|
10
|
-
} & {
|
|
11
|
-
length: Tuple['length'];
|
|
12
|
-
};
|
|
13
|
-
declare type TupleType = [VariableType, Array<VariableType>];
|
|
14
|
-
declare type FunctionFromArray<A extends TupleType> = A extends [
|
|
15
|
-
r: infer ReturnType,
|
|
16
|
-
args: [...infer ArgArrayType]
|
|
17
|
-
] ? (...args: ArrayActualType<ArgArrayType>) => ActualType<ReturnType> : never;
|
|
18
|
-
declare type LibDescription<Functions extends string> = {
|
|
19
|
-
[k in Functions]: [VariableType, Array<VariableType>];
|
|
20
|
-
};
|
|
21
|
-
export declare type FfiBinding<T> = T extends LibDescription<string> ? {
|
|
22
|
-
[Key in keyof T]: FfiFunction<FunctionFromArray<T[Key]>>;
|
|
23
|
-
} : never;
|
|
24
|
-
export declare type FfiEnum<T> = T | 'int32';
|
|
25
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["types.ts"],"names":[],"mappings":""}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { ArgMapping } from '../ffi/argumentMapper/types';
|
|
2
|
-
import { VerifierOptions } from './types';
|
|
3
|
-
declare type DeprecatedVerifierOptions = {
|
|
4
|
-
format?: 'json' | 'xml' | 'progress' | 'RspecJunitFormatter';
|
|
5
|
-
out?: string;
|
|
6
|
-
customProviderHeaders?: string[];
|
|
7
|
-
verbose?: boolean;
|
|
8
|
-
monkeypatch?: string;
|
|
9
|
-
logDir?: string;
|
|
10
|
-
};
|
|
11
|
-
export declare const ignoredArguments: string[];
|
|
12
|
-
export declare const argMapping: ArgMapping<VerifierOptions & DeprecatedVerifierOptions>;
|
|
13
|
-
export {};
|
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __spreadArray = (this && this.__spreadArray) || function (to, from) {
|
|
3
|
-
for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
|
|
4
|
-
to[j] = from[i];
|
|
5
|
-
return to;
|
|
6
|
-
};
|
|
7
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
-
exports.argMapping = exports.ignoredArguments = void 0;
|
|
9
|
-
var url = require("url");
|
|
10
|
-
var filesystem_1 = require("./filesystem");
|
|
11
|
-
exports.ignoredArguments = [
|
|
12
|
-
'requestFilter',
|
|
13
|
-
'stateHandlers',
|
|
14
|
-
'messageProviders',
|
|
15
|
-
'changeOrigin',
|
|
16
|
-
'beforeEach',
|
|
17
|
-
'afterEach',
|
|
18
|
-
'validateSSL',
|
|
19
|
-
];
|
|
20
|
-
exports.argMapping = {
|
|
21
|
-
providerBaseUrl: function (providerBaseUrl) {
|
|
22
|
-
var u = url.parse(providerBaseUrl);
|
|
23
|
-
return u && u.port && u.hostname
|
|
24
|
-
? ['--port', u.port, '--hostname', u.hostname]
|
|
25
|
-
: [];
|
|
26
|
-
},
|
|
27
|
-
logLevel: function (logLevel) { return ['--loglevel', logLevel]; },
|
|
28
|
-
provider: { arg: '--provider-name', mapper: 'string' },
|
|
29
|
-
pactUrls: function (pactUrls) {
|
|
30
|
-
return pactUrls.reduce(function (acc, uri) {
|
|
31
|
-
switch (filesystem_1.getUriType(uri)) {
|
|
32
|
-
case 'URL':
|
|
33
|
-
return __spreadArray(__spreadArray([], acc), ['--url', uri]);
|
|
34
|
-
case 'DIRECTORY':
|
|
35
|
-
return __spreadArray(__spreadArray([], acc), ['--dir', uri]);
|
|
36
|
-
case 'FILE':
|
|
37
|
-
return __spreadArray(__spreadArray([], acc), ['--file', uri]);
|
|
38
|
-
default:
|
|
39
|
-
return acc;
|
|
40
|
-
}
|
|
41
|
-
}, []);
|
|
42
|
-
},
|
|
43
|
-
pactBrokerUrl: { arg: '--broker-url', mapper: 'string' },
|
|
44
|
-
pactBrokerUsername: { arg: '--user', mapper: 'string' },
|
|
45
|
-
pactBrokerPassword: { arg: '--password', mapper: 'string' },
|
|
46
|
-
pactBrokerToken: { arg: '--token', mapper: 'string' },
|
|
47
|
-
consumerVersionTags: function (tags) { return [
|
|
48
|
-
'--consumer-version-tags',
|
|
49
|
-
Array.isArray(tags) ? tags.join(',') : tags,
|
|
50
|
-
]; },
|
|
51
|
-
providerVersionTags: function (tags) { return [
|
|
52
|
-
'--provider-tags',
|
|
53
|
-
Array.isArray(tags) ? tags.join(',') : tags,
|
|
54
|
-
]; },
|
|
55
|
-
providerStatesSetupUrl: { arg: '--state-change-url', mapper: 'string' },
|
|
56
|
-
providerVersion: { arg: '--provider-version', mapper: 'string' },
|
|
57
|
-
includeWipPactsSince: { arg: '--include-wip-pacts-since', mapper: 'string' },
|
|
58
|
-
consumerVersionSelectors: function (selectors) {
|
|
59
|
-
return selectors
|
|
60
|
-
.map(function (s) { return [
|
|
61
|
-
'--consumer-version-selectors',
|
|
62
|
-
JSON.stringify(s),
|
|
63
|
-
]; })
|
|
64
|
-
.reduce(function (acc, current) { return __spreadArray(__spreadArray([], acc), current); }, []);
|
|
65
|
-
},
|
|
66
|
-
publishVerificationResult: { arg: '--publish', mapper: 'flag' },
|
|
67
|
-
enablePending: { arg: '--enable-pending', mapper: 'flag' },
|
|
68
|
-
timeout: { arg: '--request-timeout', mapper: 'string' },
|
|
69
|
-
disableSslVerification: { arg: '--disable-ssl-verification', mapper: 'flag' },
|
|
70
|
-
format: {
|
|
71
|
-
warningMessage: "All output is now on standard out, setting 'format' has no effect",
|
|
72
|
-
},
|
|
73
|
-
out: {
|
|
74
|
-
warningMessage: "All output is now on standard out, setting 'out' has no effect",
|
|
75
|
-
},
|
|
76
|
-
logDir: {
|
|
77
|
-
warningMessage: 'Setting logDir is deprecated as all logs are now on standard out',
|
|
78
|
-
},
|
|
79
|
-
verbose: {
|
|
80
|
-
warningMessage: "Verbose mode is deprecated and has no effect, please use logLevel: 'DEBUG' instead",
|
|
81
|
-
},
|
|
82
|
-
monkeypatch: {
|
|
83
|
-
warningMessage: 'The undocumented feature monkeypatch is no more, please file an issue if you were using it and need this functionality',
|
|
84
|
-
},
|
|
85
|
-
customProviderHeaders: {
|
|
86
|
-
warningMessage: 'customProviderHeaders have been removed. This functionality is provided by request filters in a much more flexible way',
|
|
87
|
-
},
|
|
88
|
-
};
|
|
89
|
-
//# sourceMappingURL=arguments.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"arguments.js","sourceRoot":"","sources":["arguments.ts"],"names":[],"mappings":"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"}
|