test(wave204): text_splitter + pagination 单测补全 +37测 #1171

Merged
xiaoxia merged 8 commits from test/wave204-text-splitter-pagination into develop 2026-07-30 00:26:00 +08:00
Owner

变更内容

补全 application 层两个纯逻辑模块单元测试,新增37个测试用例。

text_splitter (packages/application/tts_job/text_splitter.py) +15测

长文本分段工具,用于TTS长文本分段合成:

  • 空文本/空白文本处理
  • 短文本单段返回
  • 精确max_chars边界
  • 句子边界智能分段(句号/问号/感叹号/换行)
  • 超长句硬切断
  • 短句合并优化(<50字合并)
  • 内容完整性验证
  • 多种标点符号支持
  • 自定义最大长度

pagination (packages/application/common/pagination.py) +22测

通用分页器(Pydantic模型):

  • PaginationParams: 默认值/自定义/offset计算/limit属性/边界校验
  • PaginationMeta: 首页/末页/中间页/单页/0数据/精确页数
  • PaginatedResponse: create工厂方法
  • paginate函数: 首页/末页/单页/空列表/越界/大页尺寸

测试数据

  • 新增测试: 37个
  • 测试通过率: 100%
  • 全部为纯函数/纯模型单元测试,无外部依赖
## 变更内容 补全 application 层两个纯逻辑模块单元测试,新增37个测试用例。 ### text_splitter (packages/application/tts_job/text_splitter.py) +15测 长文本分段工具,用于TTS长文本分段合成: - 空文本/空白文本处理 - 短文本单段返回 - 精确max_chars边界 - 句子边界智能分段(句号/问号/感叹号/换行) - 超长句硬切断 - 短句合并优化(<50字合并) - 内容完整性验证 - 多种标点符号支持 - 自定义最大长度 ### pagination (packages/application/common/pagination.py) +22测 通用分页器(Pydantic模型): - PaginationParams: 默认值/自定义/offset计算/limit属性/边界校验 - PaginationMeta: 首页/末页/中间页/单页/0数据/精确页数 - PaginatedResponse: create工厂方法 - paginate函数: 首页/末页/单页/空列表/越界/大页尺寸 ## 测试数据 - 新增测试: **37个** - 测试通过率: 100% - 全部为纯函数/纯模型单元测试,无外部依赖

🚀 预览环境已部署

项目 详情
PR号 #1171
预览链接 https://pr-1171.preview.xiaoxiajianji.com
API环境 staging

💡 预览环境使用 staging API 数据,请勿在预览环境中操作重要数据。

🔄 每次提交新代码后预览环境会自动更新。

🗑️ PR 关闭或合并后,预览环境会自动清理。

🚀 **预览环境已部署** | 项目 | 详情 | |------|------| | PR号 | #1171 | | 预览链接 | [https://pr-1171.preview.xiaoxiajianji.com](https://pr-1171.preview.xiaoxiajianji.com) | | API环境 | staging | > 💡 预览环境使用 staging API 数据,请勿在预览环境中操作重要数据。 > > 🔄 每次提交新代码后预览环境会自动更新。 > > 🗑️ PR 关闭或合并后,预览环境会自动清理。
Collaborator

代码审查结果 - PR #1171

⚠️ 问题(1个需要修改)

  1. .env.production.example 数据库连接串配置不一致
    • .env.example 中使用了明确的驱动前缀 postgresql+psycopg://,而 .env.production.example 中使用的是 postgresql://
    • 在 SQLAlchemy 中,postgresql:// 会自动选择驱动(通常是 psycopg2),而 postgresql+psycopg:// 强制使用 psycopg3。如果项目已迁移到 psycopg3,生产环境配置可能会意外回退到旧驱动或导致连接行为不一致(如异步支持、性能特征不同)。建议保持驱动前缀的一致性。

💡 建议(3个可选)

  1. .gitea/workflows/acr-cleanup.yml 移除硬编码的 IP 地址

    • 第 86 行 staging_host="${STAGING_SSH_HOST:-47.98.113.167}" 中硬编码了 Staging 服务器的 IP 地址。虽然作为 fallback 是方便的,但将基础设施 IP 明文写入代码仓库存在信息泄露风险。建议移除 fallback,强制要求配置 Secret,或者使用占位符并在缺失时报错。
  2. 代码逻辑需适配配置变更

    • .env.exampleCOSYVOICE_BASE_URLCORS_ORIGINS_RAW 的格式发生了显著变化(URL 路径缩短、CORS 改为逗号分隔字符串)。请务必确认代码中读取这些配置的逻辑已同步更新,否则会导致 API 调用 404 或跨域配置失效。
  3. .gitea/workflows/acr-cleanup.yml 并发组策略

    • 第 11-13 行配置了 concurrency,组名为 acr-cleanup-${{ gitea.ref }}。在 pull_request_target 事件中,gitea.ref 是目标分支(如 main)。这意味着所有合并到 main 的 PR 触发的清理任务都会串行执行(因为 cancel-in-progress: false)。虽然安全,但如果短时间内有大量 PR 关闭,清理可能会排队很久。建议评估是否需要支持并行清理。

格式检查通过 | 逻辑审查需修改 | 性能无明显问题


🤖 由 AI 代码审查机器人自动生成 | 2026-07-29 15:05:56 | 模型:

## 代码审查结果 - PR #1171 ### ⚠️ 问题(1个需要修改) 1. **.env.production.example 数据库连接串配置不一致** - `.env.example` 中使用了明确的驱动前缀 `postgresql+psycopg://`,而 `.env.production.example` 中使用的是 `postgresql://`。 - 在 SQLAlchemy 中,`postgresql://` 会自动选择驱动(通常是 psycopg2),而 `postgresql+psycopg://` 强制使用 psycopg3。如果项目已迁移到 psycopg3,生产环境配置可能会意外回退到旧驱动或导致连接行为不一致(如异步支持、性能特征不同)。建议保持驱动前缀的一致性。 ### 💡 建议(3个可选) 1. **.gitea/workflows/acr-cleanup.yml 移除硬编码的 IP 地址** - 第 86 行 `staging_host="${STAGING_SSH_HOST:-47.98.113.167}"` 中硬编码了 Staging 服务器的 IP 地址。虽然作为 fallback 是方便的,但将基础设施 IP 明文写入代码仓库存在信息泄露风险。建议移除 fallback,强制要求配置 Secret,或者使用占位符并在缺失时报错。 2. **代码逻辑需适配配置变更** - `.env.example` 中 `COSYVOICE_BASE_URL` 和 `CORS_ORIGINS_RAW` 的格式发生了显著变化(URL 路径缩短、CORS 改为逗号分隔字符串)。请务必确认代码中读取这些配置的逻辑已同步更新,否则会导致 API 调用 404 或跨域配置失效。 3. **.gitea/workflows/acr-cleanup.yml 并发组策略** - 第 11-13 行配置了 `concurrency`,组名为 `acr-cleanup-${{ gitea.ref }}`。在 `pull_request_target` 事件中,`gitea.ref` 是目标分支(如 `main`)。这意味着所有合并到 main 的 PR 触发的清理任务都会串行执行(因为 cancel-in-progress: false)。虽然安全,但如果短时间内有大量 PR 关闭,清理可能会排队很久。建议评估是否需要支持并行清理。 --- ✅ 格式检查通过 | ❌ 逻辑审查需修改 | ✅ 性能无明显问题 --- <sub>🤖 由 AI 代码审查机器人自动生成 | 2026-07-29 15:05:56 | 模型: </sub> <!-- AI_CODE_REVIEW_AUTO_COMMENT -->
xiaoxia changed target branch from main to develop 2026-07-30 00:08:02 +08:00
xiaoxia added 8 commits 2026-07-30 00:08:02 +08:00
test(shared): add wave198 ai_service unit tests (+41)
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 12s
CI/CD Pipeline / Build Staging API Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Successful in 1m55s
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Successful in 1m58s
CI/CD Pipeline / Validate - Code Quality (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 / 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
PR Automation / Auto Approve on CI Green (pull_request) Has been cancelled
PR Automation / Auto Merge on CI Green + Approved (pull_request) Has been cancelled
Preview Deploy / Deploy Preview Environment (pull_request) Has been cancelled
cb85b33ee9
Add comprehensive unit tests for shared.ai_service pure logic:
- _parse_recommend_response (27 tests): basic parsing, clips handling,
  field validation/boundaries, markdown code blocks, confidence clamping,
  config deep copy, total duration calculation
- _fallback_recommend_clips (10 tests): structure, intro/outro,
  showcase count, no assets, asset assignment, title/duration/order
- _call_ai_cover_service (4 tests): upload/manual/ai_frame types,
  frame_time range validation
test(wave199): sticker_engine_pure 单测补全 +141测
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 46s
CI/CD Pipeline / Build Staging API Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Worker Image (pull_request) Has been skipped
PR Automation / Auto Merge on CI Green + Approved (pull_request) Has been skipped
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Successful in 1m39s
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Successful in 1m22s
CI/CD Pipeline / Frontend Lint (pull_request) Has been skipped
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 50s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Has been skipped
CI/CD Pipeline / PR Build Web Image (pull_request) Has been skipped
CI/CD Pipeline / Validate - Code Quality (pull_request) Failing after 2m29s
CI/CD Pipeline / Unit Tests (pull_request) Has been cancelled
CI/CD Pipeline / Integration Tests (pull_request) Has been cancelled
CI/CD Pipeline / PR Build API Image (pull_request) Has been cancelled
CI/CD Pipeline / PR Build 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
PR Automation / Auto Approve on CI Green (pull_request) Has been cancelled
d92ff7aa36
补全贴纸引擎纯逻辑模块单元测试,覆盖23个纯函数:
- 安全类型转换: safe_float/safe_int/safe_bool
- 尺寸估算: estimate_sticker_size/estimate_text_size
- 时间计算: calculate_fade_out_start/calculate_end_time/has_time_range
- 滤镜构建: build_scale_filter/build_opacity_filter/build_image_fade_filters
- drawtext相关: escape_drawtext_text/build_drawtext_alpha_expr/build_stroke_params/build_shadow_params
- 贴纸管理: sort_stickers_by_z_index/filter_enabled_stickers/count_sticker_types
- overlay相关: build_overlay_position/build_pre_filter_label
- 验证函数: validate_image_sticker/validate_text_sticker
- enable表达式: build_enable_expr

141个测试全部通过。
test(wave200): pip_engine_pure 单测补全 +86测
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 36s
CI/CD Pipeline / Build Staging API Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Worker Image (pull_request) Has been skipped
PR Automation / Auto Merge on CI Green + Approved (pull_request) Has been skipped
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Successful in 1m7s
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Successful in 1m21s
CI/CD Pipeline / Validate - Code Quality (pull_request) Failing after 2m10s
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 / 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
PR Automation / Auto Approve on CI Green (pull_request) Has been cancelled
Preview Deploy / Deploy Preview Environment (pull_request) Has been cancelled
cafe063859
补全画中画引擎纯逻辑模块单元测试,覆盖10个函数:
- compute_pip_size: 尺寸计算与钳制
- compute_pip_position: 位置计算与边界钳制
- build_pip_pre_filter: 预处理滤镜链(scale/圆角/边框/透明度/动画)
- build_animation_filters: fade类入场出场动画
- build_overlay_expr: overlay位置表达式(4方向滑入滑出)
- build_enable_expr: 时间控制表达式
- build_pip_filters: 完整滤镜链编排
- validate_pip_layer: 配置验证(12项校验)
- count_visible_layers: 可见图层统计
- sort_layers_by_z_index: z-index排序

86个测试全部通过。
test(wave201): concat_engine_pure 单测补全 +85测
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 23s
CI/CD Pipeline / Build Staging API Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Worker Image (pull_request) Has been skipped
PR Automation / Auto Merge on CI Green + Approved (pull_request) Has been skipped
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Successful in 1m24s
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Successful in 1m10s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 1m16s
CI/CD Pipeline / Validate - Code Quality (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 / 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
PR Automation / Auto Approve on CI Green (pull_request) Has been cancelled
90f703e49e
补全视频拼接引擎纯逻辑模块单元测试,覆盖15个纯函数:
- parse_fps: 帧率解析(数字/分数/字符串)
- format_fps_filter: fps滤镜格式化
- resolve_output_params: 输出参数解析(配置→探测→默认三级优先级)
- calculate_scaled_size: 等比缩放+填充偏移计算
- can_use_stream_copy: stream copy可行性判断
- generate_concat_file_list: concat demuxer文件列表生成
- build_scale_pad_filter: scale+pad滤镜构建
- build_fps_filter: fps滤镜构建
- build_setpts_filter: setpts滤镜构建
- build_concat_filter: concat滤镜构建
- build_single_segment_filter_chain: 单段视频预处理滤镜链
- validate_concat_config: 拼接配置验证
- validate_video_path: 视频路径安全验证
- estimate_total_duration: 总时长估算
- count_valid_segments: 有效段统计

85个测试全部通过。
test(wave202): multi_track_mixer_pure 单测补全 +103测
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 28s
CI/CD Pipeline / Build Staging API Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Worker Image (pull_request) Has been skipped
PR Automation / Auto Merge on CI Green + Approved (pull_request) Has been skipped
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Successful in 1m33s
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Successful in 1m9s
CI/CD Pipeline / Validate - Code Quality (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 / 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
PR Automation / Auto Approve on CI Green (pull_request) Has been cancelled
Preview Deploy / Deploy Preview Environment (pull_request) Has been cancelled
c5933e865a
补全多轨混音纯逻辑模块单元测试,覆盖18个纯函数:
- calculate_effective_range: 有效时间范围计算(截断/偏移/边界)
- is_track_visible: 轨道可见性判断
- build_track_filter_chain: 单轨完整滤镜链(8道工序)
- build_amix_filter: amix混音滤镜构建
- calculate_amix_volume_compensation: 音量补偿系数
- build_mix_filter_complex: 完整混音filter_complex
- normalize_volume: 音量规范化(0~2钳制)
- db_to_linear / linear_to_db: dB线性转换
- sort_tracks_by_priority: 优先级排序
- filter_enabled_tracks: 启用过滤
- count_track_types: 类型统计
- validate_audio_track: 单轨配置验证(8项规则)
- validate_mix_config: 混音配置验证
- calculate_total_tracks: 总轨道数计算
- estimate_mix_duration: 混音总时长估算

103个测试全部通过。
test(wave203): bgm_mixer_pure 单测补全 +88测
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 21s
CI/CD Pipeline / Build Staging API Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Worker Image (pull_request) Has been skipped
PR Automation / Auto Merge on CI Green + Approved (pull_request) Has been skipped
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Successful in 1m13s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 1m1s
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Successful in 1m18s
CI/CD Pipeline / Validate - Code Quality (pull_request) Failing after 1m51s
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 / 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
PR Automation / Auto Approve on CI Green (pull_request) Has been cancelled
ad0a559035
补全BGM混音纯逻辑模块单元测试,覆盖11个纯函数+1个dataclass:
- BGMPureConfig: 默认配置数据类
- should_loop_bgm: 循环判断(90%阈值策略)
- calculate_loop_count: 循环次数计算(+2次余量)
- build_bgm_filter_chain: BGM预处理完整滤镜链
- calculate_sidechain_ratio: sidechain压缩比映射
- build_simple_mix_filter: 普通amix混音滤镜
- build_sidechain_mix_filter: sidechain人声闪避混音滤镜
- normalize_bgm_config: 配置规范化(类型转换+边界钳制)
- validate_bgm_config: 配置验证(4类参数校验)
- calculate_fade_out_start: 淡出开始时间计算
- estimate_bgm_processing_duration: 输出时长估算

88个测试全部通过。
test(wave204): text_splitter + pagination 单测补全 +37测
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 24s
CI/CD Pipeline / Build Staging API Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Successful in 1m20s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Has been skipped
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Successful in 1m30s
CI/CD Pipeline / Validate - Code Quality (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 / 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
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 43s
AI Code Review / AI Code Review (pull_request) Has been cancelled
PR Automation / Auto Approve on CI Green (pull_request) Has been cancelled
e175f60bef
补全application层两个纯逻辑模块单元测试:

**packages/application/tts_job/text_splitter.py (+15测)**
- 空文本/空白文本处理
- 短文本不分段
- 句子边界分段(90%阈值策略)
- 长句硬切断
- 短句合并优化
- 内容完整性验证
- 多种标点符号支持
- 自定义最大长度

**packages/application/common/pagination.py (+22测)**
- PaginationParams: 默认值/自定义/offset计算/limit属性/边界校验
- PaginationMeta: 首页/末页/中间页/单页/0条数据
- PaginatedResponse: create工厂方法
- paginate函数: 首页/末页/单页/空列表/越界/大页

37个测试全部通过。
style: auto-format with black + isort + prettier [skip ci-format-check]
CI/CD Pipeline / Build Staging API Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Worker Image (pull_request) Has been skipped
PR Automation / Auto Merge on CI Green + Approved (pull_request) Has been skipped
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 28s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 1m15s
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Successful in 1m45s
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Successful in 1m56s
AI Code Review / AI Code Review (pull_request) Successful in 2m34s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 3m45s
CI/CD Pipeline / Validate - Code Quality (pull_request) Successful in 4m51s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Has been skipped
CI/CD Pipeline / Frontend Lint (pull_request) Has been skipped
CI/CD Pipeline / Frontend Unit Tests (pull_request) Has been skipped
CI/CD Pipeline / PR Build Web Image (pull_request) Has been skipped
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 2m26s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 2m25s
CI/CD Pipeline / Staging E2E Tests (pull_request) Has been skipped
CI/CD Pipeline / Staging API Integration Tests (pull_request) Has been skipped
CI/CD Pipeline / ACR Image Cleanup (pull_request) Has been skipped
CI/CD Pipeline / Integration Tests (pull_request) Successful in 3m51s
CI/CD Pipeline / Unit Tests (pull_request) Successful in 7m47s
CI/CD Pipeline / Build Production API Image (pull_request) Has been skipped
CI/CD Pipeline / Build Production Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Production Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Deploy Production (pull_request) Has been skipped
CI/CD Pipeline / Canary Release to Production (pull_request) Has been skipped
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
CI/CD Pipeline / CI Gate (pull_request) Successful in 5s
ACR Cleanup / ACR Image Cleanup (pull_request_target) Has been cancelled
Preview Cleanup / Cleanup Preview Environment (pull_request) Successful in 41s
01204795d0
xiaoxia merged commit de201436ea into develop 2026-07-30 00:26:00 +08:00

🗑️ 预览环境已清理

PR #1171 已关闭或合并,对应的预览环境已被清理。

如有需要,可以重新打开 PR 来重新生成预览环境。

🗑️ **预览环境已清理** PR #1171 已关闭或合并,对应的预览环境已被清理。 > 如有需要,可以重新打开 PR 来重新生成预览环境。
Sign in to join this conversation.