diff --git a/HISTORY/2026-09-06-hardening-tests-result.md b/HISTORY/2026-09-06-hardening-tests-result.md new file mode 100644 index 0000000..89cec24 --- /dev/null +++ b/HISTORY/2026-09-06-hardening-tests-result.md @@ -0,0 +1,39 @@ +# 2026-09-06: результат дополнительных hardening-тестов + +## Добавленные тесты + +Backend: + +- точное достижение `MAX_SESSION_BYTES` и отказ при переполнении; +- отказ при фактическом размере файла больше `MAX_FILE_BYTES`, даже если заявленный размер допустим; +- обязательное удаление oversize-файла из буфера; +- retry pull после временного HTTP `503`; +- удаление файла после успешного pull; +- автоматическое удаление RAM-сессии по короткому TTL. + +Frontend: + +- отмена после первого успешно доставленного файла; +- подтверждение, что второй `PUT` не начинается; +- подтверждение частичного результата и `aborted: true`; +- проверка callback статуса доставленного первого файла. + +## Результаты + +- hardening backend: `4/4` PASS; +- полный Node suite: `11/11` PASS; +- полный Python suite: `14/14` PASS; +- syntax sweep: `22` Python-файла и `13` JavaScript-файлов PASS; +- frontend build: PASS; +- runtime `/health`: `ok`; +- runtime `/`: HTTP 200, `10035` байт; +- `git diff --check`: PASS. + +## Исправленные ошибки тестового harness + +- Для backend pull использован корректный `httpx.WSGITransport`. +- Конфигурационный ключ лимита приведён к API-формату `maxFileBytes`. +- Timing partial-cancel теста синхронизирован с первым `PUT`. +- Assertion статуса приведён к фактическому callback-тексту `✓ Доставлен`. + +Production-код не изменялся, поэтому версия остаётся `0.2.2`.