diff --git a/apps/worker/video_processing/render_adapter.py b/apps/worker/video_processing/render_adapter.py index 6b854514c..bf20d9cc1 100644 --- a/apps/worker/video_processing/render_adapter.py +++ b/apps/worker/video_processing/render_adapter.py @@ -25,6 +25,7 @@ from typing import Any, Callable from sqlalchemy.orm import Session from video_processing.oss_helpers import download_asset, upload_to_oss from video_processing.unified_render_service import UnifiedRenderService +from video_processing.video_validation import validate_video_output from packages.adapters.sqlalchemy_impl.edit_plan_clip_repository import SQLAlchemyEditPlanClipRepository from packages.adapters.sqlalchemy_impl.edit_plan_repository import SQLAlchemyEditPlanRepository @@ -532,7 +533,6 @@ class RenderAdapter: result = render_svc.render() # 4.5 渲染后校验输出完整性 - from video_processing.video_validation import validate_video_output validation = validate_video_output(result.output_path) if not validation.valid: diff --git a/tests/unit/test_render_adapter.py b/tests/unit/test_render_adapter.py old mode 100755 new mode 100644 index 6e39a2607..33ec85343 --- a/tests/unit/test_render_adapter.py +++ b/tests/unit/test_render_adapter.py @@ -4,6 +4,7 @@ """ from __future__ import annotations +import pytest from dataclasses import dataclass, field from pathlib import Path @@ -114,6 +115,18 @@ def _make_adapter( return adapter, mock_plan_repo, mock_clip_repo +@pytest.fixture(autouse=True) +def _patch_validation(): + """Mock video validation to always pass in tests (mock renders don't create real files).""" + from video_processing.video_validation import VideoValidationResult + + with patch( + "video_processing.render_adapter.validate_video_output", + return_value=VideoValidationResult(valid=True), + ): + yield + + # ── validate_plan 测试 ───────────────────────────────────────────────────────