mirror of
https://github.com/tale/headplane.git
synced 2026-07-26 15:58:14 +00:00
40 lines
1.1 KiB
TypeScript
40 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);
|
|
});
|
|
});
|