mirror of
https://github.com/Aider-AI/aider.git
synced 2025-05-21 21:04:59 +00:00
test: Add comprehensive tests for LiteLLMExceptions module
This commit is contained in:
parent
9f539436b8
commit
e10205ff69
1 changed files with 53 additions and 0 deletions
|
@ -0,0 +1,53 @@
|
|||
import pytest
|
||||
from aider.exceptions import LiteLLMExceptions, ExInfo
|
||||
|
||||
def test_litellm_exceptions_load():
|
||||
"""Test that LiteLLMExceptions loads without errors"""
|
||||
ex = LiteLLMExceptions()
|
||||
assert len(ex.exceptions) > 0
|
||||
|
||||
def test_exceptions_tuple():
|
||||
"""Test that exceptions_tuple returns a non-empty tuple"""
|
||||
ex = LiteLLMExceptions()
|
||||
assert isinstance(ex.exceptions_tuple(), tuple)
|
||||
assert len(ex.exceptions_tuple()) > 0
|
||||
|
||||
def test_get_ex_info():
|
||||
"""Test get_ex_info returns correct ExInfo"""
|
||||
ex = LiteLLMExceptions()
|
||||
|
||||
# Test with a known exception type
|
||||
from litellm import AuthenticationError
|
||||
auth_error = AuthenticationError()
|
||||
ex_info = ex.get_ex_info(auth_error)
|
||||
assert isinstance(ex_info, ExInfo)
|
||||
assert ex_info.name == "AuthenticationError"
|
||||
assert ex_info.retry is False
|
||||
assert "API key" in ex_info.description
|
||||
|
||||
# Test with unknown exception type
|
||||
class UnknownError(Exception):
|
||||
pass
|
||||
unknown = UnknownError()
|
||||
ex_info = ex.get_ex_info(unknown)
|
||||
assert isinstance(ex_info, ExInfo)
|
||||
assert ex_info.name is None
|
||||
assert ex_info.retry is None
|
||||
assert ex_info.description is None
|
||||
|
||||
def test_rate_limit_error():
|
||||
"""Test specific handling of RateLimitError"""
|
||||
ex = LiteLLMExceptions()
|
||||
from litellm import RateLimitError
|
||||
rate_error = RateLimitError()
|
||||
ex_info = ex.get_ex_info(rate_error)
|
||||
assert ex_info.retry is True
|
||||
assert "rate limited" in ex_info.description.lower()
|
||||
|
||||
def test_context_window_error():
|
||||
"""Test specific handling of ContextWindowExceededError"""
|
||||
ex = LiteLLMExceptions()
|
||||
from litellm import ContextWindowExceededError
|
||||
ctx_error = ContextWindowExceededError()
|
||||
ex_info = ex.get_ex_info(ctx_error)
|
||||
assert ex_info.retry is False
|
Loading…
Add table
Add a link
Reference in a new issue