test: P3-1 第40波单元测试(wechat_oauth + wechat_sync) #821

Merged
xiaoxia merged 5 commits from test/unit-test-wave40 into develop 2026-07-24 16:44:36 +08:00
Owner

变更内容

P3-1 第40波单元测试补充,覆盖2个微信登录模块:

新增测试

  • test_wechat_oauth_service.py — 31个测试(MemoryStateStore + OAuth服务 + 回调处理 + mock模式)
  • test_wechat_sync_use_case.py — 16个测试(同步登录/注册 + 新用户创建 + session)

测试结果

  • 本波:47 passed
  • 全量:4582 passed, 8 skipped

累计进度

第1~40波累计约 2036 + 47 = ~2083个单测

## 变更内容 P3-1 第40波单元测试补充,覆盖2个微信登录模块: ### 新增测试 - `test_wechat_oauth_service.py` — 31个测试(MemoryStateStore + OAuth服务 + 回调处理 + mock模式) - `test_wechat_sync_use_case.py` — 16个测试(同步登录/注册 + 新用户创建 + session) ### 测试结果 - 本波:47 passed - 全量:4582 passed, 8 skipped ### 累计进度 第1~40波累计约 2036 + 47 = ~2083个单测
xiaoxia added 5 commits 2026-07-24 11:56:29 +08:00
test: P3-1 第36波单元测试(assets/jwt_handler/password_handler/video_share)
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 6s
CI/CD Pipeline / Frontend Lint (pull_request) Successful in 35s
CI/CD Pipeline / Validate - Code Quality (pull_request) Failing after 1m26s
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Successful in 1m3s
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Successful in 1m9s
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 / PR Build Web Image (pull_request) Successful in 1m50s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 43s
Preview Deploy / Deploy Preview Environment (pull_request) Failing after 22s
AI Code Review / AI Code Review (pull_request) Successful in 2m35s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 3m20s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 6m4s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 14m19s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Has been skipped
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 Staging (Watchtower auto-deploy) (pull_request) Has been skipped
CI/CD Pipeline / Integration Tests (pull_request) Successful in 2m21s
CI/CD Pipeline / Unit Tests (pull_request) Successful in 3m4s
CI/CD Pipeline / Deploy Production (pull_request) Has been skipped
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 / Production Browser E2E (pull_request) Has been skipped
Preview Cleanup / Cleanup Preview Environment (pull_request) Successful in 47s
040237169d
- test_assets_use_cases: 15个(ListAssetsUseCase + CreateAssetUseCase)
- test_jwt_handler: 18个(JWTHandler + 全局配置函数)
- test_password_handler: 22个(PasswordHandler + 全局配置函数)
- test_video_share_use_cases: 36个(8个UseCase全覆盖)
- 合计+77个测试,全量4554 passed
test: P3-1 第37波单元测试(text_splitter/pagination/password_hasher/bind_contact)
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 6s
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Successful in 1m28s
CI/CD Pipeline / Validate - Code Quality (pull_request) Failing after 2m18s
CI/CD Pipeline / Frontend Lint (pull_request) Successful in 51s
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 / Validate - Migration (alembic) (pull_request) Successful in 1m14s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Has been skipped
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 58s
CI/CD Pipeline / PR Build Web Image (pull_request) Successful in 1m38s
Preview Deploy / Deploy Preview Environment (pull_request) Failing after 18s
AI Code Review / AI Code Review (pull_request) Successful in 3m34s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 3m37s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 6m16s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 13m13s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Has been skipped
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 / Unit Tests (pull_request) Successful in 2m36s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Has been skipped
CI/CD Pipeline / Integration Tests (pull_request) Successful in 2m50s
CI/CD Pipeline / Deploy Production (pull_request) Has been skipped
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 / Production Browser E2E (pull_request) Has been skipped
Preview Cleanup / Cleanup Preview Environment (pull_request) Successful in 34s
d3ebfec015
- test_text_splitter: 18个(长文本分段工具)
- test_pagination: 25个(通用分页器)
- test_password_hasher: 24个(PasswordHasher + PasswordValidator)
- test_bind_contact_use_case: 29个(绑定手机/邮箱 + 发验证码)
- 合计+96个测试,全量通过
test: P3-1 第38波单元测试(ingest/classification/generation_tasks/password_reset)
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 32s
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Successful in 1m2s
CI/CD Pipeline / Validate - Code Quality (pull_request) Failing after 2m14s
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Successful in 1m26s
CI/CD Pipeline / Frontend Lint (pull_request) Successful in 47s
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 / PR Build Web Image (pull_request) Successful in 56s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Has been skipped
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 50s
Preview Deploy / Deploy Preview Environment (pull_request) Failing after 23s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 3m36s
AI Code Review / AI Code Review (pull_request) Successful in 4m14s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 5m24s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 9m44s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Has been skipped
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 Staging (Watchtower auto-deploy) (pull_request) Has been skipped
CI/CD Pipeline / Integration Tests (pull_request) Successful in 2m28s
CI/CD Pipeline / Unit Tests (pull_request) Successful in 2m49s
CI/CD Pipeline / Deploy Production (pull_request) Has been skipped
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 / Production Browser E2E (pull_request) Has been skipped
Preview Cleanup / Cleanup Preview Environment (pull_request) Successful in 56s
304dd364e3
- test_ingest_jobs: 5个(SubmitIngestJobUseCase)
- test_classification_jobs: 6个(SubmitClassificationJobUseCase)
- test_generation_tasks: 20个(4个UseCase)
- test_password_reset_use_case: 20个(请求重置+重置密码)
- 合计+41个测试,全量4556 passed
test: P3-1 第39波单元测试(audio_merger/jwt_service/verification_code/register_user)
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 12s
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Successful in 1m10s
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Successful in 1m6s
CI/CD Pipeline / Validate - Code Quality (pull_request) Failing after 1m48s
CI/CD Pipeline / Frontend Lint (pull_request) Successful in 41s
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 / PR Build Web Image (pull_request) Successful in 30s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 59s
Preview Deploy / Deploy Preview Environment (pull_request) Failing after 25s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 3m14s
AI Code Review / AI Code Review (pull_request) Successful in 4m37s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 5m17s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 11m24s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Has been skipped
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 Staging (Watchtower auto-deploy) (pull_request) Has been skipped
CI/CD Pipeline / Unit Tests (pull_request) Successful in 3m7s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 2m34s
CI/CD Pipeline / Deploy Production (pull_request) Has been skipped
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 / Production Browser E2E (pull_request) Has been skipped
Preview Cleanup / Cleanup Preview Environment (pull_request) Successful in 25s
8fce9bf708
- test_audio_merger: 13个(FFmpeg音频合并器)
- test_jwt_service: 30个(JWT配置+服务+类型校验)
- test_verification_code_service: 31个(验证码生成/验证/频控+手机号邮箱校验)
- test_register_user_use_case: 20个(用户注册+邮箱验证)
- 合计+94个测试,全量4577 passed
test: P3-1 第40波单元测试(wechat_oauth + wechat_sync)
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 7s
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Successful in 56s
CI/CD Pipeline / Validate - Code Quality (pull_request) Failing after 1m23s
CI/CD Pipeline / Frontend Lint (pull_request) Successful in 35s
CI/CD Pipeline / PR Build Worker Image (pull_request) Failing after 17s
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 / PR Build Web Image (pull_request) Successful in 29s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Successful in 1m2s
Preview Deploy / Deploy Preview Environment (pull_request) Failing after 39s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 1m2s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 3m40s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 4m29s
AI Code Review / AI Code Review (pull_request) Successful in 4m3s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Has been skipped
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 Staging (Watchtower auto-deploy) (pull_request) Has been skipped
CI/CD Pipeline / Unit Tests (pull_request) Successful in 3m16s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 3m3s
CI/CD Pipeline / Deploy Production (pull_request) Has been skipped
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 / Production Browser E2E (pull_request) Has been skipped
Preview Cleanup / Cleanup Preview Environment (pull_request) Successful in 42s
e1be9191f7
- test_wechat_oauth_service: 31个(MemoryStateStore + OAuth服务 + 回调处理)
- test_wechat_sync_use_case: 16个(同步登录/注册 + 新用户创建)
- 合计+47个测试,全量4582 passed
Collaborator

📊 审查概览

  • 整体评价:通过
  • 严重问题数量:0 个
  • 一般建议数量:0 个

需修改的问题(严重)

💡 改进建议(一般)

良好实践

  1. 测试覆盖全面test_assets_use_cases.py 中对输入参数进行了细致的边界测试(如空字符串、纯空格、strip处理),体现了良好的测试思维。
  2. 资源管理规范test_audio_merger.py 中的 sample_audio_dir fixture 正确使用了 yieldshutil.rmtree,确保测试过程中创建的临时文件能被清理,避免污染环境。
  3. Mock 使用得当:在涉及外部调用(如 FFmpeg)的测试中,合理使用了 patchMagicMock,隔离了外部依赖,保证了单元测试的独立性和稳定性。
  4. 异常场景覆盖test_audio_merger.py 中包含了针对子进程超时、调用失败等异常情况的测试用例,增强了代码的健壮性验证。

(注:本次审查仅基于 Diff 中提供的部分代码,其余 16 个文件的变更因 Diff 截断未包含在审查范围内)


🤖 由 AI 代码审查机器人自动生成 | 2026-07-24 04:27:03 | 模型:

### 📊 审查概览 - 整体评价:通过 - 严重问题数量:0 个 - 一般建议数量:0 个 ### ❌ 需修改的问题(严重) 无 ### 💡 改进建议(一般) 无 ### ✅ 良好实践 1. **测试覆盖全面**:`test_assets_use_cases.py` 中对输入参数进行了细致的边界测试(如空字符串、纯空格、strip处理),体现了良好的测试思维。 2. **资源管理规范**:`test_audio_merger.py` 中的 `sample_audio_dir` fixture 正确使用了 `yield` 和 `shutil.rmtree`,确保测试过程中创建的临时文件能被清理,避免污染环境。 3. **Mock 使用得当**:在涉及外部调用(如 FFmpeg)的测试中,合理使用了 `patch` 和 `MagicMock`,隔离了外部依赖,保证了单元测试的独立性和稳定性。 4. **异常场景覆盖**:`test_audio_merger.py` 中包含了针对子进程超时、调用失败等异常情况的测试用例,增强了代码的健壮性验证。 --- *(注:本次审查仅基于 Diff 中提供的部分代码,其余 16 个文件的变更因 Diff 截断未包含在审查范围内)* --- <sub>🤖 由 AI 代码审查机器人自动生成 | 2026-07-24 04:27:03 | 模型: </sub> <!-- AI_CODE_REVIEW_AUTO_COMMENT -->
xiaoxia merged commit 7e505a04c7 into develop 2026-07-24 16:44:36 +08:00
xiaoxia deleted branch test/unit-test-wave40 2026-07-24 16:44:36 +08:00

🗑️ 预览环境已清理

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

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

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