Novedades Versión
VersiónVerificación real contra Supabase en los 16 paquetes
Hasta esta pasada, los tests de los 16 paquetes estaban escritos pero no se habían ejecutado en aislamiento contra un Supabase real. Ahora se ejecutan.
Qué cambia
- Un harness (
scripts/test-package.mjs) resuelve las dependencias de un paquete, ensambla sus migraciones en una carpeta desechable y corre sus tests pgTAP contra un Supabase local levantado con Docker. - Se ejecutó sobre los 16 paquetes, de uno en uno. Resultado final: 130 aserciones pgTAP pasando a fecha de esta entrada.
Qué encontró
Siete patrones de bug en la redacción de los tests. El producto estaba bien, pero la aserción no comprobaba lo que parecía (por ejemplo, un throws_ok que comparaba un mensaje literal, o un reset role sin volver a fijar los claims del JWT). Se corrigieron en los propios tests y la causa quedó explicada en el README de cada paquete.
Dos fallos reales de producto, corregidos con migración nueva y aplicados también al proyecto real:
tenant-storage0.1.1: la política deSELECTdestorage.objectsno exigíadocuments.read. Un miembro del staff sin ese permiso podía listar nombres y rutas de los objetos de su propio tenant.consent-core0.1.1:current_consentspodía mostrargranteden vez dewithdrawnsi dos registros compartían exactamente el mismorecorded_at. Se añadió un desempate determinista.
El primero es uno de los incidentes del registro de seguridad; el relato completo está en el artículo sobre fugas reales.
Entrada retroactiva: reconstruida a partir del historial del repositorio y de los CHANGELOG.md de los paquetes.