UNPKG

testplane

Version:

Tests framework based on mocha and wdio

62 lines 2.62 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.getPathWithoutExtName = exports.getTestInfoFromViteRequest = exports.prepareError = exports.getImportMetaUrl = void 0; const node_url_1 = __importDefault(require("node:url")); const node_path_1 = __importDefault(require("node:path")); const lodash_1 = __importDefault(require("lodash")); const constants_1 = require("./constants"); // TODO: use import.meta.url after migrate to esm const getImportMetaUrl = (path) => { return node_url_1.default.pathToFileURL(path).toString(); }; exports.getImportMetaUrl = getImportMetaUrl; // TODO: use from browser code after migrate to esm const prepareError = (error) => { return JSON.parse(JSON.stringify(error, Object.getOwnPropertyNames(error))); }; exports.prepareError = prepareError; const getTestInfoFromViteRequest = (req) => { if (!req.url?.endsWith("index.html") || !req.originalUrl) { return null; } if (req.originalUrl && req.originalUrl.endsWith("devtools.json")) { return null; } const parsedUrl = node_url_1.default.parse(req.originalUrl); const [routeName, runUuid] = lodash_1.default.compact(parsedUrl.pathname?.split("/")); if (runUuid?.endsWith(".map")) { return null; } if (routeName !== constants_1.VITE_RUN_UUID_ROUTE || !runUuid) { throw new Error(`Pathname must be in "/${constants_1.VITE_RUN_UUID_ROUTE}/:uuid" format, but got: ${req.originalUrl}`); } const env = constants_1.WORKER_ENV_BY_RUN_UUID.get(runUuid); if (!env) { throw new Error(`Worker environment is not found by "${runUuid}". ` + "This is possible if:\n" + ' - "runUuid" is not generated by Testplane\n' + " - the test has already been completed\n" + " - worker was disconnected"); } return { routeName, runUuid, env: { ...env, file: node_path_1.default.posix.join("/", node_path_1.default.relative(process.cwd(), env.file).replaceAll(node_path_1.default.sep, node_path_1.default.posix.sep)), }, }; }; exports.getTestInfoFromViteRequest = getTestInfoFromViteRequest; const getPathWithoutExtName = (fsPath) => { const extname = node_path_1.default.extname(fsPath); if (!extname) { return fsPath; } return fsPath.slice(0, -extname.length); }; exports.getPathWithoutExtName = getPathWithoutExtName; //# sourceMappingURL=utils.js.map