51 lines
1.4 KiB
TypeScript
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();
|
|
});
|
|
});
|