From c6aac862b15cab5fb99bf1c65f047d8e341adcd7 Mon Sep 17 00:00:00 2001 From: CI Bot Date: Wed, 15 Jul 2026 00:20:36 +0800 Subject: [PATCH] =?UTF-8?q?fix(ci):=20=E4=BF=AE=E5=A4=8DPR=20#332=E5=90=88?= =?UTF-8?q?=E5=B9=B6=E5=90=8ECI=E5=A4=B1=E8=B4=A5=20-=20F811=E9=87=8D?= =?UTF-8?q?=E5=A4=8Dimport=20+=20url=5Fsecurity=E5=8D=95=E6=B5=8B=E9=AD=94?= =?UTF-8?q?=E6=95=B0=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - generation.py: 删除重复的shared.url_security import(保留video_processing向后兼容层) - test_url_security.py: mock数据添加ID3魔数头,适配新增的文件魔数校验 --- apps/worker/worker_app/tasks/generation.py | 1 - tests/unit/test_url_security.py | 6 +++--- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/apps/worker/worker_app/tasks/generation.py b/apps/worker/worker_app/tasks/generation.py index 38d6aabb1..6af97259a 100755 --- a/apps/worker/worker_app/tasks/generation.py +++ b/apps/worker/worker_app/tasks/generation.py @@ -460,7 +460,6 @@ def _verify_url_accessible( import urllib.request from urllib.parse import urljoin - from shared.url_security import UrlSecurityError, validate_url_safety from video_processing.url_security import UrlSecurityError, validate_url_safety # P0-1 SSRF 防护:请求前先校验 URL 安全性 diff --git a/tests/unit/test_url_security.py b/tests/unit/test_url_security.py index 2c7ac13d6..63da47669 100755 --- a/tests/unit/test_url_security.py +++ b/tests/unit/test_url_security.py @@ -233,7 +233,7 @@ class TestSafeDownload(unittest.TestCase): with unittest.mock.patch("urllib.request.build_opener") as mock_opener: mock_resp = unittest.mock.MagicMock() mock_resp.headers = {"Content-Type": "audio/mpeg"} - mock_resp.read.side_effect = [b"audio_data", b""] + mock_resp.read.side_effect = [b"ID3audio_data", b""] mock_resp.geturl.return_value = "https://example.com/test.mp3" mock_opener.return_value.open.return_value = mock_resp size = safe_download_file( @@ -242,7 +242,7 @@ class TestSafeDownload(unittest.TestCase): purpose="test", allowed_mime_types=ALLOWED_AUDIO_MIME_TYPES, ) - self.assertEqual(size, 10) + self.assertEqual(size, 13) self.assertTrue(os.path.exists(dest)) def test_safe_download_file_stream_size_limit(self): @@ -274,7 +274,7 @@ class TestSafeDownload(unittest.TestCase): def test_safe_download_bytes_returns_content(self): """safe_download_bytes 应该返回文件内容.""" - test_data = b"hello world test audio" + test_data = b"ID3hello world test audio" with unittest.mock.patch("urllib.request.build_opener") as mock_opener: mock_resp = unittest.mock.MagicMock() mock_resp.headers = {"Content-Type": "audio/mpeg"}