mirror of
https://github.com/Syngnat/GoNavi.git
synced 2026-06-20 21:43:56 +08:00
- 抽离环境变量草稿解析工具,区分有效项和无效行 - 保留用户原始输入,避免无效行被静默吞掉 - 在 MCP 服务卡片中显示识别数量与无效行提示 - 补充环境变量解析与卡片提示测试
32 lines
967 B
TypeScript
32 lines
967 B
TypeScript
import { describe, expect, it } from 'vitest';
|
|
|
|
import { formatMCPEnvDraft, parseMCPEnvDraft } from './mcpEnvDraft';
|
|
|
|
describe('mcpEnvDraft helpers', () => {
|
|
it('formats env objects into editable KEY=VALUE lines', () => {
|
|
expect(formatMCPEnvDraft({
|
|
OPENAI_API_KEY: 'abc',
|
|
BASE_URL: 'https://example.com',
|
|
})).toBe('OPENAI_API_KEY=abc\nBASE_URL=https://example.com');
|
|
});
|
|
|
|
it('parses valid env lines and preserves invalid ones for warning', () => {
|
|
const result = parseMCPEnvDraft([
|
|
'OPENAI_API_KEY=abc',
|
|
'BAD LINE',
|
|
'HAS SPACE =wrong',
|
|
'EMPTY_VALUE=',
|
|
'BASE_URL=https://example.com?a=1',
|
|
].join('\n'));
|
|
|
|
expect(result.env).toEqual({
|
|
OPENAI_API_KEY: 'abc',
|
|
EMPTY_VALUE: '',
|
|
BASE_URL: 'https://example.com?a=1',
|
|
});
|
|
expect(result.validLines).toBe(3);
|
|
expect(result.invalidLines).toEqual(['BAD LINE', 'HAS SPACE =wrong']);
|
|
expect(result.totalLines).toBe(5);
|
|
});
|
|
});
|