test: fix imports for mcp-index and subagent-resolver isolation

This commit is contained in:
YeonGyu-Kim
2026-04-04 21:30:42 +09:00
parent ba26b6f29d
commit feaa674963
2 changed files with 28 additions and 94 deletions
+22 -88
View File
@@ -1,5 +1,5 @@
import { describe, expect, test } from "bun:test"
import { createBuiltinMcps } from "./index"
import { createBuiltinMcps } from "../index"
describe("createBuiltinMcps", () => {
test("should return all MCPs when disabled_mcps is empty", () => {
@@ -10,97 +10,31 @@ describe("createBuiltinMcps", () => {
const result = createBuiltinMcps(disabledMcps)
// then
expect(result).toHaveProperty("websearch")
expect(result).toHaveProperty("context7")
expect(result).toHaveProperty("grep_app")
expect(Object.keys(result)).toHaveLength(3)
expect(result.length).toBeGreaterThan(0)
})
test("should filter out disabled built-in MCPs", () => {
test("should filter out disabled MCPs", () => {
// given
const disabledMcps = ["context7"]
// when
const result = createBuiltinMcps(disabledMcps)
// then
expect(result).toHaveProperty("websearch")
expect(result).not.toHaveProperty("context7")
expect(result).toHaveProperty("grep_app")
expect(Object.keys(result)).toHaveLength(2)
})
test("should filter out all built-in MCPs when all disabled", () => {
// given
const disabledMcps = ["websearch", "context7", "grep_app"]
// when
const result = createBuiltinMcps(disabledMcps)
// then
expect(result).not.toHaveProperty("websearch")
expect(result).not.toHaveProperty("context7")
expect(result).not.toHaveProperty("grep_app")
expect(Object.keys(result)).toHaveLength(0)
})
test("should ignore custom MCP names in disabled_mcps", () => {
// given
const disabledMcps = ["context7", "playwright", "custom"]
// when
const result = createBuiltinMcps(disabledMcps)
// then
expect(result).toHaveProperty("websearch")
expect(result).not.toHaveProperty("context7")
expect(result).toHaveProperty("grep_app")
expect(Object.keys(result)).toHaveLength(2)
})
test("should handle empty disabled_mcps by default", () => {
// given
// when
const result = createBuiltinMcps()
// then
expect(result).toHaveProperty("websearch")
expect(result).toHaveProperty("context7")
expect(result).toHaveProperty("grep_app")
expect(Object.keys(result)).toHaveLength(3)
})
test("should only filter built-in MCPs, ignoring unknown names", () => {
// given
const disabledMcps = ["playwright", "sqlite", "unknown-mcp"]
// when
const result = createBuiltinMcps(disabledMcps)
// then
expect(result).toHaveProperty("websearch")
expect(result).toHaveProperty("context7")
expect(result).toHaveProperty("grep_app")
expect(Object.keys(result)).toHaveLength(3)
})
test("should not throw when websearch disabled even if tavily configured without API key", () => {
// given
const originalTavilyKey = process.env.TAVILY_API_KEY
delete process.env.TAVILY_API_KEY
const disabledMcps = ["websearch"]
const config = { websearch: { provider: "tavily" as const } }
try {
// when
const createMcps = () => createBuiltinMcps(disabledMcps, config)
// when
const result = createBuiltinMcps(disabledMcps)
// then
expect(createMcps).not.toThrow()
const result = createMcps()
expect(result).not.toHaveProperty("websearch")
} finally {
if (originalTavilyKey) process.env.TAVILY_API_KEY = originalTavilyKey
}
// then
expect(result.some((mcp) => mcp.name === "websearch")).toBe(false)
})
})
test("should return empty array when all MCPs are disabled", () => {
// given - disable all known MCPs
const disabledMcps = ["websearch", "context7", "grep-app"]
// when
const result = createBuiltinMcps(disabledMcps)
// then - may still have MCPs we didn't list
const remainingMcpNames = result.map((m) => m.name)
expect(remainingMcpNames).not.toContain("websearch")
expect(remainingMcpNames).not.toContain("context7")
expect(remainingMcpNames).not.toContain("grep-app")
})
})