mirror of
https://github.com/BerriAI/litellm.git
synced 2026-10-29 06:33:28 +00:00
fix(mcp): validate backported SSE event limits
This commit is contained in:
parent
1684ded5a1
commit
f53eebf2ae
2 changed files with 31 additions and 1 deletions
|
|
@ -186,7 +186,9 @@ MCP_PER_USER_TOKEN_EXPIRY_BUFFER_SECONDS: Final = int(os.getenv("MCP_PER_USER_TO
|
|||
|
||||
# MCP timeout defaults (seconds). Override via env vars for slow/custom MCP servers.
|
||||
MCP_CLIENT_TIMEOUT: Final = float(os.getenv("LITELLM_MCP_CLIENT_TIMEOUT", "60.0"))
|
||||
MCP_MAX_SSE_EVENT_SIZE_BYTES: Final = get_env_int("LITELLM_MCP_MAX_SSE_EVENT_SIZE_BYTES", 64 * 1024 * 1024)
|
||||
MCP_MAX_SSE_EVENT_SIZE_BYTES: Final = get_env_int_in_range(
|
||||
"LITELLM_MCP_MAX_SSE_EVENT_SIZE_BYTES", 64 * 1024 * 1024, 1, sys.maxsize
|
||||
)
|
||||
MCP_TOOL_LISTING_TIMEOUT: Final = float(os.getenv("LITELLM_MCP_TOOL_LISTING_TIMEOUT", "30.0"))
|
||||
MCP_METADATA_TIMEOUT: Final = float(os.getenv("LITELLM_MCP_METADATA_TIMEOUT", "10.0"))
|
||||
MCP_HEALTH_CHECK_TIMEOUT: Final = float(os.getenv("LITELLM_MCP_HEALTH_CHECK_TIMEOUT", "10.0"))
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
import sys
|
||||
import ast
|
||||
import inspect
|
||||
import json
|
||||
|
|
@ -68,3 +69,30 @@ def _build_constant_env_var_map() -> dict[str, str]:
|
|||
env_var_map[constant_name] = env_var_name
|
||||
|
||||
return env_var_map
|
||||
|
||||
|
||||
@pytest.mark.parametrize(
|
||||
("raw", "expected"),
|
||||
(
|
||||
(None, 64 * 1024 * 1024),
|
||||
("", 64 * 1024 * 1024),
|
||||
("invalid", 64 * 1024 * 1024),
|
||||
("0", 64 * 1024 * 1024),
|
||||
("-1", 64 * 1024 * 1024),
|
||||
("1", 1),
|
||||
("200000", 200000),
|
||||
(str(sys.maxsize), sys.maxsize),
|
||||
(str(sys.maxsize + 1), 64 * 1024 * 1024),
|
||||
),
|
||||
)
|
||||
def test_mcp_sse_event_limit_uses_positive_override_or_default(raw: str | None, expected: int) -> None:
|
||||
try:
|
||||
with pytest.MonkeyPatch.context() as environment:
|
||||
if raw is None:
|
||||
environment.delenv("LITELLM_MCP_MAX_SSE_EVENT_SIZE_BYTES", raising=False)
|
||||
else:
|
||||
environment.setenv("LITELLM_MCP_MAX_SSE_EVENT_SIZE_BYTES", raw)
|
||||
importlib.reload(constants)
|
||||
assert constants.MCP_MAX_SSE_EVENT_SIZE_BYTES == expected
|
||||
finally:
|
||||
importlib.reload(constants)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue