mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-09 07:37:39 +00:00
fix: skip tailscale dns probe when off
This commit is contained in:
45
src/gateway/server-discovery.test.ts
Normal file
45
src/gateway/server-discovery.test.ts
Normal file
@@ -0,0 +1,45 @@
|
||||
import { afterEach, beforeEach, describe, expect, test, vi } from "vitest";
|
||||
|
||||
const getTailnetHostname = vi.hoisted(() => vi.fn());
|
||||
|
||||
vi.mock("../infra/tailscale.js", () => ({ getTailnetHostname }));
|
||||
|
||||
import { resolveTailnetDnsHint } from "./server-discovery.js";
|
||||
|
||||
describe("resolveTailnetDnsHint", () => {
|
||||
const prevTailnetDns = { value: undefined as string | undefined };
|
||||
|
||||
beforeEach(() => {
|
||||
prevTailnetDns.value = process.env.CLAWDBOT_TAILNET_DNS;
|
||||
delete process.env.CLAWDBOT_TAILNET_DNS;
|
||||
getTailnetHostname.mockReset();
|
||||
});
|
||||
|
||||
afterEach(() => {
|
||||
if (prevTailnetDns.value === undefined) {
|
||||
delete process.env.CLAWDBOT_TAILNET_DNS;
|
||||
} else {
|
||||
process.env.CLAWDBOT_TAILNET_DNS = prevTailnetDns.value;
|
||||
}
|
||||
});
|
||||
|
||||
test("returns env hint when disabled", async () => {
|
||||
process.env.CLAWDBOT_TAILNET_DNS = "studio.tailnet.ts.net.";
|
||||
const value = await resolveTailnetDnsHint({ enabled: false });
|
||||
expect(value).toBe("studio.tailnet.ts.net");
|
||||
expect(getTailnetHostname).not.toHaveBeenCalled();
|
||||
});
|
||||
|
||||
test("skips tailscale lookup when disabled", async () => {
|
||||
const value = await resolveTailnetDnsHint({ enabled: false });
|
||||
expect(value).toBeUndefined();
|
||||
expect(getTailnetHostname).not.toHaveBeenCalled();
|
||||
});
|
||||
|
||||
test("uses tailscale lookup when enabled", async () => {
|
||||
getTailnetHostname.mockResolvedValue("host.tailnet.ts.net");
|
||||
const value = await resolveTailnetDnsHint({ enabled: true });
|
||||
expect(value).toBe("host.tailnet.ts.net");
|
||||
expect(getTailnetHostname).toHaveBeenCalledTimes(1);
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user