Spaces:
Runtime error
Runtime error
| import pytest | |
| from openai.error import InvalidRequestError, ServiceUnavailableError | |
| from reworkd_platform.schemas.agent import ModelSettings | |
| from reworkd_platform.web.api.agent.helpers import openai_error_handler | |
| from reworkd_platform.web.api.errors import OpenAIError | |
| async def act(*args, settings: ModelSettings = ModelSettings(), **kwargs): | |
| return await openai_error_handler(*args, settings=settings, **kwargs) | |
| async def test_service_unavailable_error(): | |
| async def mock_service_unavailable_error(): | |
| raise ServiceUnavailableError("Service Unavailable") | |
| with pytest.raises(OpenAIError): | |
| await act(mock_service_unavailable_error) | |
| async def test_should_log(settings, should_log): | |
| async def mock_invalid_request_error_model_access(): | |
| raise InvalidRequestError( | |
| "The model: xyz does not exist or you do not have access to it.", | |
| param="model", | |
| ) | |
| with pytest.raises(Exception) as exc_info: | |
| await openai_error_handler( | |
| mock_invalid_request_error_model_access, settings=settings | |
| ) | |
| assert isinstance(exc_info.value, OpenAIError) | |
| error: OpenAIError = exc_info.value | |
| assert error.should_log == should_log | |