RICS / backend /tests /test_openai_timeout.py
StormShadow308's picture
Add demo documentation and Docker setup for v2 report generation system
aad7814
Raw
History Blame Contribute Delete
1.91 kB
from __future__ import annotations
from unittest.mock import MagicMock, patch
from backend.config import settings
from backend.llm import openai_client
def test_chat_text_uses_pipeline_timeout(monkeypatch):
monkeypatch.setattr(settings, "openai_pipeline_timeout_seconds", 20.0)
openai_client.reset_client()
mock_client = MagicMock()
mock_client.chat.completions.create.return_value = MagicMock(
choices=[MagicMock(message=MagicMock(content="ok"))]
)
with patch.object(openai_client, "_get_client", return_value=mock_client):
openai_client.chat_text([{"role": "user", "content": "hi"}])
_, kwargs = mock_client.chat.completions.create.call_args
assert kwargs["timeout"] == 20.0
def test_chat_json_uses_pipeline_timeout(monkeypatch):
monkeypatch.setattr(settings, "openai_pipeline_timeout_seconds", 20.0)
openai_client.reset_client()
mock_client = MagicMock()
mock_client.chat.completions.create.return_value = MagicMock(
choices=[MagicMock(message=MagicMock(content='{"passed": true}'))]
)
with patch.object(openai_client, "_get_client", return_value=mock_client):
openai_client.chat_json([{"role": "user", "content": "audit"}])
_, kwargs = mock_client.chat.completions.create.call_args
assert kwargs["timeout"] == 20.0
def test_chat_text_explicit_timeout_override(monkeypatch):
monkeypatch.setattr(settings, "openai_pipeline_timeout_seconds", 20.0)
openai_client.reset_client()
mock_client = MagicMock()
mock_client.chat.completions.create.return_value = MagicMock(
choices=[MagicMock(message=MagicMock(content="ok"))]
)
with patch.object(openai_client, "_get_client", return_value=mock_client):
openai_client.chat_text([{"role": "user", "content": "hi"}], timeout=8.0)
_, kwargs = mock_client.chat.completions.create.call_args
assert kwargs["timeout"] == 8.0