- 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
29 lines
1.4 KiB
Markdown
29 lines
1.4 KiB
Markdown
## 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 un `Readable` con el contenido de una entrada interna (o `null` para 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 para `streamArchiveEntry` (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 `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
|