Skip to main content
Glama
index-minimal.test.ts2.1 kB
/** * @fileoverview Minimal test for index.ts to ensure it loads without errors * Since index.ts is primarily registration code and the handlers are tested elsewhere, * this ensures the module can be imported successfully */ import { vi } from 'vitest'; // Use unstable_mockModule for ES modules - set up all mocks before imports vi.mock('@modelcontextprotocol/sdk/server/mcp.js', () => ({ McpServer: vi.fn().mockImplementation(() => ({ registerTool: vi.fn(), connect: vi.fn(), setRequestHandler: vi.fn(), })), })); vi.mock('@modelcontextprotocol/sdk/server/stdio.js', () => ({ StdioServerTransport: vi.fn(), })); vi.mock('../utils/logging/logger.js', () => ({ createLogger: vi.fn(() => ({ info: vi.fn(), debug: vi.fn(), error: vi.fn(), warn: vi.fn(), })), })); vi.mock('../server/mcp-server.js', () => ({ DeepSourceMCPServer: { create: vi.fn().mockResolvedValue({ getRegisteredTools: vi.fn().mockReturnValue([]), getMcpServer: vi.fn().mockReturnValue({ registerTool: vi.fn(), }), start: vi.fn(), }), }, })); // Import test utilities after all mocks are set const { describe, it, expect, beforeAll, afterAll } = await import('vitest'); describe('index.ts module loading', () => { let originalEnv: typeof process.env; let indexModule: { mcpServer: { current: { getRegisteredTools?: () => string[]; getMcpServer?: () => unknown; }; }; }; beforeAll(async () => { originalEnv = { ...process.env }; process.env.DEEPSOURCE_API_KEY = 'test-key'; process.env.NODE_ENV = 'test'; // Import the module after mocking indexModule = await import('../index.js'); }); afterAll(() => { process.env = originalEnv; vi.resetModules(); }); it('should load without errors', () => { expect(indexModule).toBeDefined(); expect(indexModule.mcpServer).toBeDefined(); }); it('should export mcpServer', () => { const { mcpServer } = indexModule; expect(mcpServer).toBeDefined(); expect(mcpServer.current).toBeDefined(); }); });

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/sapientpants/deepsource-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server