29 lines
947 B
JavaScript
29 lines
947 B
JavaScript
"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");
|