21 lines
916 B
TypeScript
21 lines
916 B
TypeScript
import { describe, expect, test } from "bun:test";
|
|
import deriveWireguardInterfaceName from "./derive-wireguard-interface-name";
|
|
|
|
describe("deriveWireguardInterfaceName", () => {
|
|
test("derives interface name from host id", () => {
|
|
expect(deriveWireguardInterfaceName({ host_id: 0 })).toBe("wgui0");
|
|
expect(deriveWireguardInterfaceName({ host_id: 1 })).toBe("wgui1");
|
|
expect(deriveWireguardInterfaceName({ host_id: 7 })).toBe("wgui7");
|
|
});
|
|
|
|
test("uses a project-scoped prefix, never stock wgN", () => {
|
|
expect(deriveWireguardInterfaceName({ host_id: 0 })).not.toBe("wg0");
|
|
expect(deriveWireguardInterfaceName({ host_id: 1 })).not.toBe("wg1");
|
|
});
|
|
|
|
test("prefix matches wg-quick interface name requirements (<= 15 chars)", () => {
|
|
expect(deriveWireguardInterfaceName({ host_id: 0 }).length).toBeLessThanOrEqual(
|
|
15,
|
|
);
|
|
});
|
|
}); |