Skip to main content
Glama

DB Timetable MCP Server

by jorekai
logger.test.ts3.94 kB
import { describe, test, expect, vi, beforeEach, afterEach } from 'vitest'; import { logger, LogLevel } from '../../utils/logger.js'; describe('Logger', () => { const originalConsole = { error: console.error, warn: console.warn, info: console.info, debug: console.debug, log: console.log }; beforeEach(() => { console.error = vi.fn(); console.warn = vi.fn(); console.info = vi.fn(); console.debug = vi.fn(); console.log = vi.fn(); }); afterEach(() => { console.error = originalConsole.error; console.warn = originalConsole.warn; console.info = originalConsole.info; console.debug = originalConsole.debug; console.log = originalConsole.log; }); describe('Log Methoden', () => { test('debug() ruft console.debug auf', () => { logger.setLevel(LogLevel.DEBUG); logger.debug('Debug Nachricht'); expect(console.debug).toHaveBeenCalled(); const callArg = (console.debug as unknown as ReturnType<typeof vi.fn>).mock.calls[0][0]; expect(callArg).toContain('DEBUG'); expect(callArg).toContain('Debug Nachricht'); }); test('info() ruft console.info auf', () => { logger.info('Info Nachricht'); expect(console.info).toHaveBeenCalled(); const callArg = (console.info as unknown as ReturnType<typeof vi.fn>).mock.calls[0][0]; expect(callArg).toContain('INFO'); expect(callArg).toContain('Info Nachricht'); }); test('warn() ruft console.warn auf', () => { logger.warn('Warn Nachricht'); expect(console.warn).toHaveBeenCalled(); const callArg = (console.warn as unknown as ReturnType<typeof vi.fn>).mock.calls[0][0]; expect(callArg).toContain('WARN'); expect(callArg).toContain('Warn Nachricht'); }); test('error() ruft console.error auf', () => { logger.error('Error Nachricht'); expect(console.error).toHaveBeenCalled(); const callArg = (console.error as unknown as ReturnType<typeof vi.fn>).mock.calls[0][0]; expect(callArg).toContain('ERROR'); expect(callArg).toContain('Error Nachricht'); }); }); describe('Log Level', () => { test('zeigt keine DEBUG-Nachrichten bei INFO Level', () => { logger.setLevel(LogLevel.INFO); logger.debug('Debug sollte nicht angezeigt werden'); expect(console.debug).not.toHaveBeenCalled(); }); test('zeigt keine INFO-Nachrichten bei WARN Level', () => { logger.setLevel(LogLevel.WARN); logger.info('Info sollte nicht angezeigt werden'); expect(console.info).not.toHaveBeenCalled(); }); test('zeigt keine WARN-Nachrichten bei ERROR Level', () => { logger.setLevel(LogLevel.ERROR); logger.warn('Warn sollte nicht angezeigt werden'); expect(console.warn).not.toHaveBeenCalled(); }); test('zeigt ERROR-Nachrichten bei jedem Level', () => { logger.setLevel(LogLevel.DEBUG); logger.error('Error sollte angezeigt werden'); expect(console.error).toHaveBeenCalled(); }); }); describe('Metadaten', () => { test('formatiert Metadaten korrekt', () => { const metadata = { user: 'test', action: 'login' }; logger.info('Info mit Metadaten', metadata); const callArg = (console.info as unknown as ReturnType<typeof vi.fn>).mock.calls[0][0]; expect(callArg).toContain('INFO'); expect(callArg).toContain('Info mit Metadaten'); expect(callArg).toContain('"user":"test"'); expect(callArg).toContain('"action":"login"'); }); }); });

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/jorekai/db-timetable-mcp'

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