Spaces:
Running
Running
File size: 1,216 Bytes
69fb140 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
"""
測試 core/ai_client.py OpenAI 客戶端管理
"""
import pytest
from unittest.mock import patch, MagicMock
class TestAIClient:
"""測試 AI 客戶端模組"""
def test_get_openai_client_no_api_key(self):
"""測試無 API Key 時返回 None"""
from core import ai_client
ai_client.reset_client()
with patch.object(ai_client, 'settings') as mock_settings:
mock_settings.OPENAI_API_KEY = ""
mock_settings.OPENAI_TIMEOUT = 30
client = ai_client.get_openai_client()
# 無 API Key 應返回 None
assert client is None
def test_reset_client(self):
"""測試重置客戶端"""
from core import ai_client
ai_client.reset_client()
assert ai_client._initialized is False
assert ai_client._openai_client is None
def test_is_available_false(self):
"""測試服務不可用"""
from core import ai_client
ai_client.reset_client()
with patch.object(ai_client, 'settings') as mock_settings:
mock_settings.OPENAI_API_KEY = ""
mock_settings.OPENAI_TIMEOUT = 30
assert ai_client.is_available() is False
|