Spaces:
Configuration error
Configuration error
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 | |
def base_url(): | |
return "http://localhost:8000" | |
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 | |