tasks: заведены шесть задач из урожая ревью и переименования образца конфига
- пять из урожая change 2026-08-11-fix-http-handler-tests, тег review-2026-08-11; утечка имени файла в журнал поставлена первой строкой очереди - опечатка transcibe дописана в json-api-for-spa: текст ошибки — часть необратимого контракта, и в одиночку он не правится
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
# 🧹 Покрыть тестами разбор вывода 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` в проекте нет. Если такая проверка нужна, это своё
|
||||
решение и своя задача.
|
||||
|
||||
Reference in New Issue
Block a user