fix: registerCapabilities registers logging/setLevel handler (#1605)

Co-authored-by: Konstantin Konstantinov <KKonstantinov@users.noreply.github.com>
This commit is contained in:
Giulio Leone 2026-03-05 10:28:32 +01:00 • committed by GitHub
commit 26c7242d67
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -3705,3 +3705,37 @@ describe('elicitInputStream', () => {
});
});
});
describe('Server registerCapabilities with logging', () => {
test('registerCapabilities should register logging/setLevel handler', async () => {
const server = new Server({ name: 'test-server', version: '1.0.0' });
server.registerCapabilities({ logging: {} });
const client = new Client({ name: 'test-client', version: '1.0.0' });
const [clientTransport, serverTransport] = InMemoryTransport.createLinkedPair();
await server.connect(serverTransport);
await client.connect(clientTransport);
// logging/setLevel should succeed, not throw "Method not found"
await expect(client.setLoggingLevel('error')).resolves.not.toThrow();
await client.close();
await server.close();
});
test('logging in constructor capabilities should register logging/setLevel handler', async () => {
const server = new Server({ name: 'test-server', version: '1.0.0' }, { capabilities: { logging: {} } });
const client = new Client({ name: 'test-client', version: '1.0.0' });
const [clientTransport, serverTransport] = InMemoryTransport.createLinkedPair();
await server.connect(serverTransport);
await client.connect(clientTransport);
await expect(client.setLoggingLevel('error')).resolves.not.toThrow();
await client.close();
await server.close();
});
});