mirror of
https://github.com/BerriAI/litellm.git
synced 2026-08-28 05:25:59 +00:00
31 lines
1.1 KiB
Python
31 lines
1.1 KiB
Python
from unittest.mock import AsyncMock, MagicMock, patch
|
|
|
|
import pytest
|
|
|
|
|
|
@pytest.fixture
|
|
def fixture_planted_prisma_mock():
|
|
with patch("litellm.proxy.proxy_server.prisma_client", MagicMock()):
|
|
yield
|
|
|
|
|
|
def test_monkeypatch_over_fixture_patched_prisma_client(
|
|
fixture_planted_prisma_mock, monkeypatch
|
|
):
|
|
"""
|
|
Mirrors the flake in test_team_endpoints.py: an autouse fixture patches
|
|
prisma_client, the test monkeypatches the same global, and monkeypatch
|
|
records the fixture's MagicMock as the value to restore. Its undo runs
|
|
after every other finalizer, so without hook-level isolation the mock
|
|
leaks and every later no-database test on the worker fails awaiting it.
|
|
"""
|
|
import litellm.proxy.proxy_server as proxy_server
|
|
|
|
monkeypatch.setattr("litellm.proxy.proxy_server.prisma_client", AsyncMock())
|
|
assert isinstance(proxy_server.prisma_client, AsyncMock)
|
|
|
|
|
|
def test_prisma_client_did_not_leak_from_previous_test():
|
|
import litellm.proxy.proxy_server as proxy_server
|
|
|
|
assert not isinstance(proxy_server.prisma_client, MagicMock)
|