Spaces:
Sleeping
Sleeping
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 | |