1
0

refactor: 迁移 Bun fullstack 架构

This commit is contained in:
2026-05-14 00:23:37 +08:00
parent bcfac52112
commit 6e485cc991
36 changed files with 403 additions and 1081 deletions

View File

@@ -1,6 +1,6 @@
import { describe, expect, test } from "bun:test";
import { join } from "node:path";
import type { StaticAssets } from "../../src/server/app";
import type { ResolvedConfig } from "../../src/server/checker/config-loader";
import type { ProbeEngine } from "../../src/server/checker/engine";
import type { ProbeStore } from "../../src/server/checker/store";
@@ -75,7 +75,7 @@ function createHarness(overrides: BootstrapDependencies = {}) {
startServer(options) {
expect(options.config).toEqual({ host: config.host, port: config.port });
expect(options.store).toBe(store);
calls.push(`startServer:${options.mode}:${options.staticAssets ? "static" : "no-static"}`);
calls.push(`startServer:${options.mode}`);
},
...overrides,
};
@@ -91,25 +91,16 @@ describe("bootstrap", () => {
expect(calls).toEqual([
"loadConfig:/tmp/probes.yaml",
"createStore:/tmp/dial-data/probe.db",
`createStore:${join("/tmp/dial-data", "probe.db")}`,
"syncTargets:1",
"createEngine:1:3:1000",
"engine.start",
"onSignal:SIGINT",
"onSignal:SIGTERM",
"startServer:development:no-static",
"startServer:development",
]);
});
test("生产模式传递 staticAssets", async () => {
const { calls, dependencies } = createHarness();
const staticAssets: StaticAssets = { files: {}, indexHtml: new Blob(["ok"]) };
await bootstrap({ configPath: "/tmp/probes.yaml", mode: "production", staticAssets }, dependencies);
expect(calls.at(-1)).toBe("startServer:production:static");
});
test("收到退出信号时停止 engine 并关闭 store", async () => {
const { calls, dependencies, shutdownHandlers } = createHarness();