mirror of
https://github.com/BerriAI/litellm.git
synced 2026-10-02 02:11:58 +00:00
* test(proxy): move utils, agent_endpoints and endpoint tests into tests/unit/proxy Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> * test(proxy): package moved unit test directories Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> * test(proxy): exclude proxy-db-owned files from the misc target Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> * test(proxy): drop the redundant fixture docstrings in the proxy conftest Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> --------- Co-authored-by: yuneng <yuneng@berri.ai> Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
27 lines
1.1 KiB
Python
27 lines
1.1 KiB
Python
from collections.abc import Mapping
|
|
|
|
import pytest
|
|
from fastapi import HTTPException
|
|
|
|
from litellm.proxy.agent_endpoints.identity import has_legacy_identity, reject_legacy_identity
|
|
|
|
TENANT = "11111111-1111-4111-8111-111111111111"
|
|
CLIENT = "22222222-2222-4222-8222-222222222222"
|
|
|
|
|
|
@pytest.mark.parametrize("params", [None, {}, {"model": "gpt-4o", "api_key": "sk-test"}])
|
|
def test_runtime_params_without_identity_are_accepted(params: Mapping[str, object] | None) -> None:
|
|
assert has_legacy_identity(params) is False
|
|
reject_legacy_identity(params)
|
|
|
|
|
|
@pytest.mark.parametrize(
|
|
"identity", [None, {}, {"provider": "microsoft_entra", "tenant_id": TENANT, "client_id": CLIENT}]
|
|
)
|
|
def test_legacy_litellm_params_identity_is_rejected(identity: object) -> None:
|
|
params: Mapping[str, object] = {"model": "gpt-4o", "identity": identity}
|
|
assert has_legacy_identity(params) is True
|
|
with pytest.raises(HTTPException) as failure:
|
|
reject_legacy_identity(params)
|
|
assert failure.value.status_code == 400
|
|
assert "top-level identity field" in failure.value.detail
|