test: P3-1 第41波单元测试(login_use_case) #823

Merged
xiaoxia merged 6 commits from test/unit-test-wave41 into develop 2026-07-24 16:45:41 +08:00
Owner

变更内容

  • 新增 login_use_case 模块单元测试 32 个
    • TestLegacyHelpers: 2个(legacy sha256 哈希验证)
    • TestLoginRequest: 4个(邮箱规范化、默认设备/IP)
    • TestLoginUseCase: 12个(登录成功/空邮箱/空密码/用户不存在/密码错误/更新最后登录/会话保存/旧哈希迁移/旧哈希错密码/异常处理)
    • TestRefreshTokenUseCase: 8个(刷新成功/空token/无效token/不匹配/用户不存在/无效会话/有效access_token)
    • TestLogoutUseCase: 6个(单设备登出/全部设备/无session_id/会话不存在/异常处理)

测试结果

  • 本地全量:4591 passed, 8 skipped
## 变更内容 - 新增 login_use_case 模块单元测试 32 个 - TestLegacyHelpers: 2个(legacy sha256 哈希验证) - TestLoginRequest: 4个(邮箱规范化、默认设备/IP) - TestLoginUseCase: 12个(登录成功/空邮箱/空密码/用户不存在/密码错误/更新最后登录/会话保存/旧哈希迁移/旧哈希错密码/异常处理) - TestRefreshTokenUseCase: 8个(刷新成功/空token/无效token/不匹配/用户不存在/无效会话/有效access_token) - TestLogoutUseCase: 6个(单设备登出/全部设备/无session_id/会话不存在/异常处理) ## 测试结果 - 本地全量:4591 passed, 8 skipped
xiaoxia added 6 commits 2026-07-24 12:30:41 +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
test: P3-1 第41波单元测试(login_use_case)
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 5s
CI/CD Pipeline / Validate - Code Quality (pull_request) Failing after 1m10s
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Successful in 50s
CI/CD Pipeline / Frontend Lint (pull_request) Successful in 38s
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Successful in 57s
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 Worker Image (pull_request) Failing after 29s
CI/CD Pipeline / PR Build Web Image (pull_request) Successful in 44s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 1m4s
Preview Deploy / Deploy Preview Environment (pull_request) Failing after 32s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 4m3s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 3m36s
AI Code Review / AI Code Review (pull_request) Successful in 4m1s
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 2m42s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 2m2s
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 43s
0e1b2096f4
Collaborator

代码审查结果 - PR #823

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

💡 建议(3个可选)

  1. test_audio_merger.py 第119行import subprocess 在该测试函数中未被使用,建议移除以保持代码整洁。
  2. test_audio_merger.py 第28行:建议将 import shutil 移至文件顶部。在 fixture 的清理代码块中(yield 之后)进行导入是不规范的做法,虽然标准库通常不会出错,但这降低了代码的可读性和维护性。
  3. test_audio_merger.py 第103行:在 test_merge_multiple_filesfake_run_ffmpeg 闭包中,计算了 output_idx = cmd.index("-c") + 2 但并未使用,实际使用的是 cmd[-1]。这行无效代码不仅多余,且如果未来命令参数变化导致 -c 不存在,还会导致测试本身抛出 ValueError,建议删除。

格式检查通过 | 逻辑审查需修改 | 性能


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

## 代码审查结果 - PR #823 ### ⚠️ 问题(0个需要修改) 无 ### 💡 建议(3个可选) 1. **test_audio_merger.py 第119行**:`import subprocess` 在该测试函数中未被使用,建议移除以保持代码整洁。 2. **test_audio_merger.py 第28行**:建议将 `import shutil` 移至文件顶部。在 fixture 的清理代码块中(yield 之后)进行导入是不规范的做法,虽然标准库通常不会出错,但这降低了代码的可读性和维护性。 3. **test_audio_merger.py 第103行**:在 `test_merge_multiple_files` 的 `fake_run_ffmpeg` 闭包中,计算了 `output_idx = cmd.index("-c") + 2` 但并未使用,实际使用的是 `cmd[-1]`。这行无效代码不仅多余,且如果未来命令参数变化导致 `-c` 不存在,还会导致测试本身抛出 `ValueError`,建议删除。 --- ✅ 格式检查通过 | ✅ 逻辑审查需修改 | ✅ 性能 --- <sub>🤖 由 AI 代码审查机器人自动生成 | 2026-07-24 04:45:52 | 模型: </sub> <!-- AI_CODE_REVIEW_AUTO_COMMENT -->
xiaoxia merged commit 08cb1cfc23 into develop 2026-07-24 16:45:41 +08:00
xiaoxia deleted branch test/unit-test-wave41 2026-07-24 16:45:41 +08:00

🗑️ 预览环境已清理

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

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

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