Files
xiaoxia-saas/apps/api
saas-backend 1ecb51a684
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (pull_request) Successful in 2s
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 2s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 30s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 30s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 57s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 1m32s
CI/CD Pipeline / Unit Tests (pull_request) Successful in 1m40s
CI/CD Pipeline / Validate - Python (mypy + alembic) (pull_request) Successful in 1m48s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 2m43s
AI Code Review / AI Code Review (pull_request) Successful in 6m17s
CI/CD Pipeline / Validate - Style (pull_request) Failing after 6m47s
CI/CD Pipeline / Validate - Security (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 / Canary Release to Production (pull_request) Has been cancelled
CI/CD Pipeline / CI Gate (pull_request) Has been cancelled
PR Automation / Auto Merge on CI Green + Approved (pull_request) Has been cancelled
CI/CD Pipeline / ACR Image Cleanup (pull_request) Failing after 140h3m56s
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 140h3m56s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 140h4m2s
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 140h3m56s
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Failing after 140h4m10s
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Failing after 140h4m10s
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Failing after 140h4m11s
CI/CD Pipeline / PR Build Web Image (pull_request) Failing after 140h4m15s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 140h4m16s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 140h4m16s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 140h4m16s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 140h4m17s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 140h4m17s
CI/CD Pipeline / Check push changed paths (pull_request) Failing after 140h4m23s
test(lipsync): 补充Celery异步任务单元测试,覆盖率77%
1. lipsync_tts.py 新增9个测试用例,覆盖:
   - Job不存在 → 直接返回
   - Job已cancelled → 跳过
   - 正常流程:TTS→下载→OSS→签名→提交MediaKit→submitted
   - CosyVoiceError → failed/TTSSynthesisFailed
   - ValueError → failed/TTSInvalidParam
   - TTS返回空URL → failed/TTSNoAudio
   - OSS上传失败 → 回退临时URL继续提交
   - MediaKitError → failed/带code
   - 顶层异常 → failed/AsyncTaskError

2. 修复 lipsync_tts.py import bug:
   safe_download_bytes 从 packages.shared.downloader(不存在)
   改为 packages.shared.url_security(实际位置)

3. 现有 create_job 异步测试已覆盖 tts_processing/apply_async 路径

覆盖率:
- app.tasks.lipsync_tts: 97%
- app.services.lipsync_service: 69%
- 合计: 77% (远超CI要求40%)
2026-09-10 19:19:19 +08:00
..
2026-06-15 15:17:40 +08:00
2026-07-11 16:29:07 +08:00
2026-06-15 15:17:40 +08:00

xiaoxia-saas API

结构

  • app/core/:配置与基础能力
  • app/api/:路由组织
  • app/schemas/:请求响应模型
  • app/dependencies.py:依赖注入入口
  • main.py:FastAPI 启动入口

当前可用接口

  • GET /api/health
  • GET /api/projects?workspace_id=...
  • POST /api/projects