Files
mosaic/packages/queue/tests/mcp-server.test.ts

51 lines
1.4 KiB
TypeScript

import { describe, expect, it } from 'vitest';
import {
QUEUE_MCP_TOOL_DEFINITIONS,
buildQueueMcpServer,
} from '../src/mcp-server.js';
describe('queue MCP server', () => {
it('declares all required phase-1 tools', () => {
const toolNames = QUEUE_MCP_TOOL_DEFINITIONS.map((tool) => tool.name).sort();
expect(toolNames).toEqual([
'queue_claim',
'queue_complete',
'queue_fail',
'queue_get',
'queue_heartbeat',
'queue_list',
'queue_release',
'queue_status',
]);
});
it('builds an MCP server instance', () => {
const server = buildQueueMcpServer({
openSession: () =>
Promise.resolve({
repository: {
list: () => Promise.resolve([]),
get: () => Promise.resolve(null),
claim: () => Promise.reject(new Error('not implemented')),
heartbeat: () => Promise.reject(new Error('not implemented')),
release: () => Promise.reject(new Error('not implemented')),
complete: () => Promise.reject(new Error('not implemented')),
fail: () => Promise.reject(new Error('not implemented')),
},
checkHealth: () =>
Promise.resolve({
checkedAt: 1,
latencyMs: 0,
ok: true,
response: 'PONG',
}),
close: () => Promise.resolve(),
}),
});
expect(server).toBeDefined();
});
});