From 3a6c6677fbec2c904d685feb8336f9149701d667 Mon Sep 17 00:00:00 2001 From: CI Bot Date: Tue, 15 Sep 2026 05:14:49 +0000 Subject: [PATCH] style: auto-format with black + isort + ruff + prettier [skip ci-format-check] --- apps/api/app/api/routes/scripts_ai.py | 2 +- tests/unit/test_scripts_ai.py | 27 +++++++++------------------ 2 files changed, 10 insertions(+), 19 deletions(-) diff --git a/apps/api/app/api/routes/scripts_ai.py b/apps/api/app/api/routes/scripts_ai.py index 6be5bf066..495551e7a 100644 --- a/apps/api/app/api/routes/scripts_ai.py +++ b/apps/api/app/api/routes/scripts_ai.py @@ -12,7 +12,6 @@ import logging import re import tempfile - from app.auth import AuthenticatedUser, get_current_user from app.schemas.scripts_ai import ( AiGenerateTitlesRequest, @@ -28,6 +27,7 @@ from app.services.script_asr_service import ( transcribe_to_text, ) from fastapi import APIRouter, Depends, HTTPException, status + from packages.shared.ai_client import get_doubao_client logger = logging.getLogger(__name__) diff --git a/tests/unit/test_scripts_ai.py b/tests/unit/test_scripts_ai.py index 228179bd0..3cf946e2b 100644 --- a/tests/unit/test_scripts_ai.py +++ b/tests/unit/test_scripts_ai.py @@ -104,10 +104,9 @@ class TestExtractFromDouyin: ) def test_extract_from_douyin_invalid_url(self, bad_url): """非法 URL 返回 400.""" - from fastapi import HTTPException - from app.api.routes.scripts_ai import extract_from_douyin from app.schemas.scripts_ai import ExtractFromDouyinRequest + from fastapi import HTTPException req = ExtractFromDouyinRequest(url=bad_url) auth = _make_auth_user() @@ -120,10 +119,9 @@ class TestExtractFromDouyin: @patch("yt_dlp.YoutubeDL") def test_extract_from_douyin_download_failure(self, mock_ydl_cls, mock_tempdir): """下载失败返回 502.""" - from fastapi import HTTPException - from app.api.routes.scripts_ai import extract_from_douyin from app.schemas.scripts_ai import ExtractFromDouyinRequest + from fastapi import HTTPException mock_ydl_cls.return_value = _mock_youtube_dl( extract_info_side_effect=Exception("Video unavailable"), @@ -151,11 +149,10 @@ class TestExtractFromDouyin: mock_transcribe, ): """ASR 未配置返回 503.""" - from fastapi import HTTPException - from app.api.routes.scripts_ai import extract_from_douyin from app.schemas.scripts_ai import ExtractFromDouyinRequest from app.services.script_asr_service import ASRNotConfiguredError + from fastapi import HTTPException mock_ydl_cls.return_value = _mock_youtube_dl( extract_info_return={"id": "abc123", "duration": 60}, @@ -185,11 +182,10 @@ class TestExtractFromDouyin: mock_transcribe, ): """ASR 调用失败返回 502.""" - from fastapi import HTTPException - from app.api.routes.scripts_ai import extract_from_douyin from app.schemas.scripts_ai import ExtractFromDouyinRequest from app.services.script_asr_service import ASRTranscriptionError + from fastapi import HTTPException mock_ydl_cls.return_value = _mock_youtube_dl( extract_info_return={"id": "abc123", "duration": 60}, @@ -238,10 +234,9 @@ class TestAiRewrite: def test_ai_rewrite_empty_content(self): """空内容返回 400.""" - from fastapi import HTTPException - from app.api.routes.scripts_ai import ai_rewrite from app.schemas.scripts_ai import AiRewriteRequest + from fastapi import HTTPException req = AiRewriteRequest(content=" ", style="口语化") auth = _make_auth_user() @@ -253,10 +248,9 @@ class TestAiRewrite: @patch("app.api.routes.scripts_ai.get_doubao_client") def test_ai_rewrite_llm_failure(self, mock_get_client): """LLM 调用失败返回 502.""" - from fastapi import HTTPException - from app.api.routes.scripts_ai import ai_rewrite from app.schemas.scripts_ai import AiRewriteRequest + from fastapi import HTTPException mock_client = MagicMock() mock_client.is_available = True @@ -273,10 +267,9 @@ class TestAiRewrite: @patch("app.api.routes.scripts_ai.get_doubao_client") def test_ai_rewrite_client_unavailable(self, mock_get_client): """客户端不可用返回 502.""" - from fastapi import HTTPException - from app.api.routes.scripts_ai import ai_rewrite from app.schemas.scripts_ai import AiRewriteRequest + from fastapi import HTTPException mock_client = MagicMock() mock_client.is_available = False @@ -356,10 +349,9 @@ class TestAiGenerateTitles: def test_generate_titles_empty_content(self): """空内容返回 400.""" - from fastapi import HTTPException - from app.api.routes.scripts_ai import ai_generate_titles from app.schemas.scripts_ai import AiGenerateTitlesRequest + from fastapi import HTTPException req = AiGenerateTitlesRequest(content="", count=3) auth = _make_auth_user() @@ -422,9 +414,8 @@ class TestValidateDouyinUrl: ) def test_invalid_urls(self, invalid_url): """非法 URL 抛 400.""" - from fastapi import HTTPException - from app.api.routes.scripts_ai import _validate_douyin_url + from fastapi import HTTPException with pytest.raises(HTTPException) as exc_info: _validate_douyin_url(invalid_url)