Files
quasar/plans/integrar-archive-entries-plan-phase-1-complete.md
Benito Rodríguez ab63361e66 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
2026-02-09 19:15:55 +01:00

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 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