Spaces:
Configuration error
Configuration error
import json | |
import os | |
import sys | |
from unittest import mock | |
from dotenv import load_dotenv | |
load_dotenv() | |
import asyncio | |
import io | |
import os | |
sys.path.insert( | |
0, os.path.abspath("../..") | |
) # Adds the parent directory to the system path | |
import openai | |
import pytest | |
from fastapi import Response | |
from fastapi.testclient import TestClient | |
import litellm | |
from litellm.proxy.proxy_server import ( # Replace with the actual module where your FastAPI router is defined | |
initialize, | |
router, | |
save_worker_config, | |
) | |
def client(): | |
filepath = os.path.dirname(os.path.abspath(__file__)) | |
config_fp = f"{filepath}/test_configs/test_guardrails_config.yaml" | |
asyncio.run(initialize(config=config_fp)) | |
from litellm.proxy.proxy_server import app | |
return TestClient(app) | |
# raise openai.AuthenticationError | |
def test_active_callbacks(client): | |
response = client.get("/active/callbacks") | |
print("response", response) | |
print("response.text", response.text) | |
print("response.status_code", response.status_code) | |
json_response = response.json() | |
print(f"json_response={json_response}") | |
_active_callbacks = json_response["litellm.callbacks"] | |
expected_callback_names = [ | |
"lakeraAI_Moderation", | |
"_OPTIONAL_PromptInjectionDetectio", | |
"_ENTERPRISE_SecretDetection", | |
] | |
for callback_name in expected_callback_names: | |
# check if any of the callbacks have callback_name as a substring | |
found_match = False | |
for callback in _active_callbacks: | |
if callback_name in callback: | |
found_match = True | |
break | |
assert ( | |
found_match is True | |
), f"{callback_name} not found in _active_callbacks={_active_callbacks}" | |
assert not any( | |
"_ENTERPRISE_OpenAI_Moderation" in callback for callback in _active_callbacks | |
), f"_ENTERPRISE_OpenAI_Moderation should not be in _active_callbacks={_active_callbacks}" | |