import { describe, expect, it } from "vitest"; import { repos } from "@cfdm/db"; import { buildApp } from "../src/app.js"; import { loadConfig } from "../src/config.js"; async function authHeaders(app: Awaited>) { const config = loadConfig(); const res = await app.inject({ method: "POST", url: "/api/v1/auth/login", payload: { username: config.adminUsername, password: "admin" }, }); expect(res.statusCode).toBe(200); const { token } = res.json() as { token: string }; return { authorization: `Bearer ${token}` }; } describe("origin health checks", () => { it("creates a local health check", async () => { const app = await buildApp({ config: { ...loadConfig(), staticDir: null }, memory: true, }); const headers = await authHeaders(app); const res = await app.inject({ method: "POST", url: "/api/v1/health-checks", headers, payload: { provider: "local", name: "origin-1", protocol: "tcp" }, }); expect(res.statusCode).toBe(200); const body = res.json() as { provider: string; name: string }; expect(body.provider).toBe("local"); expect(body.name).toBe("origin-1"); expect(repos.listHealthChecks(app.db)).toHaveLength(1); await app.close(); }); });