import assert from "node:assert/strict"; import { startManagerServer } from "../../mgr/server.js"; import { MemoryAgentRunStore } from "../../mgr/store.js"; import { ManagerClient } from "../../mgr/client.js"; import type { SelfTestCase } from "../harness.js"; const selfTest: SelfTestCase = async () => { const server = await startManagerServer({ port: 0, host: "127.0.0.1", sourceCommit: "self-test", store: new MemoryAgentRunStore() }); try { const client = new ManagerClient(server.baseUrl); const health = await client.get("/health/readiness") as { database?: { adapter?: string; reachable?: boolean; migrationReady?: boolean; failureKind?: string | null }; secretRefs?: { valuesPrinted?: boolean } }; assert.equal(health.database?.adapter, "memory-self-test"); assert.equal(health.database?.reachable, true); assert.equal(health.database?.migrationReady, true); assert.equal(health.database?.failureKind, null); assert.equal(health.secretRefs?.valuesPrinted, false); return { name: "manager-memory", tests: ["manager-memory-lifecycle"] }; } finally { await new Promise((resolve) => server.server.close(() => resolve())); } }; export default selfTest;