Skip to main content
Glama
Rajendertyagi

MCPEvent

MCP Event Server — Suite de Pruebas

Pruebas de regresión rápidas, centradas en funcionalidades y a prueba de bloqueos para el servidor de eventos MCP (server.py, events.py, store.py, runtime.py, sources/).

Estructura

test/
  run_all.py            # regression driver: isolated subprocess per file, hard 300s/file timeout
  helpers/              # lifecycle, mcp, wait, mock_http, runner — shared test support
  mcp_result.py         # SDK result normalization + safe teardown
  test_*.py             # one feature per file (the units of the suite)
  config.json           # base server config (overwritten per-test, restored after)
TEST_RUNTIME_MAP.md     # per-file server usage, harness behavior, run guidance

El código fuente de producción bajo test/ está congelado — no edite server.py, events.py, store.py, runtime.py, errors.py, client.py, config.json, requirements.txt, o sources/* como parte del trabajo de pruebas.

Related MCP server: MCP Server & Client Test Environment

Ejecución

# Focused (preferred while debugging one feature):
python test/test_acknowledgement.py
python test/run_all.py --group fast

# Full regression (CI / release only — slow path):
python test/run_all.py
python test/run_all.py --timeout 300

Consulte TEST_RUNTIME_MAP.md para la matriz de uso del servidor, la estrategia de espera acotada y por qué debería ejecutar pruebas enfocadas, no completas, durante el desarrollo.

Principios

  • Sin servidor a menos que la prueba necesite el límite MCP/HTTP. La lógica de la aplicación (almacenamiento, eventos, enrutamiento, checkpoint/ack, tareas en segundo plano, ciclo de vida de fuentes, deduplicación) se prueba directamente contra los objetos reales con un bus stub en memoria.

  • Un servidor por archivo de nivel D (excepciones: pruebas de reinicio en test_errors.py / test_reconnect.py, y test_subscriptions.py cuyas pruebas necesitan diferentes configuraciones de fuente).

  • Esperas acotadas, sin pausas fijas largas. La disponibilidad/recuentos se sondean con tiempos de espera.

  • Tiempo de espera máximo (300 s/archivo) + limpieza propiedad del padre — el ejecutor termina el grupo de procesos del hijo, por lo que un archivo colgado falla rápidamente (reportado como TIMEOUT) y cualquier server.py que haya generado se elimina con él. Sin dependencia del atexit del hijo (que no puede ejecutarse después de una eliminación forzada).

Eliminados (no recrear)

test/test_phase8.py, test/integrate_test.py — reemplazados por los archivos por funcionalidad anteriores.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    A test server implementing all features of the MCP protocol, including prompts, tools, resources, and sampling, designed for testing MCP clients rather than practical applications.
    MIT