cherry-studio/src/main/services/__tests__/ServerLogBuffer.test.ts
LiuVaayne 96085707ce
feat: add MCP server log viewer (#11826)
*  feat: add MCP server log viewer

* 🧹 chore: format files

* 🐛 fix: resolve MCP log viewer type errors

* 🧹 chore: sync i18n for MCP log viewer

* 💄 fix: improve MCP log modal contrast in dark mode

* 🌐 fix: translate MCP log viewer strings

Add translations for noLogs and viewLogs keys in:
- German (de-de)
- Greek (el-gr)
- Spanish (es-es)
- French (fr-fr)
- Japanese (ja-jp)
- Portuguese (pt-pt)
- Russian (ru-ru)

* 🌐 fix: update MCP log viewer translations and key references

Added "logs" key to various language files and updated references in the MCP settings component to improve consistency across translations. This includes updates for English, Chinese (Simplified and Traditional), German, Greek, Spanish, French, Japanese, Portuguese, and Russian.

---------

Co-authored-by: kangfenmao <kangfenmao@qq.com>
2025-12-11 11:18:56 +08:00

30 lines
1.0 KiB
TypeScript

import { describe, expect, it } from 'vitest'
import { ServerLogBuffer } from '../mcp/ServerLogBuffer'
describe('ServerLogBuffer', () => {
it('keeps a bounded number of entries per server', () => {
const buffer = new ServerLogBuffer(3)
const key = 'srv'
buffer.append(key, { timestamp: 1, level: 'info', message: 'a' })
buffer.append(key, { timestamp: 2, level: 'info', message: 'b' })
buffer.append(key, { timestamp: 3, level: 'info', message: 'c' })
buffer.append(key, { timestamp: 4, level: 'info', message: 'd' })
const logs = buffer.get(key)
expect(logs).toHaveLength(3)
expect(logs[0].message).toBe('b')
expect(logs[2].message).toBe('d')
})
it('isolates entries by server key', () => {
const buffer = new ServerLogBuffer(5)
buffer.append('one', { timestamp: 1, level: 'info', message: 'a' })
buffer.append('two', { timestamp: 2, level: 'info', message: 'b' })
expect(buffer.get('one')).toHaveLength(1)
expect(buffer.get('two')).toHaveLength(1)
})
})