Added LiteLLM to the stack
This commit is contained in:
@@ -0,0 +1,56 @@
|
||||
import json
|
||||
import os
|
||||
import sys
|
||||
from typing import Optional
|
||||
|
||||
# Adds the grandparent directory to sys.path to allow importing project modules
|
||||
sys.path.insert(0, os.path.abspath("../.."))
|
||||
|
||||
import asyncio
|
||||
from unittest.mock import patch
|
||||
|
||||
import pytest
|
||||
|
||||
import litellm
|
||||
from litellm.integrations.langfuse import langfuse as langfuse_module
|
||||
from litellm.integrations.langfuse.langfuse import LangFuseLogger
|
||||
|
||||
|
||||
def test_max_langfuse_clients_limit():
|
||||
"""
|
||||
Test that the max langfuse clients limit is respected when initializing multiple clients
|
||||
"""
|
||||
# Set max clients to 2 for testing
|
||||
with patch.object(langfuse_module, "MAX_LANGFUSE_INITIALIZED_CLIENTS", 2):
|
||||
# Reset the counter
|
||||
litellm.initialized_langfuse_clients = 0
|
||||
|
||||
# First client should succeed
|
||||
logger1 = LangFuseLogger(
|
||||
langfuse_public_key="test_key_1",
|
||||
langfuse_secret="test_secret_1",
|
||||
langfuse_host="https://test1.langfuse.com",
|
||||
)
|
||||
assert litellm.initialized_langfuse_clients == 1
|
||||
|
||||
# Second client should succeed
|
||||
logger2 = LangFuseLogger(
|
||||
langfuse_public_key="test_key_2",
|
||||
langfuse_secret="test_secret_2",
|
||||
langfuse_host="https://test2.langfuse.com",
|
||||
)
|
||||
assert litellm.initialized_langfuse_clients == 2
|
||||
|
||||
# Third client should fail with exception
|
||||
with pytest.raises(Exception) as exc_info:
|
||||
logger3 = LangFuseLogger(
|
||||
langfuse_public_key="test_key_3",
|
||||
langfuse_secret="test_secret_3",
|
||||
langfuse_host="https://test3.langfuse.com",
|
||||
)
|
||||
|
||||
# Verify the error message contains the expected text
|
||||
assert "Max langfuse clients reached" in str(exc_info.value)
|
||||
|
||||
# Counter should still be 2 (third client failed to initialize)
|
||||
assert litellm.initialized_langfuse_clients == 2
|
Reference in New Issue
Block a user