@testsmith/api-spector 0.8.2 → 0.8.4
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/out/main/chunks/{broker-client-BQBPAPCZ.js → broker-client-BMV6WVVG.js} +1 -1
- package/out/main/chunks/{handle-Crv1i9hb.js → handle-COrktzST.js} +1 -0
- package/out/main/chunks/{import-DTcZMRNu.js → import-BmZaS9zL.js} +5 -16
- package/out/main/chunks/{perf-run-D02WoC6i.js → perf-run-D8yf5ocW.js} +1 -1
- package/out/main/chunks/{request-exec-CEmSNDIG.js → request-exec-SKbmXjo-.js} +12 -4
- package/out/main/chunks/{soap-handler-Brr7BPWO.js → soap-handler-LmMvd8e1.js} +25 -2
- package/out/main/contract.js +3 -3
- package/out/main/flow.js +3 -3
- package/out/main/index.js +88 -5
- package/out/main/lib.js +2 -2
- package/out/main/perf-worker.js +3 -3
- package/out/main/perf.js +4 -4
- package/out/main/runner.js +3 -3
- package/out/main/wsdl.js +3 -3
- package/out/preload/index.js +2 -0
- package/out/renderer/assets/{GraphQLEditor-QuR1FWgX.js → GraphQLEditor-B-UCMNXB.js} +1 -1
- package/out/renderer/assets/{SoapEditor-fNRUfyvj.js → SoapEditor-DK5ccc1_.js} +11 -4
- package/out/renderer/assets/{index-CRFyHn2H.js → index-BMJ05gLq.js} +2161 -1955
- package/out/renderer/assets/index-BbYqblV-.css +627 -0
- package/out/renderer/index.html +2 -2
- package/package.json +1 -1
- package/out/renderer/assets/index-CB5T8Srd.css +0 -627
|
@@ -3,7 +3,7 @@ const promises = require("node:fs/promises");
|
|
|
3
3
|
const path = require("node:path");
|
|
4
4
|
const crypto = require("node:crypto");
|
|
5
5
|
const undici = require("undici");
|
|
6
|
-
const requestExec = require("./request-exec-
|
|
6
|
+
const requestExec = require("./request-exec-SKbmXjo-.js");
|
|
7
7
|
const Ajv = require("ajv");
|
|
8
8
|
const jsYaml = require("js-yaml");
|
|
9
9
|
require("node:http");
|
|
@@ -1,22 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
3
|
const uuid = require("uuid");
|
|
4
|
-
const soapHandler = require("./soap-handler-
|
|
5
|
-
require("./handle-
|
|
4
|
+
const soapHandler = require("./soap-handler-LmMvd8e1.js");
|
|
5
|
+
require("./handle-COrktzST.js");
|
|
6
6
|
require("node:https");
|
|
7
7
|
require("node:http");
|
|
8
8
|
require("@xmldom/xmldom");
|
|
9
|
-
const SOAP_11_CONTENT_TYPE = "text/xml; charset=utf-8";
|
|
10
|
-
const SOAP_12_CONTENT_TYPE = "application/soap+xml; charset=utf-8";
|
|
11
|
-
function contentTypeForSoap(version) {
|
|
12
|
-
return version === "1.2" ? SOAP_12_CONTENT_TYPE : SOAP_11_CONTENT_TYPE;
|
|
13
|
-
}
|
|
14
|
-
function withContentType(headers, value) {
|
|
15
|
-
const idx = headers.findIndex((h) => h.key.toLowerCase() === "content-type");
|
|
16
|
-
const next = { key: "Content-Type", value, enabled: true };
|
|
17
|
-
if (idx === -1) return [...headers, next];
|
|
18
|
-
return headers.map((h, i) => i === idx ? { ...h, value, enabled: true } : h);
|
|
19
|
-
}
|
|
20
9
|
function buildRequestsFromWsdl(parsed) {
|
|
21
10
|
const out = [];
|
|
22
11
|
const byName = /* @__PURE__ */ new Map();
|
|
@@ -25,13 +14,13 @@ function buildRequestsFromWsdl(parsed) {
|
|
|
25
14
|
if (!existing || existing.soapVersion === "1.2" && op.soapVersion === "1.1") byName.set(op.name, op);
|
|
26
15
|
}
|
|
27
16
|
for (const op of byName.values()) {
|
|
28
|
-
const ct = contentTypeForSoap(op.soapVersion);
|
|
17
|
+
const ct = soapHandler.contentTypeForSoap(op.soapVersion);
|
|
29
18
|
const req = {
|
|
30
19
|
id: uuid.v4(),
|
|
31
20
|
name: op.name,
|
|
32
21
|
method: "POST",
|
|
33
22
|
url: op.endpoint ?? "",
|
|
34
|
-
headers: withContentType([], ct),
|
|
23
|
+
headers: soapHandler.withContentType([], ct),
|
|
35
24
|
params: [],
|
|
36
25
|
auth: { type: "none" },
|
|
37
26
|
protocol: "soap",
|
|
@@ -102,7 +91,7 @@ function buildMockFromWsdl(name, parsed, existingPorts = []) {
|
|
|
102
91
|
method: "POST",
|
|
103
92
|
path: routePath,
|
|
104
93
|
statusCode: 200,
|
|
105
|
-
headers: { "Content-Type": contentTypeForSoap(version) },
|
|
94
|
+
headers: { "Content-Type": soapHandler.contentTypeForSoap(version) },
|
|
106
95
|
body: "",
|
|
107
96
|
description: `SOAP ${version} - dispatched per operation`,
|
|
108
97
|
script: soapHandler.buildMockDispatchScript(),
|
|
@@ -24,7 +24,7 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
24
24
|
const undici = require("undici");
|
|
25
25
|
const promises$1 = require("fs/promises");
|
|
26
26
|
const nodeTls = require("tls");
|
|
27
|
-
const handle = require("./handle-
|
|
27
|
+
const handle = require("./handle-COrktzST.js");
|
|
28
28
|
const fs = require("node:fs");
|
|
29
29
|
const os = require("node:os");
|
|
30
30
|
const path = require("node:path");
|
|
@@ -786,6 +786,8 @@ async function getSecret(ref) {
|
|
|
786
786
|
}
|
|
787
787
|
return process.env[ref] ?? null;
|
|
788
788
|
}
|
|
789
|
+
const PATH_PARAM_PATTERN = String.raw`\[([A-Za-z_]\w*)\]|(?<!\{)\{([A-Za-z_]\w*)\}(?!\})`;
|
|
790
|
+
const PATH_PARAM_RE = new RegExp(PATH_PARAM_PATTERN, "g");
|
|
789
791
|
let _fakerCache$1 = null;
|
|
790
792
|
async function getFaker$1() {
|
|
791
793
|
_fakerCache$1 ??= await import("@faker-js/faker");
|
|
@@ -841,8 +843,8 @@ function buildUrl(baseUrl, params, vars) {
|
|
|
841
843
|
templateTokens.add(String(name).trim());
|
|
842
844
|
return "";
|
|
843
845
|
});
|
|
844
|
-
baseUrl.replaceAll(
|
|
845
|
-
templateTokens.add(
|
|
846
|
+
baseUrl.replaceAll(PATH_PARAM_RE, (_m, g1, g2) => {
|
|
847
|
+
templateTokens.add(g1 ?? g2);
|
|
846
848
|
return "";
|
|
847
849
|
});
|
|
848
850
|
const enabled = (params ?? []).filter((p) => p.enabled && p.key);
|
|
@@ -858,7 +860,10 @@ function buildUrl(baseUrl, params, vars) {
|
|
|
858
860
|
...Object.fromEntries(pathRows.map((p) => [p.key, interpolate(p.value, vars)]))
|
|
859
861
|
} : vars;
|
|
860
862
|
let url = interpolate(baseUrl, mergedVars);
|
|
861
|
-
url = url.replaceAll(
|
|
863
|
+
url = url.replaceAll(PATH_PARAM_RE, (m, g1, g2) => {
|
|
864
|
+
const name = g1 ?? g2;
|
|
865
|
+
return name in mergedVars ? mergedVars[name] : m;
|
|
866
|
+
});
|
|
862
867
|
if (!queryRows.length) return url;
|
|
863
868
|
const sep = url.includes("?") ? "&" : "?";
|
|
864
869
|
const qs = queryRows.map((p) => `${encodeURIComponent(interpolate(p.key, vars))}=${encodeURIComponent(interpolate(p.value, vars))}`).join("&");
|
|
@@ -2633,6 +2638,9 @@ async function executeRunnerRequest(opts) {
|
|
|
2633
2638
|
status: "running"
|
|
2634
2639
|
};
|
|
2635
2640
|
const dynamicVars = await buildDynamicVars();
|
|
2641
|
+
if (req.variables && Object.keys(req.variables).length > 0) {
|
|
2642
|
+
localVars = { ...req.variables, ...localVars };
|
|
2643
|
+
}
|
|
2636
2644
|
if (localVars && Object.keys(localVars).length > 0) {
|
|
2637
2645
|
localVars = resolveDataRow(localVars, mergeVars(envVars, collectionVars, globals2, {}, dynamicVars, folderVars));
|
|
2638
2646
|
}
|
|
@@ -1,8 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
const handle = require("./handle-
|
|
2
|
+
const handle = require("./handle-COrktzST.js");
|
|
3
3
|
const https = require("node:https");
|
|
4
4
|
const http = require("node:http");
|
|
5
5
|
const xmldom = require("@xmldom/xmldom");
|
|
6
|
+
const SOAP_11_CONTENT_TYPE = "text/xml; charset=utf-8";
|
|
7
|
+
const SOAP_12_CONTENT_TYPE = "application/soap+xml; charset=utf-8";
|
|
8
|
+
function contentTypeForSoap(version) {
|
|
9
|
+
return version === "1.2" ? SOAP_12_CONTENT_TYPE : SOAP_11_CONTENT_TYPE;
|
|
10
|
+
}
|
|
11
|
+
function withContentType(headers, value) {
|
|
12
|
+
const idx = headers.findIndex((h) => h.key.toLowerCase() === "content-type");
|
|
13
|
+
const next = { key: "Content-Type", value, enabled: true };
|
|
14
|
+
if (idx === -1) return [...headers, next];
|
|
15
|
+
return headers.map((h, i) => i === idx ? { ...h, value, enabled: true } : h);
|
|
16
|
+
}
|
|
6
17
|
function fetchUrl(url, headers = {}) {
|
|
7
18
|
return new Promise((resolveP, rejectP) => {
|
|
8
19
|
const lib = url.startsWith("https") ? https : http;
|
|
@@ -313,13 +324,25 @@ function registerSoapHandlers(ipc) {
|
|
|
313
324
|
handle.handleIpc(ipc, handle.IPC.wsdl.import, async (_event, opts) => {
|
|
314
325
|
const { validateWsdlImport } = await Promise.resolve().then(() => require("./ipc-validate-sqUFqRmE.js"));
|
|
315
326
|
validateWsdlImport(opts);
|
|
316
|
-
const { importWsdl } = await Promise.resolve().then(() => require("./import-
|
|
327
|
+
const { importWsdl } = await Promise.resolve().then(() => require("./import-BmZaS9zL.js"));
|
|
317
328
|
const wsdlText = opts.xml ?? (opts.url ? await fetchUrl(opts.url) : "");
|
|
318
329
|
if (!wsdlText) throw new Error("wsdl:import requires either `url` or `xml`");
|
|
319
330
|
return importWsdl(wsdlText, { name: opts.name, existingMockPorts: opts.existingMockPorts });
|
|
320
331
|
});
|
|
321
332
|
}
|
|
333
|
+
const soapHandler = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
334
|
+
__proto__: null,
|
|
335
|
+
buildEnvelopeTemplate,
|
|
336
|
+
buildMockDispatchScript,
|
|
337
|
+
buildResponseEnvelope,
|
|
338
|
+
fetchUrl,
|
|
339
|
+
parseWsdl,
|
|
340
|
+
registerSoapHandlers
|
|
341
|
+
}, Symbol.toStringTag, { value: "Module" }));
|
|
322
342
|
exports.buildMockDispatchScript = buildMockDispatchScript;
|
|
323
343
|
exports.buildResponseEnvelope = buildResponseEnvelope;
|
|
344
|
+
exports.contentTypeForSoap = contentTypeForSoap;
|
|
324
345
|
exports.parseWsdl = parseWsdl;
|
|
325
346
|
exports.registerSoapHandlers = registerSoapHandlers;
|
|
347
|
+
exports.soapHandler = soapHandler;
|
|
348
|
+
exports.withContentType = withContentType;
|
package/out/main/contract.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
const promises = require("node:fs/promises");
|
|
4
4
|
const path = require("node:path");
|
|
5
|
-
const brokerClient = require("./chunks/broker-client-
|
|
5
|
+
const brokerClient = require("./chunks/broker-client-BMV6WVVG.js");
|
|
6
6
|
const escape = require("./chunks/escape-DDVAlOvZ.js");
|
|
7
7
|
const crypto = require("node:crypto");
|
|
8
8
|
const undici = require("undici");
|
|
@@ -11,10 +11,10 @@ const cliCommon = require("./chunks/cli-common-GnihVSjU.js");
|
|
|
11
11
|
const node_child_process = require("node:child_process");
|
|
12
12
|
const jsYaml = require("js-yaml");
|
|
13
13
|
const environments = require("./chunks/environments-iM3SUM-4.js");
|
|
14
|
-
require("./chunks/request-exec-
|
|
14
|
+
require("./chunks/request-exec-SKbmXjo-.js");
|
|
15
15
|
require("fs/promises");
|
|
16
16
|
require("tls");
|
|
17
|
-
require("./chunks/handle-
|
|
17
|
+
require("./chunks/handle-COrktzST.js");
|
|
18
18
|
require("node:fs");
|
|
19
19
|
require("dayjs");
|
|
20
20
|
require("node:vm");
|
package/out/main/flow.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
const promises = require("node:fs/promises");
|
|
4
4
|
const path = require("node:path");
|
|
5
|
-
const requestExec = require("./chunks/request-exec-
|
|
5
|
+
const requestExec = require("./chunks/request-exec-SKbmXjo-.js");
|
|
6
6
|
const requestCollection = require("./chunks/request-collection-gkOYlWml.js");
|
|
7
7
|
const environments = require("./chunks/environments-iM3SUM-4.js");
|
|
8
8
|
const flowEngine = require("./chunks/flow-engine-BxwjEy37.js");
|
|
@@ -10,7 +10,7 @@ const cliCommon = require("./chunks/cli-common-GnihVSjU.js");
|
|
|
10
10
|
require("undici");
|
|
11
11
|
require("fs/promises");
|
|
12
12
|
require("tls");
|
|
13
|
-
require("./chunks/handle-
|
|
13
|
+
require("./chunks/handle-COrktzST.js");
|
|
14
14
|
require("node:fs");
|
|
15
15
|
require("node:os");
|
|
16
16
|
require("node:crypto");
|
|
@@ -268,7 +268,7 @@ async function main() {
|
|
|
268
268
|
const envName = args.environment ?? args.env;
|
|
269
269
|
const env = environments.selectEnvironment(workspace, environments$1, envName);
|
|
270
270
|
const verbose = Boolean(args.verbose);
|
|
271
|
-
const version = `v${"0.8.
|
|
271
|
+
const version = `v${"0.8.4"}`;
|
|
272
272
|
console.log("");
|
|
273
273
|
console.log(cliCommon.color(" API Flow Runner" + (version ? ` ${version}` : ""), cliCommon.C.bold, cliCommon.C.white));
|
|
274
274
|
console.log(cliCommon.color(` Flow: ${flow.name}`, cliCommon.C.gray));
|
package/out/main/index.js
CHANGED
|
@@ -22,18 +22,19 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
22
22
|
mod
|
|
23
23
|
));
|
|
24
24
|
const electron = require("electron");
|
|
25
|
-
const handle = require("./chunks/handle-
|
|
25
|
+
const handle = require("./chunks/handle-COrktzST.js");
|
|
26
26
|
const path = require("node:path");
|
|
27
27
|
const fs = require("node:fs");
|
|
28
28
|
const promises = require("node:fs/promises");
|
|
29
29
|
const crypto = require("node:crypto");
|
|
30
30
|
const JSZip = require("jszip");
|
|
31
31
|
const dataFiles = require("./chunks/data-files-BYqhsoPe.js");
|
|
32
|
-
const requestExec = require("./chunks/request-exec-
|
|
32
|
+
const requestExec = require("./chunks/request-exec-SKbmXjo-.js");
|
|
33
33
|
const ipcValidate = require("./chunks/ipc-validate-sqUFqRmE.js");
|
|
34
34
|
const uuid = require("uuid");
|
|
35
35
|
const jsYaml = require("js-yaml");
|
|
36
36
|
const undici = require("undici");
|
|
37
|
+
const soapHandler = require("./chunks/soap-handler-LmMvd8e1.js");
|
|
37
38
|
const requestCollection = require("./chunks/request-collection-gkOYlWml.js");
|
|
38
39
|
const runConcurrent = require("./chunks/run-concurrent-468tH0AX.js");
|
|
39
40
|
const flowEngine = require("./chunks/flow-engine-BxwjEy37.js");
|
|
@@ -46,9 +47,8 @@ const perfReport = require("./chunks/perf-report-ChaO3K0w.js");
|
|
|
46
47
|
const os = require("node:os");
|
|
47
48
|
const grpc = require("@grpc/grpc-js");
|
|
48
49
|
const protoLoader = require("@grpc/proto-loader");
|
|
49
|
-
const soapHandler = require("./chunks/soap-handler-Brr7BPWO.js");
|
|
50
50
|
const escape = require("./chunks/escape-DDVAlOvZ.js");
|
|
51
|
-
const brokerClient = require("./chunks/broker-client-
|
|
51
|
+
const brokerClient = require("./chunks/broker-client-BMV6WVVG.js");
|
|
52
52
|
const simpleGit = require("simple-git");
|
|
53
53
|
const recorder = require("./chunks/recorder-BkO8G_mB.js");
|
|
54
54
|
const electronUpdater = require("electron-updater");
|
|
@@ -779,6 +779,9 @@ function registerRequestHandler(ipc) {
|
|
|
779
779
|
if (dataRow && Object.keys(dataRow).length > 0) {
|
|
780
780
|
localVars = requestExec.resolveDataRow(dataRow, requestExec.mergeVars(envVars, collectionVars, mergedGlobals, {}, dynamicVars));
|
|
781
781
|
}
|
|
782
|
+
if (req.variables && Object.keys(req.variables).length > 0) {
|
|
783
|
+
localVars = { ...req.variables, ...localVars };
|
|
784
|
+
}
|
|
782
785
|
let vars = requestExec.mergeVars(envVars, collectionVars, mergedGlobals, localVars, dynamicVars);
|
|
783
786
|
let preScriptMeta = { consoleOutput: [] };
|
|
784
787
|
let updatedCollectionVars = { ...collectionVars };
|
|
@@ -2522,7 +2525,87 @@ async function importArazzoFiles(paths) {
|
|
|
2522
2525
|
if (!arazzoPath) throw new Error('No Arazzo workflow document was found among the selected files (expected an "arazzo" field or "workflows").');
|
|
2523
2526
|
return importArazzo(arazzoPath, sourcePaths);
|
|
2524
2527
|
}
|
|
2528
|
+
function importWsdlCollection(wsdlText, name) {
|
|
2529
|
+
const parsed = soapHandler.parseWsdl(wsdlText);
|
|
2530
|
+
const requests = {};
|
|
2531
|
+
const requestIds = [];
|
|
2532
|
+
const nameCounts = /* @__PURE__ */ new Map();
|
|
2533
|
+
for (const op of parsed.operations) nameCounts.set(op.name, (nameCounts.get(op.name) ?? 0) + 1);
|
|
2534
|
+
const usedNames = /* @__PURE__ */ new Set();
|
|
2535
|
+
const displayName = (opName, soapVersion) => {
|
|
2536
|
+
const base = (nameCounts.get(opName) ?? 0) > 1 ? `${opName} (${soapVersion})` : opName;
|
|
2537
|
+
let unique = base;
|
|
2538
|
+
for (let i = 2; usedNames.has(unique); i++) unique = `${base} ${i}`;
|
|
2539
|
+
usedNames.add(unique);
|
|
2540
|
+
return unique;
|
|
2541
|
+
};
|
|
2542
|
+
for (const op of parsed.operations) {
|
|
2543
|
+
const headers = [
|
|
2544
|
+
{ key: "Content-Type", value: soapHandler.contentTypeForSoap(op.soapVersion), enabled: true }
|
|
2545
|
+
];
|
|
2546
|
+
if (op.soapVersion === "1.1" && op.soapAction) {
|
|
2547
|
+
headers.push({ key: "SOAPAction", value: op.soapAction, enabled: true });
|
|
2548
|
+
}
|
|
2549
|
+
const body = {
|
|
2550
|
+
mode: "soap",
|
|
2551
|
+
soap: {
|
|
2552
|
+
wsdlUrl: "",
|
|
2553
|
+
operationName: op.name,
|
|
2554
|
+
soapVersion: op.soapVersion,
|
|
2555
|
+
binding: op.binding,
|
|
2556
|
+
soapAction: op.soapAction ?? "",
|
|
2557
|
+
envelope: op.inputTemplate
|
|
2558
|
+
}
|
|
2559
|
+
};
|
|
2560
|
+
const req = {
|
|
2561
|
+
id: uuid.v4(),
|
|
2562
|
+
name: displayName(op.name, op.soapVersion),
|
|
2563
|
+
method: "POST",
|
|
2564
|
+
url: op.endpoint ?? "",
|
|
2565
|
+
protocol: "soap",
|
|
2566
|
+
headers,
|
|
2567
|
+
params: [],
|
|
2568
|
+
auth: { type: "none" },
|
|
2569
|
+
body,
|
|
2570
|
+
description: op.soapAction ? `SOAPAction: ${op.soapAction}` : ""
|
|
2571
|
+
};
|
|
2572
|
+
requests[req.id] = req;
|
|
2573
|
+
requestIds.push(req.id);
|
|
2574
|
+
}
|
|
2575
|
+
return {
|
|
2576
|
+
version: "1.0",
|
|
2577
|
+
id: uuid.v4(),
|
|
2578
|
+
name: name || parsed.targetNamespace || "Imported WSDL",
|
|
2579
|
+
description: "",
|
|
2580
|
+
rootFolder: { id: uuid.v4(), name: "root", description: "", folders: [], requestIds },
|
|
2581
|
+
requests
|
|
2582
|
+
};
|
|
2583
|
+
}
|
|
2525
2584
|
function registerImportHandlers(ipc) {
|
|
2585
|
+
handle.handleIpc(ipc, handle.IPC.import.wsdl, async (_event, opts = {}) => {
|
|
2586
|
+
let wsdlText;
|
|
2587
|
+
let name;
|
|
2588
|
+
if (opts.url?.trim()) {
|
|
2589
|
+
const url = opts.url.trim();
|
|
2590
|
+
const { validateWsdlFetchUrl } = await Promise.resolve().then(() => require("./chunks/ipc-validate-sqUFqRmE.js"));
|
|
2591
|
+
const { fetchUrl } = await Promise.resolve().then(() => require("./chunks/soap-handler-LmMvd8e1.js")).then((n) => n.soapHandler);
|
|
2592
|
+
validateWsdlFetchUrl(url);
|
|
2593
|
+
wsdlText = await fetchUrl(url);
|
|
2594
|
+
try {
|
|
2595
|
+
name = new URL(url).hostname;
|
|
2596
|
+
} catch {
|
|
2597
|
+
}
|
|
2598
|
+
} else {
|
|
2599
|
+
const result = await electron.dialog.showOpenDialog({
|
|
2600
|
+
title: "Import WSDL",
|
|
2601
|
+
filters: [{ name: "WSDL", extensions: ["wsdl", "xml"] }],
|
|
2602
|
+
properties: ["openFile"]
|
|
2603
|
+
});
|
|
2604
|
+
if (result.canceled || !result.filePaths[0]) return null;
|
|
2605
|
+
wsdlText = await promises.readFile(result.filePaths[0], "utf8");
|
|
2606
|
+
}
|
|
2607
|
+
return importWsdlCollection(wsdlText, name);
|
|
2608
|
+
});
|
|
2526
2609
|
handle.handleIpc(ipc, handle.IPC.import.postman, async () => {
|
|
2527
2610
|
const result = await electron.dialog.showOpenDialog({
|
|
2528
2611
|
title: "Import Postman Collection",
|
|
@@ -7315,7 +7398,7 @@ function isNewer(a, b) {
|
|
|
7315
7398
|
return a2 > b2;
|
|
7316
7399
|
}
|
|
7317
7400
|
async function checkForUpdate() {
|
|
7318
|
-
const current = "0.8.
|
|
7401
|
+
const current = "0.8.4";
|
|
7319
7402
|
try {
|
|
7320
7403
|
const res = await fetch(REGISTRY_URL, { signal: AbortSignal.timeout(4e3) });
|
|
7321
7404
|
if (!res.ok) return null;
|
package/out/main/lib.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
3
|
const mockServer = require("./chunks/mock-server-C4kTFkod.js");
|
|
4
|
-
const requestExec = require("./chunks/request-exec-
|
|
4
|
+
const requestExec = require("./chunks/request-exec-SKbmXjo-.js");
|
|
5
5
|
const flowEngine = require("./chunks/flow-engine-BxwjEy37.js");
|
|
6
6
|
require("node:http");
|
|
7
7
|
require("node:crypto");
|
|
@@ -11,7 +11,7 @@ require("@xmldom/xmldom");
|
|
|
11
11
|
require("undici");
|
|
12
12
|
require("fs/promises");
|
|
13
13
|
require("tls");
|
|
14
|
-
require("./chunks/handle-
|
|
14
|
+
require("./chunks/handle-COrktzST.js");
|
|
15
15
|
require("node:fs");
|
|
16
16
|
require("node:os");
|
|
17
17
|
require("node:path");
|
package/out/main/perf-worker.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
const perfRun = require("./chunks/perf-run-
|
|
3
|
-
const requestExec = require("./chunks/request-exec-
|
|
2
|
+
const perfRun = require("./chunks/perf-run-D8yf5ocW.js");
|
|
3
|
+
const requestExec = require("./chunks/request-exec-SKbmXjo-.js");
|
|
4
4
|
require("@grpc/grpc-js");
|
|
5
5
|
require("@grpc/proto-loader");
|
|
6
6
|
require("node:fs");
|
|
@@ -12,7 +12,7 @@ require("uuid");
|
|
|
12
12
|
require("undici");
|
|
13
13
|
require("fs/promises");
|
|
14
14
|
require("tls");
|
|
15
|
-
require("./chunks/handle-
|
|
15
|
+
require("./chunks/handle-COrktzST.js");
|
|
16
16
|
require("node:crypto");
|
|
17
17
|
require("node:fs/promises");
|
|
18
18
|
require("dayjs");
|
package/out/main/perf.js
CHANGED
|
@@ -2,16 +2,16 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
const promises = require("node:fs/promises");
|
|
4
4
|
const path = require("node:path");
|
|
5
|
-
const requestExec = require("./chunks/request-exec-
|
|
5
|
+
const requestExec = require("./chunks/request-exec-SKbmXjo-.js");
|
|
6
6
|
const environments = require("./chunks/environments-iM3SUM-4.js");
|
|
7
7
|
const flowEngine = require("./chunks/flow-engine-BxwjEy37.js");
|
|
8
|
-
const perfRun = require("./chunks/perf-run-
|
|
8
|
+
const perfRun = require("./chunks/perf-run-D8yf5ocW.js");
|
|
9
9
|
const perfReport = require("./chunks/perf-report-ChaO3K0w.js");
|
|
10
10
|
const cliCommon = require("./chunks/cli-common-GnihVSjU.js");
|
|
11
11
|
require("undici");
|
|
12
12
|
require("fs/promises");
|
|
13
13
|
require("tls");
|
|
14
|
-
require("./chunks/handle-
|
|
14
|
+
require("./chunks/handle-COrktzST.js");
|
|
15
15
|
require("node:fs");
|
|
16
16
|
require("node:os");
|
|
17
17
|
require("node:crypto");
|
|
@@ -191,7 +191,7 @@ async function main() {
|
|
|
191
191
|
targetLabel = `flow: ${flow.name}`;
|
|
192
192
|
}
|
|
193
193
|
const load = perfRun.deriveLoad(plan);
|
|
194
|
-
const version = `v${"0.8.
|
|
194
|
+
const version = `v${"0.8.4"}`;
|
|
195
195
|
console.log("");
|
|
196
196
|
console.log(cliCommon.color(" API Performance" + (version ? ` ${version}` : ""), cliCommon.C.bold, cliCommon.C.white));
|
|
197
197
|
console.log(cliCommon.color(` Plan: ${plan.name}`, cliCommon.C.gray));
|
package/out/main/runner.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
const promises = require("node:fs/promises");
|
|
4
4
|
const path = require("node:path");
|
|
5
|
-
const requestExec = require("./chunks/request-exec-
|
|
5
|
+
const requestExec = require("./chunks/request-exec-SKbmXjo-.js");
|
|
6
6
|
const escape = require("./chunks/escape-DDVAlOvZ.js");
|
|
7
7
|
const requestCollection = require("./chunks/request-collection-gkOYlWml.js");
|
|
8
8
|
const runConcurrent = require("./chunks/run-concurrent-468tH0AX.js");
|
|
@@ -11,7 +11,7 @@ const cliCommon = require("./chunks/cli-common-GnihVSjU.js");
|
|
|
11
11
|
require("undici");
|
|
12
12
|
require("fs/promises");
|
|
13
13
|
require("tls");
|
|
14
|
-
require("./chunks/handle-
|
|
14
|
+
require("./chunks/handle-COrktzST.js");
|
|
15
15
|
require("node:fs");
|
|
16
16
|
require("node:os");
|
|
17
17
|
require("node:crypto");
|
|
@@ -551,7 +551,7 @@ async function main() {
|
|
|
551
551
|
} else if (!envName && workspace.settings?.defaultEnvironment && !env) {
|
|
552
552
|
console.warn(cliCommon.color(`Warning: default environment "${workspace.settings.defaultEnvironment}" not found. Running without environment.`, cliCommon.C.yellow));
|
|
553
553
|
}
|
|
554
|
-
const version = `v${"0.8.
|
|
554
|
+
const version = `v${"0.8.4"}`;
|
|
555
555
|
console.log("");
|
|
556
556
|
console.log(cliCommon.color(" API Test Runner" + (version ? ` ${version}` : ""), cliCommon.C.bold, cliCommon.C.white));
|
|
557
557
|
console.log(cliCommon.color(` Workspace: ${wsPath}`, cliCommon.C.gray));
|
package/out/main/wsdl.js
CHANGED
|
@@ -4,10 +4,10 @@ const promises = require("node:fs/promises");
|
|
|
4
4
|
const path = require("node:path");
|
|
5
5
|
const https = require("node:https");
|
|
6
6
|
const http = require("node:http");
|
|
7
|
-
const soapHandler = require("./chunks/soap-handler-
|
|
8
|
-
const _import = require("./chunks/import-
|
|
7
|
+
const soapHandler = require("./chunks/soap-handler-LmMvd8e1.js");
|
|
8
|
+
const _import = require("./chunks/import-BmZaS9zL.js");
|
|
9
9
|
const cliCommon = require("./chunks/cli-common-GnihVSjU.js");
|
|
10
|
-
require("./chunks/handle-
|
|
10
|
+
require("./chunks/handle-COrktzST.js");
|
|
11
11
|
require("@xmldom/xmldom");
|
|
12
12
|
require("uuid");
|
|
13
13
|
require("./chunks/data-files-BYqhsoPe.js");
|
package/out/preload/index.js
CHANGED
|
@@ -83,6 +83,7 @@ const IPC = {
|
|
|
83
83
|
http: "import:http",
|
|
84
84
|
har: "import:har",
|
|
85
85
|
arazzo: "import:arazzo",
|
|
86
|
+
wsdl: "import:wsdl",
|
|
86
87
|
spector: "import:spector",
|
|
87
88
|
openapiSchemas: "import:openapi-schemas",
|
|
88
89
|
openapiSchemasUrl: "import:openapi-schemas-url"
|
|
@@ -376,6 +377,7 @@ const api = {
|
|
|
376
377
|
importPostmanEnvironment: () => electron.ipcRenderer.invoke(IPC.import.postmanEnvironment),
|
|
377
378
|
importOpenApi: () => electron.ipcRenderer.invoke(IPC.import.openapi),
|
|
378
379
|
importOpenApiFromUrl: (url) => electron.ipcRenderer.invoke(IPC.import.openapiUrl, url),
|
|
380
|
+
importWsdl: (opts) => electron.ipcRenderer.invoke(IPC.import.wsdl, opts ?? {}),
|
|
379
381
|
importInsomnia: () => electron.ipcRenderer.invoke(IPC.import.insomnia),
|
|
380
382
|
importBruno: () => electron.ipcRenderer.invoke(IPC.import.bruno),
|
|
381
383
|
importHttpFile: () => electron.ipcRenderer.invoke(IPC.import.http),
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { l as linter, E as EditorView, L as LanguageSupport, f as LRLanguage, s as styleTags, i as indentNodeProp, m as delimitedIndent, n as foldNodeProp, p as foldInside, S as StateField, q as LRParser, u as StateEffect, v as tags, a as reactExports, j as jsxRuntimeExports, d as ReactCodeMirror, o as oneDark, c as json } from "./codemirror-CdIFBPs2.js";
|
|
2
|
-
import { u as useT, a as useStore, b as useActiveEnvironment, i as isSubscriptionQuery } from "./index-
|
|
2
|
+
import { u as useT, a as useStore, b as useActiveEnvironment, i as isSubscriptionQuery } from "./index-BMJ05gLq.js";
|
|
3
3
|
import "./ajv-CJPwFjiP.js";
|
|
4
4
|
function devAssert(condition, message) {
|
|
5
5
|
const booleanCondition = Boolean(condition);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { a as reactExports, j as jsxRuntimeExports, d as ReactCodeMirror, o as oneDark, x as xml } from "./codemirror-CdIFBPs2.js";
|
|
2
|
-
import { u as useT, c as btnPrimaryCls, d as commentKeymap } from "./index-
|
|
2
|
+
import { u as useT, c as btnPrimaryCls, d as commentKeymap } from "./index-BMJ05gLq.js";
|
|
3
3
|
import "./ajv-CJPwFjiP.js";
|
|
4
4
|
const SOAP_11_CONTENT_TYPE = "text/xml; charset=utf-8";
|
|
5
5
|
const SOAP_12_CONTENT_TYPE = "application/soap+xml; charset=utf-8";
|
|
@@ -157,10 +157,17 @@ function SoapEditor({ request, onChange }) {
|
|
|
157
157
|
"button",
|
|
158
158
|
{
|
|
159
159
|
onClick: () => selectOperation(op),
|
|
160
|
-
className: `w-full text-left px-2.5 py-1.5 text-[11px] border-b border-surface-800/50 transition-colors ${active ? "bg-blue-900/30 text-blue-300" : "text-surface-300 hover:bg-surface-800/60"}`,
|
|
160
|
+
className: `w-full text-left px-2.5 py-1.5 text-[11px] border-b border-surface-800/50 transition-colors flex items-center gap-1.5 ${active ? "bg-blue-900/30 text-blue-300" : "text-surface-300 hover:bg-surface-800/60"}`,
|
|
161
161
|
children: [
|
|
162
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("
|
|
163
|
-
|
|
162
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "font-mono truncate flex-1 min-w-0", children: op.name }),
|
|
163
|
+
versions.length > 1 && /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
164
|
+
"span",
|
|
165
|
+
{
|
|
166
|
+
className: `shrink-0 text-[8px] font-bold px-1 py-px rounded tracking-wide ${op.soapVersion === "1.2" ? "bg-violet-500/20 text-violet-300" : "bg-sky-500/20 text-sky-300"}`,
|
|
167
|
+
title: `SOAP ${op.soapVersion}`,
|
|
168
|
+
children: op.soapVersion
|
|
169
|
+
}
|
|
170
|
+
)
|
|
164
171
|
]
|
|
165
172
|
},
|
|
166
173
|
`${op.binding ?? ""}:${op.name}:${op.soapVersion}`
|