Skip to main content
Glama
logger.test.ts2.52 kB
/** * Tests for logger utility */ import { describe, it, expect, beforeEach, afterEach, vi } from 'vitest'; import { logger } from '../logger.js'; describe('logger', () => { const originalEnv = process.env; beforeEach(() => { process.env = { ...originalEnv }; vi.spyOn(console, 'error').mockImplementation(() => {}); }); afterEach(() => { process.env = originalEnv; vi.restoreAllMocks(); }); describe('isEnabled', () => { it('returns boolean for enabled state', () => { const enabled = logger.isEnabled(); expect(typeof enabled).toBe('boolean'); }); it('returns current enabled state', () => { const enabled = logger.isEnabled(); expect(typeof enabled).toBe('boolean'); }); }); describe('getConfig', () => { it('returns configuration object', () => { const config = logger.getConfig(); expect(config).toHaveProperty('enabled'); expect(config).toHaveProperty('minLevel'); }); it('has valid minLevel', () => { const config = logger.getConfig(); expect(['debug', 'info', 'warn', 'error']).toContain(config.minLevel); }); }); describe('logging methods exist', () => { it('has debug method', () => { expect(typeof logger.debug).toBe('function'); }); it('has info method', () => { expect(typeof logger.info).toBe('function'); }); it('has warn method', () => { expect(typeof logger.warn).toBe('function'); }); it('has error method', () => { expect(typeof logger.error).toBe('function'); }); }); describe('logging behavior', () => { it('debug accepts message and data', () => { // Should not throw expect(() => logger.debug('test message', { key: 'value' })).not.toThrow(); }); it('info accepts message and data', () => { expect(() => logger.info('test message', { key: 'value' })).not.toThrow(); }); it('warn accepts message and data', () => { expect(() => logger.warn('test message', { key: 'value' })).not.toThrow(); }); it('error accepts message and data', () => { expect(() => logger.error('test message', { key: 'value' })).not.toThrow(); }); it('accepts message without data', () => { expect(() => logger.debug('test message')).not.toThrow(); expect(() => logger.info('test message')).not.toThrow(); expect(() => logger.warn('test message')).not.toThrow(); expect(() => logger.error('test message')).not.toThrow(); }); }); });

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/VoCoufi/second-brain-mcp'

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