http: тесты приёма переписаны на подставные адаптеры

- проверки больше не зовут ffprobe и не меняют рабочий каталог процесса;
  добавлены случаи на отказ чтения метаданных и на отсутствие поля audio
- заведена спека intake на приём по HTTP, ADR о подставных адаптерах,
  запись в журнал ревью о проверке, которая не могла упасть
- go test снят из объявленных долгов CLAUDE.md, послабление errcheck
  для _test.go в .golangci.yml убрано
This commit is contained in:
av
2026-08-11 08:35:11 +03:00
parent bb973b0a68
commit 6c04c801c9
14 changed files with 1175 additions and 205 deletions
+6 -6
View File
@@ -93,12 +93,8 @@ task gate # весь набор проверок разом
- покрытие изменённых строк не считается ничем.
**Гейт на `master` сегодня красный, и это объявленный долг, а не поломка дня.**
Два известных отказа:
Известный отказ один:
- `go test ./...` падает в `internal/controller/http`: тесты требуют
`testdata/sample.m4a`, которого в репозитории нет и не было (`*.m4a` стоит в
`.gitignore`), а остальные скармливают строку `test audio content` реальному
`ffprobe` и ждут 201. Заведено задачей `http-handler-tests-never-green`;
- `golangci-lint run` даёт 4 замечания в существующем коде: два непроверенных
`Close` (`adapter/recognizer/yandex/speechkit.go:55`, `main.go:124`) и два
сравнения ошибок приведением типа (`controller/worker/worker.go:51`,
@@ -106,9 +102,13 @@ task gate # весь набор проверок разом
[docs/conventions/errors.md](docs/conventions/errors.md), заведён задачей
`errors-as-instead-of-typecast`.
Новые отказы отличай от этих. Пока они живы, «зелёный гейт» в определении
Новые отказы отличай от этого. Пока он жив, «зелёный гейт» в определении
сделанного означает «не добавилось ничего сверх перечисленного».
**`go test ./...` больше долгом не считается.** Тесты приёма по HTTP чинены
задачей `http-handler-tests-never-green`; красный `go test` теперь означает
поломку, и списывать его на наследство нельзя.
## Запреты
- **Рабочую БД не трогать.** `data/transcriber.db` на сервере и его копии.