Mount POST /mcp on the main Express app (stateless Streamable HTTP). Keep optional MCP-only HTTP process via npm run mcp. Update docs.
33 lines
1.1 KiB
JavaScript
33 lines
1.1 KiB
JavaScript
const express = require('express');
|
|
const { formatSize, createWebshareMcpServer } = require('../src/mcp-server');
|
|
const { registerMcpHttp } = require('../src/mcp-http');
|
|
|
|
describe('formatSize', () => {
|
|
it('formats bytes', () => {
|
|
expect(formatSize(0)).toBe('0 B');
|
|
expect(formatSize(512)).toBe('512 B');
|
|
expect(formatSize(1024)).toBe('1.0 KB');
|
|
expect(formatSize(1536)).toBe('1.5 KB');
|
|
expect(formatSize(1024 * 1024)).toBe('1.0 MB');
|
|
});
|
|
});
|
|
|
|
describe('createWebshareMcpServer', () => {
|
|
it('creates a server instance with credentials', () => {
|
|
const server = createWebshareMcpServer({ username: 'u', password: 'p' });
|
|
expect(server).toBeDefined();
|
|
expect(server.server).toBeDefined();
|
|
});
|
|
});
|
|
|
|
describe('registerMcpHttp', () => {
|
|
it('registers POST /mcp on an express app', () => {
|
|
const app = express();
|
|
registerMcpHttp(app, { username: 'u', password: 'p', path: '/mcp' });
|
|
const layer = app._router.stack.find(
|
|
(l) => l.route && l.route.path === '/mcp' && l.route.methods.post
|
|
);
|
|
expect(layer).toBeTruthy();
|
|
});
|
|
});
|