Files
Document_Translator/test_translation_fix.py
beabigegg b11a8272c4 2ND
2025-09-02 13:11:48 +08:00

112 lines
3.2 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
測試翻譯功能修復
"""
import sys
import os
import tempfile
import uuid
from pathlib import Path
# 添加 app 路徑
sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))
def test_celery_import():
"""測試 Celery 導入"""
try:
from app.tasks.translation import process_translation_job, cleanup_old_files, send_daily_admin_report
print("Celery 任務導入成功")
return True
except Exception as e:
print(f"Celery 任務導入失敗: {str(e)}")
return False
def test_translation_service():
"""測試翻譯服務"""
try:
from app import create_app
from app.services.translation_service import TranslationService
app = create_app()
with app.app_context():
service = TranslationService()
print("翻譯服務初始化成功")
return True
except Exception as e:
print(f"翻譯服務測試失敗: {str(e)}")
return False
def test_document_processor():
"""測試文檔處理器"""
try:
from app.services.document_processor import DocumentProcessor
processor = DocumentProcessor()
print("文檔處理器初始化成功")
return True
except Exception as e:
print(f"文檔處理器測試失敗: {str(e)}")
return False
def test_task_execution():
"""測試任務執行(不實際調用 API"""
try:
from app import create_app
from app.models.job import TranslationJob
from app.services.translation_service import TranslationService
app = create_app()
with app.app_context():
# 創建模擬任務進行測試
print("任務執行環境準備成功")
return True
except Exception as e:
print(f"任務執行測試失敗: {str(e)}")
return False
def main():
"""主測試函數"""
print("開始測試翻譯功能修復...")
print("=" * 50)
tests = [
("Celery 導入測試", test_celery_import),
("翻譯服務測試", test_translation_service),
("文檔處理器測試", test_document_processor),
("任務執行測試", test_task_execution)
]
results = []
for test_name, test_func in tests:
print(f"\n{test_name}:")
try:
result = test_func()
results.append((test_name, result))
except Exception as e:
print(f"{test_name} 執行異常: {str(e)}")
results.append((test_name, False))
print("\n" + "=" * 50)
print("測試結果總結:")
passed = 0
for test_name, result in results:
status = "PASS" if result else "FAIL"
print(f" {status}: {test_name}")
if result:
passed += 1
print(f"\n通過測試: {passed}/{len(results)}")
if passed == len(results):
print("所有測試通過!翻譯功能修復成功!")
return True
else:
print("部分測試失敗,需要進一步檢查")
return False
if __name__ == "__main__":
success = main()
sys.exit(0 if success else 1)