UNPKG

testplane

Version:

Tests framework based on mocha and wdio

56 lines 2.69 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.getNodeModulePath = 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; const getNodeModulePath = async ({ moduleName, rootDir = process.cwd(), parent = "node_modules", }) => { const rootFileUrl = node_url_1.default.pathToFileURL(rootDir).href; // TODO: use import at the beginning of the file after migrate to esm const { resolve } = await eval(`import("import-meta-resolve")`); return resolve(moduleName, node_path_1.default.join(rootFileUrl, parent)); }; exports.getNodeModulePath = getNodeModulePath; // 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; } const parsedUrl = node_url_1.default.parse(req.originalUrl); const [routeName, runUuid] = lodash_1.default.compact(parsedUrl.pathname?.split("/")); 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 }; }; 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