- Añade `streamArchiveEntry` que devuelve un stream para entradas internas de ZIP/7z - Añade tests unitarios que mockean `child_process.spawn` (7z + unzip fallback) - Mantiene `listArchiveEntries` y documenta dependencia de binarios en CI
1.4 KiB
1.4 KiB
Phase 1 Complete: Contracto de ArchiveReader (list + stream)
TL;DR: Añadida streamArchiveEntry a archiveReader y tests unitarios que cubren streaming con 7z, fallback unzip -p y formato no soportado. Los tests unitarios específicos pasan y la implementación es mockeable.
Files created/changed:
- backend/src/services/archiveReader.ts
- backend/tests/services/archiveReader.stream.spec.ts
- backend/tests/services/archiveReader.spec.ts
Functions created/changed:
streamArchiveEntry(containerPath, entryPath)— nueva función que retorna unReadablecon el contenido de una entrada interna (onullpara formatos no soportados).listArchiveEntries(filePath)— sin cambios funcionales (pruebas de listado existentes siguen pasando).
Tests created/changed:
backend/tests/services/archiveReader.stream.spec.ts— tests unitarios parastreamArchiveEntry(7z success, unzip fallback, unsupported formats).backend/tests/services/archiveReader.spec.ts— tests de listado existentes (sin cambios funcionales relevantes).
Review Status: APPROVED with minor recommendations
Git Commit Message: feat: add streamArchiveEntry to archiveReader and tests
- Añade
streamArchiveEntryque devuelve un stream para entradas internas de ZIP/7z - Añade tests unitarios que mockean
child_process.spawn(7z + unzip fallback) - Mantiene
listArchiveEntriesy documenta dependencia de binarios en CI