import assert from "node:assert/strict"; import { mkdtemp, stat } from "node:fs/promises"; import { tmpdir } from "node:os"; import test from "node:test"; import { BridgeAlreadyRunningError } from "../src/bridge/instance-lock.js"; import { createRuntimePaths, startBridgeServer, } from "../src/bridge/runtime.js"; test("creates a private runtime directory and enforces one live bridge", async () => { const runtimeDir = await mkdtemp(`${tmpdir()}/pi-status-bridge-runtime-`); const paths = await createRuntimePaths(runtimeDir); const runtimeStats = await stat(paths.directory); assert.equal(runtimeStats.mode & 0o777, 0o700); const bridge = await startBridgeServer({ runtimeDir, handleRequest: async () => ({}), }); try { await assert.rejects( startBridgeServer({ runtimeDir, handleRequest: async () => ({}) }), BridgeAlreadyRunningError, ); } finally { await bridge.close(); } });