Probar funciones HTTP localmente en Firebase

Clase 14 de 22Curso de Firebase 5: Cloud Functions

Resumen

Validar una función HTTP en Firebase de forma local y luego en producción es clave para iterar rápido y con confianza. Aquí verás cómo revisar el código con Express, emular con Firebase, probar con Postman, desplegar solo la función necesaria y verificar respuestas 200 OK, manejo de índices en Firestore y envío de correos.

¿Cómo preparar el código y los datos para la prueba?

Antes de ejecutar, conviene una revisión rápida. Se importa Express y se obtiene la instancia con paréntesis. Se define un endpoint con método POST y se versiona la ruta con /V1. Desde Firestore se recuperan los emails, se recorren y se concatenan separados por comas. Luego se envían a la librería de utilidad de correo. Si Firestore solicita crear un índice, se usa la combinación de campos publicado y fecha.

  • Importar Express e instanciar: asegurar paréntesis para la instancia.
  • Definir POST con versión: usar ruta /V1.
  • Consultar Firestore: recuperar emails de usuarios.
  • Concatenar correos: separar por comas para el envío.
  • Enviar con librería de correo: utilizar la data preparada.
  • Índice en Firestore: publicado + fecha; si aparece aviso, crearlo desde el enlace.

¿Cómo emular con firebase functions:shell?

Se crea un ambiente local que emula las funciones y permite invocarlas como si fuera un cliente. Tras iniciar, se llama la función HTTP con POST, se incluye /V1 y se envían datos tipo JSON mediante .form. La respuesta esperada es 200 OK indicando que el correo se envió correctamente.

  • Iniciar el emulador local.
  • Invocar la función HTTP con método POST.
  • Añadir /V1 a la ruta.
  • Enviar datos con .form usando JSON de prueba.
  • Verificar 200 OK y recepción del correo.

Comando base:

firebase functions:shell

¿Cómo probar con servidor local y Postman?

Además del shell, se puede montar un servidor local de funciones HTTP. Al iniciar, Firebase muestra una URL. Se copia en Postman, se agrega /V1, se selecciona POST y se envía el mismo JSON de prueba. La respuesta esperada es true como confirmación de éxito y se valida la llegada del correo.

  • Levantar servidor local solo de funciones HTTP.
  • Copiar la URL generada y agregar /V1.
  • Configurar Postman con método POST.
  • Enviar el cuerpo en JSON y ejecutar.
  • Confirmar resultado true y correo recibido.

Comando base:

firebase serve --only functions

¿Qué validar en la respuesta y en el correo?

  • Código HTTP 200 OK.
  • Resultado true en la respuesta.
  • Correo recibido con los posts activos.

¿Cómo desplegar en Firebase y monitorear recursos?

Para publicar, se despliega únicamente la función deseada. Al finalizar, Firebase entrega una URL pública que se puede probar desde Postman agregando /V1. En la consola de Firebase se observan detalles: tipo HTTP, URL, y la memoria asignada por defecto de 256 MB de RAM. También se consultan los registros para confirmar que la ejecución finalizó correctamente.

  • Desplegar solo la función objetivo.
  • Probar la URL pública con /V1 desde Postman.
  • Verificar resultado true y llegada del correo.
  • Revisar en Firebase: tipo HTTP, URL y RAM por defecto (256 MB).
  • Consultar registros para validar ejecución.

Comando base:

firebase deploy --only functions:enviar:enviar post semana

¿Qué habilidades y conceptos refuerzas?

  • Emulación local con Firebase para pruebas rápidas.
  • Endpoints versionados con /V1 en Express.
  • Manejo de POST con datos en JSON.
  • Índices compuestos en Firestore (publicado + fecha).
  • Verificación de 200 OK y resultado true.
  • Uso de Postman para pruebas de HTTP.
  • Despliegue selectivo de funciones y análisis de registros.

¿Tienes dudas sobre la emulación, el índice de Firestore o el despliegue selectivo? Comparte tu pregunta y cuéntame qué parte te gustaría profundizar.

      Probar funciones HTTP localmente en Firebase