Skip to main content
Glama

Curupira

by drzln
integration.test.ts2.21 kB
/** * @fileoverview Integration tests for transport layer */ import { describe, test, expect } from 'vitest' import { createTransport, getAvailableTransports, TransportManager } from '../registry.js' import type { TransportMessage } from '../types.js' import { createRequestId, createTimestamp } from '../../types/index.js' describe('Transport Integration', () => { test('available transports are registered', () => { const transports = getAvailableTransports() expect(transports).toContain('websocket') expect(transports).toContain('http') }) test('creates WebSocket transport', () => { const transport = createTransport({ type: 'websocket', url: 'ws://localhost:8080' }) expect(transport).toBeDefined() expect(transport.config.type).toBe('websocket') expect(transport.capabilities.bidirectional).toBe(true) }) test('creates HTTP transport', () => { const transport = createTransport({ type: 'http', baseUrl: 'http://localhost:8080' }) expect(transport).toBeDefined() expect(transport.config.type).toBe('http') expect(transport.capabilities.bidirectional).toBe(false) }) test('TransportManager manages multiple transports', async () => { const manager = new TransportManager() // Add transports await manager.add('ws1', { type: 'websocket', url: 'ws://localhost:8080' }) await manager.add('http1', { type: 'http', baseUrl: 'http://localhost:8080' }) // Verify they exist expect(manager.ids()).toHaveLength(2) expect(manager.get('ws1')).toBeDefined() expect(manager.get('http1')).toBeDefined() // Clear all await manager.clear() expect(manager.ids()).toHaveLength(0) }) test('transport message structure is correct', () => { const message: TransportMessage = { id: createRequestId(), timestamp: createTimestamp(), payload: { type: 'test', data: 'Hello, World!' } } expect(message.id).toBeDefined() expect(message.timestamp).toBeGreaterThan(0) expect(message.payload).toEqual({ type: 'test', data: 'Hello, World!' }) }) })

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/drzln/curupira'

If you have feedback or need assistance with the MCP directory API, please join our Discord server