"use strict"; const assert = require("assert"); const fs = require("fs"); const source = `${fs.readFileSync("utils/config.js", "utf8") .replace(/export const /g, "const ")}\nmodule.exports = { runtimeConfig, resolveRuntimeMode };`; const moduleHolder = { exports: {} }; new Function("module", source)(moduleHolder); const { runtimeConfig, resolveRuntimeMode } = moduleHolder.exports; assert.strictEqual(resolveRuntimeMode(), "remote"); runtimeConfig.mode = "remote"; assert.strictEqual(resolveRuntimeMode(), "remote"); for (const invalidMode of ["", "remtoe", "MOCK", null, undefined]) { runtimeConfig.mode = invalidMode; assert.throws(resolveRuntimeMode, /运行模式|配置/); } runtimeConfig.mode = "remote"; const originalClientId = runtimeConfig.clientId; runtimeConfig.clientId = ""; assert.throws(resolveRuntimeMode, /运行模式|配置/); runtimeConfig.clientId = originalClientId; console.log("RUNTIME-CONFIG-SMOKE PASS");