27 lines
824 B
TypeScript
27 lines
824 B
TypeScript
import { describe, expect, test } from "bun:test";
|
|
import { readRuntimeConfig } from "../../src/server/config";
|
|
|
|
describe("runtime config", () => {
|
|
test("默认使用 127.0.0.1:3000", () => {
|
|
expect(readRuntimeConfig([], {})).toEqual({ host: "127.0.0.1", port: 3000 });
|
|
});
|
|
|
|
test("CLI 参数优先于环境变量", () => {
|
|
expect(readRuntimeConfig(["--host", "0.0.0.0", "--port", "4001"], { HOST: "127.0.0.1", PORT: "3001" })).toEqual({
|
|
host: "0.0.0.0",
|
|
port: 4001,
|
|
});
|
|
});
|
|
|
|
test("支持 inline CLI 参数", () => {
|
|
expect(readRuntimeConfig(["--host=localhost", "--port=4002"], {})).toEqual({
|
|
host: "localhost",
|
|
port: 4002,
|
|
});
|
|
});
|
|
|
|
test("拒绝无效端口", () => {
|
|
expect(() => readRuntimeConfig(["--port", "invalid"], {})).toThrow("无效端口");
|
|
});
|
|
});
|