✔ HTTP real: estado, contrato, errores y trazas sin datos sensibles (77.204597ms) ✔ HTTP real: entrada JSON inválida y errores internos conservan un contrato seguro (29.325551ms) ✔ MariaDB y HTTP: pertenencias, controladores, transiciones, aislamiento e integridad (2235.600821ms) ✔ el puerto usa un valor local por defecto y acepta los límites válidos (0.614107ms) ✔ el arranque rechaza puertos inválidos sin revelar el valor recibido (0.86331ms) ✔ proxy: sin configuración no se confía en cabeceras y producción exige proxies explícitos (0.399705ms) ✔ proxy: rechaza confianza universal, saltos, alias, hosts y redes inválidas sin revelar valores (0.747308ms) ✔ MariaDB: dominios, contexto atómico, concurrencia, integridad y ciclo de vida (852.597667ms) ✔ HTTP infraestructura: sesión, pertenencia, validación, identidad e idempotencia (30.130744ms) ✔ diagnóstico: causas de Sequelize, ciclos y valores lanzados que no son Error (0.607207ms) ✔ diagnóstico: mensajes multilínea, propiedades y cadenas largas no se vuelcan (0.504706ms) ✔ contextos de servidor: sesión vigente, ámbito existente, copias y revocación (0.996411ms) ▶ MariaDB: publicaciones SMB, historial, proveedor y HTTP autenticado ✔ registro y cardinalidad; publicador desconocido y distintos tipos sin AD (365.307283ms) ✔ traslado atómico, replay estable y finalización identificada sin tocar accesos (128.542392ms) ✔ concurrencia: altas iguales, publicadores distintos, traslados y finalización (181.515477ms) ✔ restricciones SQL y protección de borrado también después de finalizar (130.366302ms) ✔ fallo al insertar sucesor revierte el cierre anterior (110.985298ms) ✔ proveedor: SQL keyset, orientación, historial y cursores ligados a consulta (28.274853ms) ✔ resolución SMB por lotes: no confunde dominios, recursos ordinarios o compañías (178.205559ms) ✔ estados y desactivación concurrente conservan publicaciones documentadas (618.634608ms) ✔ UI 3.5: selector remoto filtra en SQL y pagina sin hidratar el inventario (1472.051801ms) ✔ HTTP: sesión, CSRF, validación, idempotencia y consultas paginadas (136.79642ms) ✔ MariaDB: publicaciones SMB, historial, proveedor y HTTP autenticado (5029.58801ms) ▶ MariaDB: SMB, unicidad vigente, historial, diagnóstico e integridad ✔ alta, presentación, lector público y aislamiento (51.896771ms) ✔ conflicto funcional, rollback, alias e inactivos (171.434132ms) ✔ edición atómica, UUID estable, idempotencia y revisión de UNC (107.796502ms) ✔ desactivación libera dirección y reactivación conflictiva conserva estado (208.33645ms) ✔ concurrencia: una sola alta y ninguna raíz huérfana (87.376051ms) ✔ restricciones SQL: compañía, 1:1, protocolo y unicidad (66.232093ms) ✔ legado: ausente, inválido, válido, duplicado y candidato access; diagnóstico sin escritura (505.942361ms) ✔ integración access existente y cambio de UNC conservan contexto y referencias (205.614119ms) ✔ FolderMapping conserva UNC, letra e historial y detecta dirección desactualizada (420.469906ms) ✔ HTTP autenticado: contrato SMB y diagnóstico acotado sin aceptar parámetros (71.296427ms) ✔ borrado sin referencias limpia proyección; una FK externa impide borrado (237.845557ms) ✔ MariaDB: SMB, unicidad vigente, historial, diagnóstico e integridad (2874.428818ms) ▶ MariaDB: nuevas carpetas SMB integradas con accesos sin adoptar históricos ✔ alta automática: misma identidad, ninguna dependencia de dominio o publicador (11.477685ms) ✔ renombrar el tipo de acceso conserva su UUID para las siguientes altas (65.860683ms) ✔ el cliente no puede imponer buzón, otro tipo ni contexto; se revierte el tipo preparado (93.529686ms) ✔ renombrado, UNC y estados sincronizan valores y UUID de todas las revisiones (136.588ms) ✔ necesidad y concesiones AD y NAS local: cobertura documental y borrado protegido (1319.027689ms) ✔ fallo después de escribir acceso revierte Resource, SMB, AccessItem y tipo (40.417492ms) ✔ carpeta anterior sin integración: lectura, edición y estado no la adoptan (170.026129ms) ✔ MariaDB: nuevas carpetas SMB integradas con accesos sin adoptar históricos (2588.791754ms) ✔ MariaDB: las plantillas propagan estructura en todas las compañías de forma atómica e idempotente (1637.984212ms) ▶ MariaDB: proveedor real, lotes, seguridad, SQL paginado y transiciones de pertenencias ✔ registro estático y consultas vacías desde ambos extremos (6.826136ms) ✔ directa, inversa, either, roles y UUID canónicos sin duplicados (46.840845ms) ✔ keyset SQL: páginas de uno, fin y cursores ligados a consulta (30.512559ms) ✔ lotes reales sin N+1, orden, repetidos, estados y referencias inaccesibles (23.04302ms) ✔ traslado y fin conservan identidad, estado y rol histórico (42.902724ms) ✔ ámbito, contextos falsificados, sesión revocada y acceso inverso (21.26291ms) ✔ EXPLAIN real e índices disponibles para ambos extremos (6.220933ms) ✔ MariaDB: proveedor real, lotes, seguridad, SQL paginado y transiciones de pertenencias (1553.285028ms) ℹ {"column":"assetId","includeEnded":false,"plan":[{"id":1,"select_type":"SIMPLE","table":"asset_directory_memberships","type":"range","possible_keys":"PRIMARY,directory_membership_identity_scope,directory_membership_asset,directory_membership_domain,directory_membership_domain_page","key":"PRIMARY","key_len":"144","ref":null,"rows":"4","Extra":"Using where"}]} ℹ {"column":"assetId","includeEnded":false,"forcedIndexPlan":[{"key":"directory_membership_asset","Extra":"Using index condition; Using where"}]} ℹ {"column":"assetId","includeEnded":true,"plan":[{"id":1,"select_type":"SIMPLE","table":"asset_directory_memberships","type":"range","possible_keys":"PRIMARY,directory_membership_identity_scope,directory_membership_asset,directory_membership_domain,directory_membership_domain_page","key":"PRIMARY","key_len":"144","ref":null,"rows":"4","Extra":"Using where"}]} ℹ {"column":"assetId","includeEnded":true,"forcedIndexPlan":[{"key":"directory_membership_asset","Extra":"Using index condition"}]} ℹ {"column":"domainResourceId","includeEnded":false,"plan":[{"id":1,"select_type":"SIMPLE","table":"asset_directory_memberships","type":"range","possible_keys":"PRIMARY,directory_membership_identity_scope,directory_membership_asset,directory_membership_domain,directory_membership_domain_fk,directory_membership_domain_page","key":"PRIMARY","key_len":"144","ref":null,"rows":"4","Extra":"Using where"}]} ℹ {"column":"domainResourceId","includeEnded":false,"forcedIndexPlan":[{"key":"directory_membership_domain_page","Extra":"Using index condition; Using where"}]} ℹ {"column":"domainResourceId","includeEnded":true,"plan":[{"id":1,"select_type":"SIMPLE","table":"asset_directory_memberships","type":"range","possible_keys":"PRIMARY,directory_membership_identity_scope,directory_membership_asset,directory_membership_domain,directory_membership_domain_fk,directory_membership_domain_page","key":"PRIMARY","key_len":"144","ref":null,"rows":"4","Extra":"Using where"}]} ℹ {"column":"domainResourceId","includeEnded":true,"forcedIndexPlan":[{"key":"directory_membership_domain_page","Extra":"Using index condition"}]} ℹ tests 52 ℹ suites 0 ℹ pass 52 ℹ fail 0 ℹ cancelled 0 ℹ skipped 0 ℹ todo 0 ℹ duration_ms 18273.692638