test: 补充表单上传端点单元测试 #123
Reference in New Issue
Block a user
Delete Branch "test/unit-tests-core-modules"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
变更内容
新增测试文件
修复
Annotated[Model, Form()]改为独立Form()参数,确保 FastAPI 正确解析 multipart/form-data测试覆盖场景
find_by_project而非list_by_project测试结果
所有测试通过,与现有
test_upload_routes.py和test_chunked_upload_routes.py测试风格保持一致。🤖 Generated with Claude Code
🔍 代码审查 — PR #123
结论:✅ 审查通过,可以合并。
变更分析
1.
upload.py路由签名重构(+2/-3)将
form_data: Annotated[UploadAssetRequest, Form()]改为独立的project_id/library_idForm 字段。✅ 合理改动。FastAPI 对 Pydantic Form 模型的支持有限,拆分为独立字段更可靠,且
min_length=1直接在框架层阻止空字符串。⚠️ 注意:这是破坏性变更,前端如有调用此端点需确认已适配新参数格式(直接发
project_id和library_id表单字段,而非嵌套 JSON)。2.
test_form_upload_routes.py(+650 行,24 用例)代码质量评价
StubAssetLibraryRepository.list_by_project()故意抛AssertionError,与 PR #122 保持一致,防止回归dependency_overrides标准 FastAPI 测试模式storage_key、ingest_job_id、url等响应字段../../../etc/passwd)测试是亮点P2 建议(不阻塞合并)
upload.py签名从 Pydantic Form 改为独立字段,需确认前端AssetLibrary.tsx的uploadAsset函数已适配审查结论:✅ 通过,24 个测试全部有意义,代码质量与 PR #122 保持一致。建议合并。