ERP para agencia receptiva: cuando las pruebas encuentran el agujero
Sistema de gestión para una agencia receptiva en Chiapas, operado como SaaS multi-tenant. Su historia más útil no es una funcionalidad, es lo que apareció al automatizar las pruebas de extremo a extremo.
Stack
Contexto
Una agencia receptiva (DMC) opera itinerarios, proveedores y reservas para varios clientes a la vez. El sistema es multi-tenant: cada operación tiene que estar aislada de las demás, y cada persona debe ver solo lo que su rol permite. La versión en producción es la v1.16.1.
El hallazgo
- • Al automatizar un ciclo de pruebas de extremo a extremo aparecieron varias rutas accesibles escribiendo la URL directamente, sin pasar por el rol correspondiente.
- • El menú no las mostraba a quien no debía verlas, que es la protección que suele confundirse con seguridad: esconder un enlace no cierra una puerta.
- • La corrección fue devolver 404 según el rol, de modo que la ruta ni siquiera confirme que existe.
Qué quedó
- • Suites de aislamiento multi-tenant organizadas por fases, que comprueban que un inquilino no alcance datos de otro.
- • Las rutas protegidas responden 404 por rol en vez de revelar su existencia con un mensaje de acceso denegado.
- • El ciclo E2E quedó como parte del proceso, no como un ejercicio de una sola vez.
Lo que aprendí
Que la interfaz esconde, pero no protege. Si una ruta existe y responde a quien escriba su dirección, está abierta aunque ningún botón lleve a ella. Y que un ciclo de pruebas automatizadas bien hecho no solo evita regresiones: encuentra cosas que nadie había pensado en buscar.