mirror of
https://github.com/BerriAI/litellm.git
synced 2025-04-25 02:34:29 +00:00
59 lines
No EOL
2.1 KiB
Python
59 lines
No EOL
2.1 KiB
Python
import unittest
|
|
import litellm
|
|
from litellm import exceptions
|
|
|
|
|
|
class TestExceptionsMasking(unittest.TestCase):
|
|
def test_api_key_masking_in_exceptions(self):
|
|
"""Test that API keys are properly masked in exception messages"""
|
|
|
|
# Test with a message containing an API key
|
|
api_key = "sk-12345678901234567890"
|
|
message = f"Failed to authenticate with API key {api_key}"
|
|
|
|
# Create an exception with this message
|
|
exception = exceptions.AuthenticationError(
|
|
message=message,
|
|
llm_provider="test_provider",
|
|
model="test_model"
|
|
)
|
|
|
|
# Check that the API key is not present in the exception message
|
|
self.assertNotIn(api_key, exception.message)
|
|
# Check that a masked version is present instead (should have the prefix and suffix)
|
|
self.assertIn("sk-1", exception.message)
|
|
self.assertIn("7890", exception.message)
|
|
|
|
def test_multiple_sensitive_keys_masked(self):
|
|
"""Test that multiple sensitive keys in the same message are masked"""
|
|
|
|
# Message with multiple sensitive information
|
|
message = (
|
|
"Error occurred. API key: sk-abc123def456, "
|
|
"Secret key: secret_xyz987, "
|
|
"Password: pass123word"
|
|
)
|
|
|
|
# Create an exception with this message
|
|
exception = exceptions.BadRequestError(
|
|
message=message,
|
|
model="test_model",
|
|
llm_provider="test_provider"
|
|
)
|
|
|
|
# Check that none of the sensitive data is present
|
|
self.assertNotIn("sk-abc123def456", exception.message)
|
|
self.assertNotIn("secret_xyz987", exception.message)
|
|
self.assertNotIn("pass123word", exception.message)
|
|
|
|
# Check that masked versions are present
|
|
self.assertIn("sk-a", exception.message)
|
|
self.assertIn("456", exception.message)
|
|
self.assertIn("secr", exception.message)
|
|
self.assertIn("987", exception.message)
|
|
self.assertIn("pass", exception.message)
|
|
self.assertIn("word", exception.message)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
unittest.main() |