← Volver a TelegramController

🧪 Pruebas de Middleware

Endpoints para simular errores y probar el funcionamiento del middleware de notificaciones

Descripción General

Los endpoints de Pruebas de Middleware permiten simular diferentes tipos de errores para verificar que el sistema de notificaciones de Telegram funciona correctamente. Estos endpoints son útiles para probar el ErrorHandlingMiddleware y asegurar que las alertas se envían cuando ocurren errores.

🎯 Tipos de Pruebas Disponibles

  • Error Simulado: Genera un error HTTP 400 controlado
  • Excepción Simulada: Lanza una excepción para generar error HTTP 500
  • Prueba de Middleware: Verifica que el ErrorHandlingMiddleware capture los errores
  • Notificaciones de Error: Confirma que se envían alertas de Telegram
  • Logging de Errores: Verifica el registro de errores en logs

Endpoints Disponibles

GET /api/telegram/test-error-handling

Simula un error HTTP 400 para probar el middleware. Este endpoint genera un error controlado que debería activar las notificaciones de Telegram a través del ErrorHandlingMiddleware.
Parámetros:
  • No requiere parámetros de entrada
400 Bad Request - Error Simulado
Error simulado para probar el middleware
{ "message": "This is a test error to verify Telegram notifications are working", "code": "TestError", "details": { "timestamp": "2024-01-15T10:30:00Z", "test": true, "middleware": "ErrorHandlingMiddleware" } }

GET /api/telegram/test-exception

Lanza una excepción para generar error HTTP 500. Este endpoint lanza una excepción no controlada que debería activar las notificaciones de error de Telegram a través del ErrorHandlingMiddleware.
Parámetros:
  • No requiere parámetros de entrada
500 Internal Server Error - Excepción Simulada
Excepción simulada para probar el middleware
{ "message": "This is a test exception to verify Telegram error notifications are working", "statusCode": 500, "error": "InvalidOperationException" }

Ejemplos de Uso

🔧 Ejemplo con curl - Error Simulado

curl -X GET \ 'http://localhost:1379/api/telegram/test-error-handling' \ -H 'accept: application/json'

🔧 Ejemplo con curl - Excepción Simulada

curl -X GET \ 'http://localhost:1379/api/telegram/test-exception' \ -H 'accept: application/json'

🔧 Ejemplo con JavaScript

// Probar error simulado fetch('/api/telegram/test-error-handling') .then(response => { if (!response.ok) { return response.json(); } }) .then(data => console.log('Error simulado:', data)) .catch(error => console.error('Error:', error)); // Probar excepción simulada fetch('/api/telegram/test-exception') .then(response => { if (!response.ok) { return response.json(); } }) .then(data => console.log('Excepción simulada:', data)) .catch(error => console.error('Error:', error));

Integración con Middleware

🔗 ErrorHandlingMiddleware

  • Captura de Errores: Intercepta errores HTTP 400 y 500
  • Notificaciones Telegram: Envía alertas automáticas
  • Logging Detallado: Registra información completa del error
  • Respuestas Estructuradas: Proporciona respuestas consistentes
  • Contexto de Error: Incluye información del contexto de la petición

📊 Flujo de Procesamiento

  1. Petición HTTP: Se realiza la petición al endpoint de prueba
  2. Generación de Error: El endpoint genera un error o excepción
  3. Captura del Middleware: ErrorHandlingMiddleware intercepta el error
  4. Logging: Se registra el error en los logs del sistema
  5. Notificación Telegram: Se envía alerta automática a Telegram
  6. Respuesta al Cliente: Se devuelve respuesta estructurada

Casos de Uso

🎯 Escenarios de Prueba

  • Verificación de Middleware: Comprobar que el middleware funciona
  • Pruebas de Notificaciones: Verificar envío de alertas de Telegram
  • Validación de Logging: Confirmar registro de errores
  • Pruebas de Producción: Verificar sistema de alertas en producción
  • Debugging de Errores: Diagnosticar problemas de notificaciones

🔍 Ejemplos Específicos

  • Prueba Inicial: Verificar configuración después del deployment
  • Pruebas Periódicas: Verificar funcionamiento regular del sistema
  • Pruebas de Usuario: Permitir a administradores probar alertas
  • Validación de Configuración: Confirmar que Telegram está configurado
  • Pruebas de Conectividad: Verificar conectividad con Telegram

Tipos de Errores Simulados

❌ Error HTTP 400

Error de cliente simulado
  • Endpoint: /api/telegram/test-error-handling
  • Tipo: BadRequest (400)
  • Propósito: Probar alertas de errores de cliente
  • Notificación: Alerta de advertencia

💥 Error HTTP 500

Error de servidor simulado
  • Endpoint: /api/telegram/test-exception
  • Tipo: InternalServerError (500)
  • Propósito: Probar alertas de errores críticos
  • Notificación: Alerta de error crítico

Información de Respuesta

Respuesta de Error 400 - Objeto Estructurado:
  • message (string): Mensaje descriptivo del error
  • code (string): Código de error identificativo
  • details (object): Detalles adicionales del error
  • details.timestamp (DateTime): Marca de tiempo del error
  • details.test (bool): Indica que es una prueba
  • details.middleware (string): Nombre del middleware
Respuesta de Error 500 - Objeto Estructurado:
  • message (string): Mensaje de la excepción
  • statusCode (int): Código de estado HTTP
  • error (string): Tipo de excepción

Consideraciones Importantes

⚠️ Uso en Producción

  • Estos endpoints están diseñados para pruebas y debugging
  • Se recomienda limitar el acceso en entornos de producción
  • Los errores generados son intencionales para pruebas
  • Pueden generar ruido en los logs del sistema
  • Se recomienda usar solo cuando sea necesario

📋 Requisitos para Pruebas

  • Configuración de Telegram: Bot configurado y activo
  • ErrorHandlingMiddleware: Middleware configurado y activo
  • Logging Configurado: Sistema de logs funcionando
  • Conectividad: Acceso a la API de Telegram
  • Permisos: Acceso a los endpoints de prueba