Skip to main content
Glama

tbls MCP Server

by yhosok
mocks.ts2.7 kB
import { jest } from '@jest/globals'; import { EventEmitter } from 'events'; /** * Mock interfaces for file system stats * Used in file watcher and resource cache tests */ export interface MockStats { mtime: Date; isFile: () => boolean; isDirectory?: () => boolean; } /** * Mock interface for FSWatcher with Jest mock functions * Used in file watcher tests */ export interface MockFSWatcher extends EventEmitter { close: jest.Mock; } /** * Mock interface for MCP server with request handlers * Used in server tests for progressive discovery and lazy loading */ export interface MockServer { _requestHandlers: Map<string, Function>; } /** * Mock request interface for testing server handlers */ export interface MockRequest { method: string; params: Record<string, unknown>; } /** * Mock response interface for resource list operations */ export interface MockResourceListResponse { resources: Array<{ uri: string; mimeType: string; name: string; description: string; }>; } /** * Mock response interface for resource read operations */ export interface MockResourceReadResponse { contents: Array<{ uri: string; mimeType: string; text?: string; blob?: Uint8Array; }>; } /** * Utility functions for creating mock file stats */ export const createMockStats = ( mtime: Date, isFile: boolean, isDirectory?: boolean ): MockStats => ({ mtime, isFile: () => isFile, isDirectory: isDirectory !== undefined ? (): boolean => isDirectory : undefined, }); /** * Utility function for creating mock FSWatcher */ export const createMockFSWatcher = (): MockFSWatcher => { return Object.assign(new EventEmitter(), { close: jest.fn(), }) as MockFSWatcher; }; /** * Utility function for creating mock file stats for files */ export const createFileStats = (mtime: Date): MockStats => createMockStats(mtime, true, false); /** * Utility function for creating mock file stats for directories */ export const createDirectoryStats = (mtime: Date): MockStats => createMockStats(mtime, false, true); /** * Additional type exports for complex server tests */ export interface MockLazyResourceMetadata { uri: string; name: string; lazy?: boolean; } export interface MockLazyResourceResponse { resources: MockLazyResourceMetadata[]; } export interface MockCacheEntry { data: MockResourceReadResponse; timestamp: number; } export interface MockResourceRegistryMetadata { discoveryHandler: string; cacheStrategy: { ttlMs: number }; } export type MockDiscoveryHandler = ( uri: string, cache?: unknown // Use unknown to avoid circular imports with ResourceCache ) => Promise<MockResourceReadResponse>;

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/yhosok/tbls-mcp-server'

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