Files
xiaoxia-saas/tests
xiaoxia 539c71f5cb
CI/CD Pipeline / Check push changed paths (pull_request) Has been skipped
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (pull_request) Successful in 0s
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 / Retag skipped Staging Web Image (pull_request) Has been skipped
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Has been skipped
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Has been skipped
CI/CD Pipeline / Staging E2E Tests (pull_request) Has been skipped
CI/CD Pipeline / ACR Image Cleanup (pull_request) Has been skipped
CI/CD Pipeline / Staging API Integration Tests (pull_request) Has been skipped
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 3m0s
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
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 3m14s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 3m20s
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Successful in 3m35s
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Successful in 3m49s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 1m10s
AI Code Review / AI Code Review (pull_request) Failing after 4m17s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 1m12s
CI/CD Pipeline / Validate - Code Quality (pull_request) Successful in 6m2s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 6m4s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 2m5s
CI/CD Pipeline / Unit Tests (pull_request) Failing after 8m35s
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) Failing after 23s
feat(tts): 正式合成支持克隆音色、保存到配音库改写 assets 素材体系、克隆接口支持 asset_id
1. TTS synthesize() 复用 preview 的克隆音色解析逻辑:voice_id 传克隆 profile UUID 时
   校验归属(403)/克隆完成状态(400 音色克隆尚未完成),job.voice_id 存解析后的
   CosyVoice voice_id,voice_clone_profile_id 记录 profile id。
2. save_tts_job_to_library 改写为新素材体系:TTS 音频持久化独立副本到
   uploads/voice/tts/,创建 file_type=audio/status=ready 的 asset 挂用户 voice
   素材库(无则自动创建),duration/metadata(source=tts_job) 完整记录;
   返回结构保持 id/name/audio_url/duration 兼容前端;移除旧 voice_library 表写入。
3. voice clone 创建接口支持 asset_id 字段:校验素材归属与音频类型,用 asset
   storage_key 生成 7 天有效签名 URL 供 worker 下载,不依赖前端签名;
   source_audio_url 方式保留兼容。

补集成测试:synthesize 克隆音色 4 用例、save-to-library asset 断言、
clone from asset 5 用例(成功/404/403/非音频400/两参同传400)。
2026-08-30 16:12:57 +08:00
..