46 lines
1.3 KiB
TypeScript
46 lines
1.3 KiB
TypeScript
import { mock, describe, expect, test, afterEach } from "bun:test";
|
|
|
|
mock.module("axios", () => ({
|
|
default: { get: async () => ({ data: { servers: [] } }) },
|
|
}));
|
|
mock.module("src/utils/debug.js", () => ({
|
|
logForDebugging: () => {},
|
|
}));
|
|
mock.module("src/utils/errors.js", () => ({
|
|
errorMessage: (e: any) => String(e),
|
|
}));
|
|
|
|
const { isOfficialMcpUrl, resetOfficialMcpUrlsForTesting } = await import(
|
|
"../officialRegistry"
|
|
);
|
|
|
|
describe("isOfficialMcpUrl", () => {
|
|
afterEach(() => {
|
|
resetOfficialMcpUrlsForTesting();
|
|
});
|
|
|
|
test("returns false when registry not loaded (initial state)", () => {
|
|
resetOfficialMcpUrlsForTesting();
|
|
expect(isOfficialMcpUrl("https://example.com")).toBe(false);
|
|
});
|
|
|
|
test("returns false for non-registered URL", () => {
|
|
expect(isOfficialMcpUrl("https://random-server.com/mcp")).toBe(false);
|
|
});
|
|
|
|
test("returns false for empty string", () => {
|
|
expect(isOfficialMcpUrl("")).toBe(false);
|
|
});
|
|
});
|
|
|
|
describe("resetOfficialMcpUrlsForTesting", () => {
|
|
test("can be called without error", () => {
|
|
expect(() => resetOfficialMcpUrlsForTesting()).not.toThrow();
|
|
});
|
|
|
|
test("clears state so subsequent lookups return false", () => {
|
|
resetOfficialMcpUrlsForTesting();
|
|
expect(isOfficialMcpUrl("https://anything.com")).toBe(false);
|
|
});
|
|
});
|