mirror of https://github.com/openclaw/openclaw.git
47 lines
1.8 KiB
TypeScript
47 lines
1.8 KiB
TypeScript
import { describe, expect, it, vi } from "vitest";
|
|
import { resolveTelegramAllowFromEntries } from "./setup-core.js";
|
|
|
|
describe("resolveTelegramAllowFromEntries", () => {
|
|
it("passes apiRoot through username lookups", async () => {
|
|
const globalFetch = vi.fn(async () => {
|
|
throw new Error("global fetch should not be called");
|
|
});
|
|
const fetchMock = vi.fn(async () => ({
|
|
ok: true,
|
|
json: async () => ({ ok: true, result: { id: 12345 } }),
|
|
}));
|
|
vi.stubGlobal("fetch", globalFetch);
|
|
const proxyFetch = vi.fn();
|
|
const fetchModule = await import("./fetch.js");
|
|
const proxyModule = await import("./proxy.js");
|
|
const resolveTelegramFetch = vi.spyOn(fetchModule, "resolveTelegramFetch");
|
|
const makeProxyFetch = vi.spyOn(proxyModule, "makeProxyFetch");
|
|
makeProxyFetch.mockReturnValue(proxyFetch as unknown as typeof fetch);
|
|
resolveTelegramFetch.mockReturnValue(fetchMock as unknown as typeof fetch);
|
|
|
|
try {
|
|
const resolved = await resolveTelegramAllowFromEntries({
|
|
entries: ["@user"],
|
|
credentialValue: "tok",
|
|
apiRoot: "https://custom.telegram.test/root/",
|
|
proxyUrl: "http://127.0.0.1:8080",
|
|
network: { autoSelectFamily: false, dnsResultOrder: "ipv4first" },
|
|
});
|
|
|
|
expect(resolved).toEqual([{ input: "@user", resolved: true, id: "12345" }]);
|
|
expect(makeProxyFetch).toHaveBeenCalledWith("http://127.0.0.1:8080");
|
|
expect(resolveTelegramFetch).toHaveBeenCalledWith(proxyFetch, {
|
|
network: { autoSelectFamily: false, dnsResultOrder: "ipv4first" },
|
|
});
|
|
expect(fetchMock).toHaveBeenCalledWith(
|
|
"https://custom.telegram.test/root/bottok/getChat?chat_id=%40user",
|
|
undefined,
|
|
);
|
|
} finally {
|
|
makeProxyFetch.mockRestore();
|
|
resolveTelegramFetch.mockRestore();
|
|
vi.unstubAllGlobals();
|
|
}
|
|
});
|
|
});
|