MCP Rand

import { generateUuidHandler } from '../generate-uuid.handler.js'; import { CallToolRequestSchema } from '@modelcontextprotocol/sdk/types.js'; type CallToolRequest = typeof CallToolRequestSchema._output; describe('generateUuidHandler', () => { it('should generate a valid UUID v4', async () => { const request: CallToolRequest = { method: 'tools/call', params: { name: 'generate_uuid', arguments: {} } }; const result = await generateUuidHandler(request); // UUID v4 format: 8-4-4-4-12 characters expect(result.content[0].text).toMatch( /^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i ); }); it('should generate different UUIDs on subsequent calls', async () => { const request: CallToolRequest = { method: 'tools/call', params: { name: 'generate_uuid', arguments: {} } }; const result1 = await generateUuidHandler(request); const result2 = await generateUuidHandler(request); expect(result1.content[0].text).not.toBe(result2.content[0].text); }); });