Skip to main content
Glama
test-di-helpers.ts1.93 kB
/** * Test DI Helper Utilities * Factory functions for creating properly-injected service instances in tests */ import { BrunoCLI } from '../../bruno-cli.js'; import { ConfigLoader, type BrunoMCPConfig } from '../../config.js'; import { Logger } from '../../logger.js'; import { PerformanceManager } from '../../performance.js'; /** * Create a ConfigLoader with optional overrides for testing */ export function createTestConfigLoader(overrides?: Partial<BrunoMCPConfig>): ConfigLoader { const loader = new ConfigLoader(); if (overrides) { loader.updateConfig(overrides); } return loader; } /** * Create all core service instances for testing */ export function createTestServices(configOverrides?: Partial<BrunoMCPConfig>): { configLoader: ConfigLoader; logger: Logger; performanceManager: PerformanceManager; } { const configLoader = createTestConfigLoader(configOverrides); const logger = new Logger(configLoader); const performanceManager = new PerformanceManager(configLoader); return { configLoader, logger, performanceManager }; } /** * Create a fully-configured BrunoCLI instance for testing */ export function createTestBrunoCLI( configOverrides?: Partial<BrunoMCPConfig>, brunoPath?: string ): BrunoCLI { const { configLoader, performanceManager } = createTestServices(configOverrides); return new BrunoCLI(configLoader, performanceManager, brunoPath); } /** * Create a Logger instance for testing */ export function createTestLogger(configOverrides?: Partial<BrunoMCPConfig>): Logger { const configLoader = createTestConfigLoader(configOverrides); return new Logger(configLoader); } /** * Create a PerformanceManager instance for testing */ export function createTestPerformanceManager(configOverrides?: Partial<BrunoMCPConfig>): PerformanceManager { const configLoader = createTestConfigLoader(configOverrides); return new PerformanceManager(configLoader); }

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/jcr82/bruno-mcp-server'

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