Spaces:
Configuration error
Configuration error
File size: 3,052 Bytes
447ebeb |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 |
import pytest
from litellm.proxy.client import ChatClient, Client, ModelsManagementClient
from litellm.proxy.client.http_client import HTTPClient
from litellm.proxy.client.keys import KeysManagementClient
@pytest.fixture
def base_url():
return "http://localhost:8000"
@pytest.fixture
def api_key():
return "test-api-key"
def test_client_initialization(base_url, api_key):
"""Test that the Client is properly initialized with all resource clients"""
client = Client(base_url=base_url, api_key=api_key)
# Check base properties
assert client._base_url == base_url
assert client._api_key == api_key
# Check resource clients
assert isinstance(client.models, ModelsManagementClient)
assert client.models._base_url == base_url
assert client.models._api_key == api_key
# Check chat client
assert isinstance(client.chat, ChatClient)
assert client.chat._base_url == base_url
assert client.chat._api_key == api_key
# Check keys client
assert isinstance(client.keys, KeysManagementClient)
assert client.keys._base_url == base_url
assert client.keys._api_key == api_key
# Check http client
assert isinstance(client.http, HTTPClient)
assert client.http._base_url == base_url
assert client.http._api_key == api_key
def test_client_initialization_strips_trailing_slash():
"""Test that the client properly strips trailing slashes from base_url during initialization"""
base_url = "http://localhost:8000/////"
client = Client(base_url=base_url)
assert client._base_url == "http://localhost:8000"
assert client.models._base_url == "http://localhost:8000"
assert client.chat._base_url == "http://localhost:8000"
assert client.keys._base_url == "http://localhost:8000"
assert client.http._base_url == "http://localhost:8000"
def test_client_without_api_key(base_url):
"""Test that the client works without an API key"""
client = Client(base_url=base_url)
assert client._api_key is None
assert client.models._api_key is None
assert client.chat._api_key is None
assert client.keys._api_key is None
assert client.http._api_key is None
def test_client_initialization():
"""Test that the client is initialized correctly."""
client = Client(
base_url="http://localhost:4000",
api_key="test-key",
timeout=60,
)
# Check that http client is initialized correctly
assert isinstance(client.http, HTTPClient)
assert client.http._base_url == "http://localhost:4000"
assert client.http._api_key == "test-key"
assert client.http._timeout == 60
def test_client_default_timeout():
"""Test that the client uses default timeout."""
client = Client(
base_url="http://localhost:4000",
api_key="test-key",
)
assert client.http._timeout == 30
def test_client_without_api_key():
"""Test that the client works without an API key."""
client = Client(base_url="http://localhost:4000")
assert client.http._api_key is None
|