# 🧹 Покрыть тестами разбор вывода ffprobe - **Тип:** chore - **Категория:** Очередь - **Зачем:** Проверки приёма перестали звать настоящий ffprobe 2026-08-11, а своего теста у адаптера метаданных нет: разбор JSON и отличие «программы нет в PATH» от «обработка отказала» не проверяет ничто. - **Теги:** review-2026-08-11 До 2026-08-11 настоящий `ffprobe` звали проверки приёма — правда, звали так, что он всегда отказывал, то есть проверяли отказ и выдавали его за успех. Теперь приём получает длительность от подставного источника, а у самого адаптера своего теста нет: разбор JSON, перевод длительности из строки в секунды и отличие «программы нет в `PATH`» от «обработка отказала» не проверяет ничто. Решение и его цена записаны в [ADR-2026-08-11-stub-adapters-in-tests](../../docs/adr/ADR-2026-08-11-stub-adapters-in-tests.md); дыра названа в [review.md](../../docs/review.md), «Перестали проверять сознательно». ## Затрагивает - `internal/adapter/metaviewer/ffmpeg` — новый тестовый файл. ## Критерии приёмки - Разбор годного вывода `ffprobe` проверен без запуска самой программы: длина в секундах получается из заданного JSON. Оракул — тест на подставленном выводе. - Отсутствие программы в `PATH` даёт отличимую ошибку, а не ту же, что отказ обработки. Оракул — прогон с `PATH`, не содержащим `ffprobe`: текст ошибки называет именно ненайденную программу. - Вырожденный вывод — пустой, без поля длительности, с нечисловой строкой — не превращается в нулевую длительность молча. Оракул — тест на трёх таких входах, каждый даёт ошибку. ## Рамки Проверка на настоящей записи здесь не заводится: она требует файла в репозитории, а `testdata` в проекте нет. Если такая проверка нужна, это своё решение и своя задача.