Files
headplane/tests/integration/api/versions.test.ts
T
2026-03-19 12:35:25 -04:00

37 lines
1.1 KiB
TypeScript

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);
});
});