Skip to main content
Glama

Prisma MCP Server

Official
by prisma
Apache 2.0
4
44,192
  • Linux
  • Apple
logger.test.ts2.91 kB
import { describe, expect, test } from 'vitest' import { LogLevel } from './log-level' import { Logger } from './logger' import { CapturingSink } from './sink' describe('Logger', () => { test('logs messages at the correct level', () => { const sink = new CapturingSink() const logger = new Logger(sink) // Test each log level method logger.debug('debug message', { debug: true }) logger.query('query message', { sql: 'SELECT 1' }) logger.info('info message', { user: 'test' }) logger.warn('warn message', { warning: true }) logger.error('error message', { error: 'test error' }) // Verify each call was captured expect(sink.events.length).toEqual(5) // Check debug call const debugEvent = sink.events[0] expect(debugEvent.level).toEqual('debug') expect(debugEvent.message).toEqual('debug message') expect(debugEvent.attributes.debug).toEqual(true) // Check query call const queryEvent = sink.events[1] expect(queryEvent.level).toEqual('query') expect(queryEvent.message).toEqual('query message') expect(queryEvent.attributes.sql).toEqual('SELECT 1') // Check info call const infoEvent = sink.events[2] expect(infoEvent.level).toEqual('info') expect(infoEvent.message).toEqual('info message') expect(infoEvent.attributes.user).toEqual('test') // Check warn call const warnEvent = sink.events[3] expect(warnEvent.level).toEqual('warn') expect(warnEvent.message).toEqual('warn message') expect(warnEvent.attributes.warning).toEqual(true) // Check error call const errorEvent = sink.events[4] expect(errorEvent.level).toEqual('error') expect(errorEvent.message).toEqual('error message') expect(errorEvent.attributes.error).toEqual('test error') }) test('generic log method', () => { const sink = new CapturingSink() const logger = new Logger(sink) // Test the generic log method with different levels const levels: LogLevel[] = ['debug', 'query', 'info', 'warn', 'error'] for (let i = 0; i < levels.length; i++) { const level = levels[i] logger.log(level, `${level} message`, { index: i }) } // Verify all events were captured expect(sink.events.length).toEqual(levels.length) // Check each event for (let i = 0; i < levels.length; i++) { const event = sink.events[i] expect(event.level).toEqual(levels[i]) expect(event.message).toEqual(`${levels[i]} message`) expect(event.attributes.index).toEqual(i) } }) test('handles undefined attributes', () => { const sink = new CapturingSink() const logger = new Logger(sink) // Call without attributes logger.info('info without attributes') // Verify the event has empty attributes expect(sink.events.length).toEqual(1) expect(Object.keys(sink.events[0].attributes).length).toEqual(0) }) })

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/prisma/prisma'

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