metis-desk/.artifacts/resources-global-operating-systems-preflight-6992a4ac/technical/resources.log
David 0a5fb28263 feat: add technical logs and implement infrastructure item retrieval
- Created node-check.log to capture Node.js syntax errors.
- Added proxy.log for TLS termination diagnostics.
- Introduced rdx-ui-types.log and resources-types.log for TypeScript compilation logs.
- Implemented resources.log to log test results for various resource-related tests.
- Added table.log to log column restoration and preference isolation tests.
- Created types.log to log type checking results across multiple packages.
- Added web-types.log for TypeScript compilation logs specific to web components.
- Introduced traceability.json to track changes in recorded sources and their states.
- Implemented infrastructure-items.ts to retrieve infrastructure items with roles and interfaces.
- Added company-people-navigation.tsx for navigation in company detail views.
2026-10-26 12:20:08 +01:00

134 lines
13 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

$ TSX_TSCONFIG_PATH=../../tsconfig.json node --import tsx --test src/api/application/application-coincidence.test.ts src/api/domain/resource-catalog.test.ts src/api/domain/resource.test.ts src/api/domain/resource-template-propagation.test.ts src/api/application/resource-lifecycle.test.ts src/web/catalog/shared/catalog.test.tsx src/web/resources/shared/resources.test.tsx src/web/resources/list/helpers/resource-columns.test.tsx src/web/resources/list/helpers/resource-list-preferences.test.tsx src/web/resources/shared/resource-values.test.ts src/api/domain/template-sections.test.ts src/web/catalog-fields/select/catalog-field-selection.test.tsx src/api/domain/directory-domain.test.ts src/api/domain/network-share.test.ts src/api/domain/resource-scope.test.ts src/api/infrastructure/persistence/resource-scope-reader.test.ts src/api/application/resource-scope.test.ts src/api/application/resource-reference-contracts.test.ts src/api/domain/global-resource.test.ts src/web/global-applications/shared/global-applications.test.tsx src/api/domain/operating-system-identity.test.ts src/api/application/global-operating-system-contracts.test.ts src/api/application/global-operating-system-policy.test.ts src/web/resources/shared/ui/resource-characteristic-control.test.tsx
✔ R2.6: nombre y proveedor son señales, nunca equivalencia confirmada (1.231616ms)
✔ R2.6: preserva tildes, puntuación, abreviaturas, ediciones, versiones y números (0.376204ms)
✔ R2.6: homónimos genéricos se mantienen débiles y los UUID nunca se sustituyen (22.305088ms)
✔ F2: SO global público tipado, sin contaminación de aplicaciones ni perfiles (8.075287ms)
✔ F2: elegibilidad de SO exige stock real y campos globales (0.322503ms)
✔ F2: contrato 3 y gates de SO independientes; aplicaciones no abren SO (0.299603ms)
✔ F3: cualquier escritor valida identidad publicada, corrección documental e historial (34.291168ms)
✔ recurso: activar/desactivar conserva datos e historial y repetir estado no añade revisiones (12.676836ms)
✔ recurso: valida identidades y rechaza actuar sobre recursos ajenos (2.464926ms)
✔ recurso: propaga el bloqueo por asociaciones y permite desactivar (2.204824ms)
✔ recurso: elimina y la repetición devuelve ausencia sin efectos adicionales (6.674072ms)
✔ elegibilidad global exige serie exacta y campos globales; las copias no elevan ámbito (1.905821ms)
✔ schemas discriminan owner, propósito, OS local y proyecciones privadas (12.243932ms)
✔ requests acotan lotes, consulta, paginación y rechazan privilegios o integración (4.950553ms)
✔ búsqueda literal conserva ñ, puntuación y espacios; pagina tras filtrar con desempate UUID (5.450259ms)
✔ R2.5 admite gates configurables; los valores predeterminados siguen cerrados (0.405605ms)
✔ R2.5: software y perfil se habilitan por separado y requieren catálogo (0.437904ms)
✔ R2.5: perfil no depende de software ni abre asociaciones con catálogo cerrado (0.317003ms)
✔ lectores locales: excluyen global y otra compañía incluso si el repositorio los entrega; stockKey no depende del nombre (17.228284ms)
✔ HTTP actual sin MariaDB: aislamiento con 15 compañías, 50 recursos locales, alta, edición, estado e historial (396.325645ms)
✔ DNS: normalización explícita, etiqueta única heredada, punto raíz y política ASCII IDN (2.207924ms)
✔ capacidad estable: la plantilla renombrada sigue siendo dominio y una copia arbitraria no (2.272924ms)
✔ alta, edición, DNS y archivo usan Resource y conservan su identidad e historial (6.923375ms)
✔ catálogo: DNS obligatorio protegido, NetBIOS opcional e inicialización idempotente (15.121263ms)
✔ identificadores de campo: mayúsculas no cambian identidad ni permiten duplicados (0.825809ms)
✔ global: crear exige UUID v7 y conserva identidad y propietario en edición e idempotencia (12.355032ms)
✔ global: captura por stockKey, sin depender del nombre traducido de la plantilla (3.562338ms)
✔ SMB acepta \\NAS-01\Finanzas (2.271825ms)
✔ SMB acepta \\files.example.local\Docs (0.293204ms)
✔ SMB acepta \\192.168.5.10\C$ (0.164602ms)
✔ SMB acepta \\samba\Diseño\Año 2026 (0.422204ms)
✔ SMB acepta \\NAS\Docs\ (0.330904ms)
✔ SMB rechaza "" (0.228603ms)
✔ SMB rechaza "\\\\" (0.250303ms)
✔ SMB rechaza "\\\\host" (0.133901ms)
✔ SMB rechaza "\\\\\\share" (2.418226ms)
✔ SMB rechaza "\\\\host\\\\" (0.550606ms)
✔ SMB rechaza "C:\\Datos" (0.152901ms)
✔ SMB rechaza "https://host/share" (0.100001ms)
✔ SMB rechaza "\\\\host\\share\\.." (0.321703ms)
✔ SMB rechaza "\\\\host\\share\\." (0.099201ms)
✔ SMB rechaza "\\\\?\\UNC\\host\\share" (0.164002ms)
✔ SMB rechaza "\\\\host\\share\\\\child" (0.210603ms)
✔ SMB rechaza "\\\\host\\share." (0.262203ms)
✔ SMB rechaza "\\\\host\\ share" (0.093101ms)
✔ SMB rechaza "\\\\ho st\\share" (0.0716ms)
✔ SMB rechaza "\\\\host\\bad\u0000" (0.092901ms)
✔ SMB rechaza "\\\\host\\bad\ud800" (0.118101ms)
✔ SMB rechaza "\\\\host\\xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" (0.0877ms)
✔ SMB: comparación conservadora, alias y Unicode sin transformaciones destructivas (1.280214ms)
✔ SMB: semántica por stockKey y protección del catálogo sin bloquear etiquetas u obligatoriedad (19.661911ms)
✔ SMB: alta validada y diagnóstico histórico sin conversión ni revisión (17.875892ms)
✔ SMB: nuevas altas fijan integración access y rechazan contexto incompatible (8.36469ms)
✔ F1: identidad completa, edición conocida/no aplicable/desconocida e inactivos (4.554549ms)
✔ F1: normalización conservadora no equipara ediciones, releases ni ausencia desconocida (0.822309ms)
✔ F1: evolución de stock personalizada e idempotente; no elimina campos ni cambia obligatoriedad (32.804952ms)
✔ F1: un catálogo anterior evoluciona sin sobrescribir bindings ni recursos particulares (14.087251ms)
✔ catálogo de recursos: serie idempotente, UUID v7, características opcionales y protección (37.378401ms)
✔ ámbitos, tipos, listas, campos externos y disponibilidad por compañía (8.182888ms)
✔ licencias: ampliar un catálogo previo conserva identidades y disponibilidad (19.636311ms)
✔ plantillas globales de serie editables: conserva identidad, asociaciones, disponibilidad y cambios al reiniciar (12.740137ms)
✔ campos globales de serie editables: listas ampliables, tipo fijo y opciones existentes conservadas (11.259221ms)
✔ sistema operativo: plantilla con uso explícito, copia y ampliación sin sobrescribir definiciones (8.40179ms)
✔ iconos de recursos: todas las plantillas de serie tienen su icono y el arranque no repone los retirados (18.962003ms)
✔ iconos de recursos: cambiar y retirar el icono conserva identidad y asociaciones, con guardado idempotente (11.14542ms)
✔ iconos de recursos: claves desconocidas, cadenas vacías e iconos de campos se rechazan (7.788183ms)
✔ ámbito: pares válidos y rechazo runtime de propietarios contradictorios o ausentes (14.326653ms)
✔ ámbito: proyección preparada separada; HTTP local conserva exactamente su contrato (5.966463ms)
✔ ámbito: edición y propagación locales conservan propietario, UUID e historia; globales son solo lectura (2.87503ms)
✔ Resource: propaga altas, orden y retiradas conservando cero/falso, valores e historial; repetir no genera revisiones (29.87312ms)
✔ Resource: los campos retirados no impiden añadir una plantilla completa y no se fusionan por nombre (5.910163ms)
✔ Resource: retirar secciones conserva solo las necesarias y mover o reincorporar campos aplica el destino (0.721708ms)
✔ recursos: tipos, valores opcionales y obligatorios, cero/falso y campos desconocidos (11.846427ms)
✔ recurso: identidad estable, historial, desactivación e idempotencia (4.007143ms)
✔ buzón como recurso: correo válido, cuenta opcional, cambios auditados y tipo fijo (3.488938ms)
✔ secciones: nombres, identidades, referencias y un solo nivel (11.626625ms)
✔ secciones: igualdad, orden, identidad y persistencia JSON (6.419668ms)
✔ secciones: plantillas globales y locales conservan separación y UUID al editar (6.713372ms)
✔ secciones de serie: el arranque conserva una plantilla sin grupos y su disponibilidad (21.021825ms)
✔ especificación: secciones capturadas, edición posterior y obligatoriedad independiente (13.471245ms)
✔ lector legacy: roundtrip conserva UUID, revisiones, valores, actor, fecha y DTO sin columna scope (18.6734ms)
✔ lector: solo el adaptador legacy conocido interpreta ausencia; ningún ámbito inválido usa fallback (6.083365ms)
✔ proyecciones operativas: global sintético se rechaza antes de SQL, el recurso local sin integración no crea proyección (99.064659ms)
✔ escritor scoped: envía company explícito, preserva la salida legacy y rechaza global (1.365715ms)
✔ selección múltiple añade un lote sin duplicados y conserva las reglas y el orden existentes (4.082543ms)
✔ añadir desde una sección asigna solo los campos nuevos a su destino y conserva los existentes (1.319414ms)
✔ la selección respeta el límite del schema, valida identificadores y rechaza el conjunto vacío (2.85603ms)
✔ el listado reutiliza tabla, búsqueda y casillas traducidas y conserva las selecciones bloqueadas (108.042052ms)
✔ L04.2: campos de recursos recuperan orden y página sin heredar otra pestaña (167.398384ms)
✔ el catálogo muestra plantillas de serie y acción de alta sin formularios junto al listado (115.143825ms)
✔ los formularios tienen ayuda inferior y selección de campos en diálogo con alta rápida (50.526938ms)
✔ iconos de recursos: catálogo y selector traducido conservan la selección al editar y copiar (229.571942ms)
✔ catálogo global: lectura mínima y navegación traducidas, sin administración para ordinarios (36.045985ms)
✔ R2.4: mutación global invalida solo instalaciones cacheadas que usan su UUID (3.423236ms)
✔ R2.5: cambio global invalida configuraciones afectadas y preserva otras compañías (1.158612ms)
✔ SO global: lectura pública es/en conserva identidad estructurada y navegación propia (11.661124ms)
✔ SO global: invalida software y su catálogo sin refrescar aplicaciones ni perfiles (1.589217ms)
✔ columnas de características de recursos: identidad, campos nuevos de catálogo, instantáneas y nombres repetidos (23.45335ms)
✔ columnas elegidas es/en: cero, falso, fecha localizada, unidades y guion para campos ajenos (73.833287ms)
✔ los campos compartidos conservan un único ID y todos sus contextos de catálogo e instantánea (2.829631ms)
✔ columnas generales e integración es/en: notas, fechas, autores y referencias semánticas (31.745039ms)
✔ orden de recursos: aislamiento por compañía y pestaña, incluida Todo (16.513977ms)
✔ orden de recursos: una URL explícita prevalece sobre la preferencia sin sobrescribirla (1.108812ms)
✔ preferencias opcionales: datos inválidos y almacenamiento bloqueado no impiden listar (1.174612ms)
✔ cambiar pestaña limpia el orden y la paginación anteriores conservando la búsqueda (0.422305ms)
✔ la integración de buzón conserva su configuración explícita y no inventa referencias (3.047833ms)
✔ los valores iniciales toleran catálogo pendiente y limitan el nombre sin cambiar la entrada (1.86692ms)
✔ nombre propuesto: prioriza los identificadores de cada plantilla y limita su longitud (19.457508ms)
✔ nombre propuesto: contempla campos personalizados y descarta valores no identificativos (1.662218ms)
✔ paso de campos: exige valores obligatorios y acepta cero y respuestas negativas (0.523206ms)
✔ paso de campos: requiere la dirección de buzón aunque la plantilla la marque opcional (13.524045ms)
✔ recursos: listado con alta modal y sin formulario visible, en español e inglés (127.894465ms)
✔ Recursos: las pestañas incluyen plantillas vacías e inactivas y combinan identidad y búsqueda (421.335414ms)
✔ recurso: ayuda inferior, plantilla con alta rápida y sin asignaciones de recursos (17.78119ms)
✔ licencia: formulario reutilizable con campos opcionales y ayuda antes de guardar (32.084143ms)
✔ asistencia: alta de recurso con plantilla específica y características opcionales (6.850473ms)
✔ alta por pasos: solo muestra la plantilla inicialmente y traduce su navegación (14.455054ms)
✔ indicador de alta: conserva la plantilla elegida y explica el paso actual en ambos idiomas (12.246331ms)
✔ recursos: resumen de plantilla con unidades, booleanos traducidos, cero y límite de cuatro (24.829866ms)
✔ recursos: ficha lateral compacta traducida con cierre, acciones y contenido relacionado (18.940503ms)
✔ recursos: inventario y panel usan el icono vigente de la plantilla sin cambiar la especificación (23.082547ms)
✔ dominio: el formulario traduce el contexto pendiente y solo presenta un entorno confirmado (19.031704ms)
✔ SMB: formulario explica acceso automático o histórico sin selectores incompatibles, es/en (9.3907ms)
✔ campo declarativo: traduce opciones propias y conserva valores que coinciden con el prototipo (33.183154ms)
ℹ tests 124
ℹ suites 0
ℹ pass 124
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 5080.204188