mirror of
https://github.com/BerriAI/litellm.git
synced 2026-09-28 01:32:17 +00:00
* ci: fix the litellm-tests unit job with sysmon coverage, an env allowlist and coverage upload on failure * test: replace key-dependent proxy, enterprise and mcp unit tests with synthetic values and integration and e2e coverage * test: drop key reads at the legacy proxy, enterprise and mcp paths and wire the gemini pass-through split * ci: move caching, proxy-extras, gateway and enterprise tests into tests/unit and run them from litellm-tests under their legacy flags * ci: move caching, proxy-extras, gateway and enterprise tests into tests/unit and run them from litellm-tests under their legacy flags * ci: fail the unit shard when circleci tests split errors * test: drop restating comments from the gemini pass-through split * ci: exit the unit shard cleanly when circleci tests split assigns it no files --------- Co-authored-by: yuneng <yuneng@berri.ai>
42 lines
1.6 KiB
Python
42 lines
1.6 KiB
Python
"""Shared fixtures for guardrail apply_guardrail tests."""
|
|
|
|
from contextlib import contextmanager
|
|
from unittest.mock import AsyncMock, MagicMock, patch
|
|
|
|
import pytest
|
|
|
|
|
|
@contextmanager
|
|
def _mock_proxy_logging():
|
|
"""Patch the proxy-server globals that apply_guardrail imports at call time."""
|
|
mock_proxy_logging = MagicMock()
|
|
mock_proxy_logging.post_call_success_hook = AsyncMock(return_value=None)
|
|
mock_proxy_logging.post_call_failure_hook = AsyncMock(return_value=None)
|
|
mock_logging_obj = MagicMock()
|
|
mock_logging_obj.async_success_handler = AsyncMock(return_value=None)
|
|
mock_logging_obj.async_failure_handler = AsyncMock(return_value=None)
|
|
mock_logging_obj.success_handler = MagicMock(return_value=None)
|
|
mock_logging_obj.failure_handler = MagicMock(return_value=None)
|
|
mock_logging_obj.model_call_details = {}
|
|
|
|
with (
|
|
patch(
|
|
"litellm.proxy.common_request_processing.ProxyBaseLLMRequestProcessing"
|
|
) as mock_proc_cls,
|
|
patch("litellm.proxy.proxy_server.proxy_logging_obj", mock_proxy_logging),
|
|
patch("litellm.proxy.proxy_server.general_settings", {}),
|
|
patch("litellm.proxy.proxy_server.proxy_config", MagicMock()),
|
|
patch("litellm.proxy.proxy_server.version", "0.0.0"),
|
|
):
|
|
mock_proc = MagicMock()
|
|
mock_proc.common_processing_pre_call_logic = AsyncMock(
|
|
return_value=({}, mock_logging_obj)
|
|
)
|
|
mock_proc_cls.return_value = mock_proc
|
|
yield mock_proxy_logging
|
|
|
|
|
|
@pytest.fixture
|
|
def mock_proxy_logging_ctx():
|
|
"""Return the proxy-logging context manager factory for use as `with ctx():`."""
|
|
return _mock_proxy_logging
|