import { describe, expect, test } from "vitest"; import canonicals from "~/openapi-canonical-families.json"; import { getBootstrapClient, getRuntimeClient, HS_VERSIONS, Version } from "../setup/env"; function getCanonicalVersion(version: Version) { const canonical = Object.entries(canonicals).find(([_, family]) => family.includes(version), )?.[0] as Version | undefined; if (!canonical) { return version; } return canonical; } describe.for(HS_VERSIONS)("Headscale %s: Runtime Client", (version) => { test("the runtime client is usable", async () => { const bootstrapper = await getBootstrapClient(version); const runtimeClient = bootstrapper.getRuntimeClient("test-api-key"); expect(runtimeClient).toBeDefined(); }); test("the runtime client has the correct canonical API version", async () => { const bootstrapper = await getBootstrapClient(version); expect(bootstrapper.apiVersion).toBe(getCanonicalVersion(version)); }); test("the health check endpoint works", async () => { const client = await getRuntimeClient(version); const health = await client.isHealthy(); expect(health).toBe(true); }); });