Skip to main content

Pruebas de API con Bruno

Esta sección explica cómo utilizar Bruno para probar los endpoints expuestos por el BFF (bff-api) de la plataforma apolo-app-platcom-platform.

Bruno se utiliza como cliente HTTP para:

  • Explorar los distintos módulos del BFF
  • Probar flujos de autenticación y autorización
  • Validar contratos de APIs antes de integrarlos en frontend u otros sistemas

Ubicación de colecciones

Las colecciones de Bruno se encuentran dentro del repositorio, típicamente bajo:

docs/bruno/collections

Cada carpeta contiene:

  • Requests organizados por recurso/tag.
  • Entornos (.env) con URLyURL-TESTING`.
  • Variable para JWT.

Desde Bruno, puedes importar la carpeta correspondiente (por ejemplo, toda la colección del BFF) y trabajar con los distintos grupos de endpoints.

Entornos y variables

Cada colección cuenta con un folder llamado environments y dentro contiene cada uno de los entornos disponibles: LOCAL, STAGING Y PRODUCTION y dentro se tiene la siguiente estructura:

vars {
URL: http://localhost:8080
URL-TESTING:
}
vars:secret [
JWT: eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY2YzRkZWYwYmEwNjlkNzI5NTQ4NDNhYyIsIm5hbWUiOiJVc2VyIFRlc3Qg
]

Estructura de la colección en Bruno

Dentro de Bruno, la colección del BFF está organizada por carpetas que agrupan los endpoints por dominio funcional:

  • ADMIN APPLICATIONS: Endpoints administrativos relacionados con la gestión avanzada de aplicaciones (configuraciones, administración interna, etc.).

  • APPLICATIONS: Endpoints para la gestión de aplicaciones/módulos registrados en la plataforma (creación, actualización, consulta, etc.).

  • AUTH: Endpoints de autenticación y gestión de sesiones:

    • Login / logout
    • Flujo de 2FA (si aplica)
    • Refresco de tokens
    • recuperación / reseteo de contraseña
    • Consultas de usuario autenticado (`/me, scopes, etc.)
  • EXTERNAL SUPPLIER: Endpoints para integración con proveedores externos que reportan o consumen información desde Apolo (por ejemplo, servicios de terceros que interactúan con la plataforma).

  • PLANS: Endpoints relacionados con la gestión de planes o configuraciones de servicios que se aplican sobre aplicaciones, tenants o proveedores (según lo definido en el BFF).

  • PLAYGROUND API: Endpoints de prueba o sandbox para validar nuevos contratos de API, experimentos o flujos no productivos.

  • REPORTS: Endpoints para generación, consulta y descarga de reportes de auditoría, actividad y seguridad.

  • ROLES: Endpoints relacionados con la gestión de roles (lectura, administración y mapeo de roles entre sistemas).

  • SCOPES: Endpoints para administrar y consultar scopes / permisos que se asocian a usuarios, aplicaciones o clientes.

  • SUPPLIERS: Endpoints para la gestión de proveedores dentro del contexto de la plataforma (alta, baja, consulta, etc.).

  • TENANT: Endpoints orientados a la gestión multi-tenant:

    • Tenants disponibles
    • Asignación de aplicaciones por tenant
    • Configuración específica por tenant
  • TEST_MDH SERVICES: Endpoints de prueba/integración asociados a servicios MDH u otros servicios de laboratorio, usados para validar integraciones sin afectar datos productivos.

📌 En general, cada carpeta agrupa los endpoints que corresponden a los módulos expuestos también en el BFF (auth, applications, tenants, reports, etc.), lo que facilita navegar por dominio.

Buenas prácticas

  • Mantener siempre las colecciones sincronizadas con los cambios del BFF (bff-api).
  • Documentar brevemente cada request en Bruno (descripción, precondiciones, headers relevantes).
  • Usar variables de entorno en lugar de valores hardcodeados (URLs, tokens, IDs de prueba).
  • Agrupar nuevos endpoints en la carpeta de dominio correspondiente (o crear una nueva si se agrega un nuevo módulo en el BFF).