perf(test): fold gateway discover tests into run-loop
This commit is contained in:
@@ -1,4 +1,6 @@
|
||||
import { describe, expect, it, vi } from "vitest";
|
||||
import type { GatewayBonjourBeacon } from "../../infra/bonjour-discovery.js";
|
||||
import { pickBeaconHost, pickGatewayPort } from "./discover.js";
|
||||
|
||||
const acquireGatewayLock = vi.fn(async () => ({
|
||||
release: vi.fn(async () => {}),
|
||||
@@ -140,3 +142,35 @@ describe("runGatewayLoop", () => {
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
describe("gateway discover routing helpers", () => {
|
||||
it("prefers resolved service host over TXT hints", () => {
|
||||
const beacon: GatewayBonjourBeacon = {
|
||||
instanceName: "Test",
|
||||
host: "10.0.0.2",
|
||||
lanHost: "evil.example.com",
|
||||
tailnetDns: "evil.example.com",
|
||||
};
|
||||
expect(pickBeaconHost(beacon)).toBe("10.0.0.2");
|
||||
});
|
||||
|
||||
it("prefers resolved service port over TXT gatewayPort", () => {
|
||||
const beacon: GatewayBonjourBeacon = {
|
||||
instanceName: "Test",
|
||||
host: "10.0.0.2",
|
||||
port: 18789,
|
||||
gatewayPort: 12345,
|
||||
};
|
||||
expect(pickGatewayPort(beacon)).toBe(18789);
|
||||
});
|
||||
|
||||
it("falls back to TXT host/port when resolve data is missing", () => {
|
||||
const beacon: GatewayBonjourBeacon = {
|
||||
instanceName: "Test",
|
||||
lanHost: "test-host.local",
|
||||
gatewayPort: 18789,
|
||||
};
|
||||
expect(pickBeaconHost(beacon)).toBe("test-host.local");
|
||||
expect(pickGatewayPort(beacon)).toBe(18789);
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user