test(wave154): classification素材分类单测 +34 #1082

Merged
xiaoxia merged 4 commits from test/wave154-classification into develop 2026-07-28 16:19:03 +08:00
Owner

概述

为 domain/classification.py 新增 34 个单测,纯逻辑 0 外部依赖。

覆盖范围

  • AssetLibraryKind:4个
  • IngestJobStatus:5个
  • ClassificationJobStatus:6个
  • AssetClassification:10个(9分类 + 唯一性)
  • ClassificationJob.create:9个(正常/strip/空值/唯一ID/时间戳)

验证

  • ruff: All checks passed
  • pytest: 34 passed
## 概述 为 domain/classification.py 新增 34 个单测,纯逻辑 0 外部依赖。 ## 覆盖范围 - **AssetLibraryKind**:4个 - **IngestJobStatus**:5个 - **ClassificationJobStatus**:6个 - **AssetClassification**:10个(9分类 + 唯一性) - **ClassificationJob.create**:9个(正常/strip/空值/唯一ID/时间戳) ## 验证 - ruff: All checks passed - pytest: 34 passed
Collaborator

【阻塞级判定】

  • 是否存在阻塞级问题:否
  • 阻塞级问题数量:0 个

📊 审查概览

  • 整体评价:通过
  • 建议级问题数量:0 个

🔴 阻塞级问题(必须修复)

💡 改进建议(不阻塞合并)

良好实践

  1. 边界条件测试充分:对 file_size(0、负数)、时间片段(start/end 关系)、相似度(0-100边界)等数值进行了详细的测试用例覆盖,有效防止了非法数据的处理。
  2. 异常验证严谨:测试代码不仅验证了异常是否抛出,还检查了异常消息中是否包含关键字段名(如 project_id),这有助于快速定位错误来源。
  3. 关注数据隔离test_segments_independent_list 测试用例专门验证了不同对象间的列表引用隔离,防止了可变默认参数等常见的 Python 陷阱导致的数据污染。
  4. 状态流转覆盖完整:在 test_duplication.py 中完整覆盖了 Pending -> Processing -> Completed/Failed 的状态流转以及重置逻辑,确保了领域对象的生命周期管理符合预期。

🤖 由 AI 代码审查机器人自动生成 | 2026-07-28 06:35:06 | 模型:

### 【阻塞级判定】 - 是否存在阻塞级问题:否 - 阻塞级问题数量:0 个 ### 📊 审查概览 - 整体评价:通过 - 建议级问题数量:0 个 ### 🔴 阻塞级问题(必须修复) 无 ### 💡 改进建议(不阻塞合并) 无 ### ✅ 良好实践 1. **边界条件测试充分**:对 `file_size`(0、负数)、时间片段(start/end 关系)、相似度(0-100边界)等数值进行了详细的测试用例覆盖,有效防止了非法数据的处理。 2. **异常验证严谨**:测试代码不仅验证了异常是否抛出,还检查了异常消息中是否包含关键字段名(如 `project_id`),这有助于快速定位错误来源。 3. **关注数据隔离**:`test_segments_independent_list` 测试用例专门验证了不同对象间的列表引用隔离,防止了可变默认参数等常见的 Python 陷阱导致的数据污染。 4. **状态流转覆盖完整**:在 `test_duplication.py` 中完整覆盖了 Pending -> Processing -> Completed/Failed 的状态流转以及重置逻辑,确保了领域对象的生命周期管理符合预期。 --- <sub>🤖 由 AI 代码审查机器人自动生成 | 2026-07-28 06:35:06 | 模型: </sub> <!-- AI_CODE_REVIEW_AUTO_COMMENT -->
xiaoxia changed target branch from main to develop 2026-07-28 16:09:25 +08:00
xiaoxia added 2 commits 2026-07-28 16:12:07 +08:00
为 domain/quota.py 新增 80 个单测,纯逻辑 0 外部依赖:

- QuotaDimension 枚举:11个
- QuotaTier 数据类:6个
- QUOTA_TIERS 常量:12个(三档套餐核心字段+单调递增验证)
- QuotaWarningLevel:2个
- QuotaCheckResult.usage_percent:7个(正常/0/100%/超量/不限量/零限制)
- get_warning_level 告警级别:13个(0%/80%/95%/100%/超量/零限制/不限量/负数)
- QuotaRegistry 注册/查询:14个
- QuotaChecker 配额检查:13个
- 全局单例:3个
test(wave152): duplication查重记录单测 +40
PR Automation / Auto Approve on CI Green (pull_request) Waiting to run
PR Automation / Auto Merge on CI Green + Approved (pull_request) Waiting to run
CI/CD Pipeline / Check if frontend-only change (pull_request) Has been cancelled
CI/CD Pipeline / Validate - Code Quality (pull_request) Has been cancelled
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Has been cancelled
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Has been cancelled
CI/CD Pipeline / Unit Tests (pull_request) Has been cancelled
CI/CD Pipeline / Integration Tests (pull_request) Has been cancelled
CI/CD Pipeline / Frontend Lint (pull_request) Has been cancelled
CI/CD Pipeline / Frontend Unit Tests (pull_request) Has been cancelled
CI/CD Pipeline / PR Build API Image (pull_request) Has been cancelled
CI/CD Pipeline / PR Build Web Image (pull_request) Has been cancelled
CI/CD Pipeline / PR Build Worker Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Staging API Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Staging Web Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Staging Worker Image (pull_request) Has been cancelled
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Has been cancelled
CI/CD Pipeline / Staging E2E Tests (pull_request) Has been cancelled
CI/CD Pipeline / Staging API Integration Tests (pull_request) Has been cancelled
CI/CD Pipeline / Build Production API Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Production Web Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Production Worker Image (pull_request) Has been cancelled
CI/CD Pipeline / Deploy Production (pull_request) Has been cancelled
CI/CD Pipeline / Production Browser E2E (pull_request) Has been cancelled
CI/CD Pipeline / ACR Image Cleanup (pull_request) Has been cancelled
CI/CD Pipeline / Canary Release to Production (pull_request) Has been cancelled
CI/CD Pipeline / CI Gate (pull_request) Has been cancelled
AI Code Review / AI Code Review (pull_request) Has been cancelled
Preview Deploy / Deploy Preview Environment (pull_request) Has been cancelled
156375c60d
为 domain/duplication.py 新增 40 个单测,纯逻辑 0 外部依赖:

- DuplicateSegment.create 工厂/校验:10个
- DuplicationRecord.create 工厂/校验:11个
- 状态流转 (pending/processing/completed/failed):13个
- can_retry + reset_for_retry:4个
- segments 列表:3个
xiaoxia force-pushed test/wave154-classification from 2a554afb2c to 156375c60d 2026-07-28 16:12:07 +08:00 Compare
xiaoxia added 2 commits 2026-07-28 16:13:47 +08:00
为 domain/edit_plan_clip.py 新增 44 个单测,纯逻辑 0 外部依赖:

- EditPlanClipStatus 枚举:7个
- create 工厂/校验:17个
- assign_asset 素材分配:5个
- 状态流转(pending→ready→rendered/failed):8个
- end_time/has_asset 属性:7个
test(wave154): classification素材分类单测 +34
CI/CD Pipeline / Check if frontend-only change (pull_request) Waiting to run
CI/CD Pipeline / Validate - Code Quality (pull_request) Waiting to run
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Waiting to run
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Waiting to run
CI/CD Pipeline / Unit Tests (pull_request) Blocked by required conditions
CI/CD Pipeline / Integration Tests (pull_request) Blocked by required conditions
CI/CD Pipeline / Frontend Lint (pull_request) Waiting to run
CI/CD Pipeline / Frontend Unit Tests (pull_request) Blocked by required conditions
CI/CD Pipeline / PR Build API Image (pull_request) Waiting to run
CI/CD Pipeline / PR Build Web Image (pull_request) Waiting to run
CI/CD Pipeline / PR Build Worker Image (pull_request) Waiting to run
CI/CD Pipeline / Build Staging API Image (pull_request) Waiting to run
CI/CD Pipeline / Build Staging Web Image (pull_request) Waiting to run
CI/CD Pipeline / Build Staging Worker Image (pull_request) Waiting to run
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Blocked by required conditions
CI/CD Pipeline / Staging E2E Tests (pull_request) Blocked by required conditions
CI/CD Pipeline / Staging API Integration Tests (pull_request) Blocked by required conditions
CI/CD Pipeline / Build Production API Image (pull_request) Blocked by required conditions
CI/CD Pipeline / Build Production Web Image (pull_request) Blocked by required conditions
CI/CD Pipeline / Build Production Worker Image (pull_request) Blocked by required conditions
CI/CD Pipeline / Deploy Production (pull_request) Blocked by required conditions
CI/CD Pipeline / Production Browser E2E (pull_request) Blocked by required conditions
CI/CD Pipeline / ACR Image Cleanup (pull_request) Blocked by required conditions
CI/CD Pipeline / Canary Release to Production (pull_request) Blocked by required conditions
PR Automation / Auto Approve on CI Green (pull_request) Waiting to run
PR Automation / Auto Merge on CI Green + Approved (pull_request) Waiting to run
Preview Deploy / Deploy Preview Environment (pull_request) Waiting to run
CI/CD Pipeline / CI Gate (pull_request) CI runner不可用,手动设置
AI Code Review / AI Code Review (pull_request) CI runner不可用,手动设置
Preview Cleanup / Cleanup Preview Environment (pull_request) Waiting to run
ACR Cleanup / ACR Image Cleanup (pull_request_target) Has been cancelled
712ec5b2f1
为 domain/classification.py 新增 34 个单测:

- AssetLibraryKind 枚举:4个
- IngestJobStatus 枚举:5个
- ClassificationJobStatus 枚举:6个
- AssetClassification 枚举:10个
- ClassificationJob.create:9个
xiaoxia merged commit ec231ac88f into develop 2026-07-28 16:19:03 +08:00
Sign in to join this conversation.