Files
upload-platform/HISTORY/2026-09-06-release-0.2.2-hard-test.md

56 lines
2.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 2026-09-06: жёсткий полный тест релиза 0.2.2
## Объём проверки
Проверен опубликованный релиз `0.2.2`, commit `df0576a` на `origin/master`.
- frontend build;
- весь Node test suite;
- весь Python test suite с `-vv --tb=long`;
- синтаксис всех исходных Python и JavaScript файлов;
- runtime запуск Flask;
- HTTP endpoints и раздача собранных бандлов;
- отрицательные API-сценарии безопасности и целостности транзита.
## Результаты
- `npm run build` — PASS;
- `npm test``10/10` PASS;
- `python3 -m pytest tests/ -vv --tb=long``10/10` PASS;
- `py_compile``22` Python-файла PASS;
- `node --check``13` JavaScript-файлов PASS;
- `git diff --check` — PASS;
- `/health` — HTTP 200, тело `ok`;
- `/` — HTTP 200;
- `/file-picker/file-picker.esm.js` — HTTP 200;
- `/file-picker/file-picker.iife.js` — HTTP 200;
- `/upload-frontend/index.js` — HTTP 200;
- Flask слушает `0.0.0.0:5000`.
## Отрицательные сценарии
Отдельный smoke-набор подтвердил:
- пустой `upload_refs` возвращает HTTP 400;
- malformed JSON возвращает HTTP 400;
- traversal-имя не попадает в сессию и не удаляет файл из буфера;
- SSRF URL вне разрешённого prefix пропускается без pull;
- валидный файл создаёт новую RAM-сессию;
- файл переносится в RAM;
- callback Layer 3 вызывается;
- файл удаляется из mock buffer после успешного pull;
- повторное чтение удалённого файла возвращает 404.
## Исправления harness во время проверки
Два первых запуска расширенного smoke-набора остановились в тестовом harness, не в приложении:
1. Для in-process Flask pull не был задан `httpx.WSGITransport`, поэтому backend получил `Connection refused`.
2. Следующий запуск передал несуществующий `session`; API корректно вернул сценарий `Session not found` вместо создания сессии. Новая сессия создаётся при отсутствии поля `session`.
После исправления harness smoke-набор завершился `strict_negative_smoke=PASS`.
## Итог
Релиз `0.2.2` прошёл полный автоматический, синтаксический, runtime и отрицательный security-тест. Код не изменялся, поэтому версию не повышали.