2.8 KiB
2.8 KiB
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/10PASS;python3 -m pytest tests/ -vv --tb=long—10/10PASS;py_compile—22Python-файла PASS;node --check—13JavaScript-файлов 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, не в приложении:
- Для in-process Flask pull не был задан
httpx.WSGITransport, поэтому backend получилConnection refused. - Следующий запуск передал несуществующий
session; API корректно вернул сценарийSession not foundвместо создания сессии. Новая сессия создаётся при отсутствии поляsession.
После исправления harness smoke-набор завершился strict_negative_smoke=PASS.
Итог
Релиз 0.2.2 прошёл полный автоматический, синтаксический, runtime и отрицательный security-тест. Код не изменялся, поэтому версию не повышали.