24 lines
1.2 KiB
TypeScript
24 lines
1.2 KiB
TypeScript
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<void>((resolve) => server.server.close(() => resolve()));
|
|
}
|
|
};
|
|
|
|
export default selfTest;
|