From 5fd1a172a1a0999f64875485c4cdd2961d835210 Mon Sep 17 00:00:00 2001 From: Yara Hneif Date: Fri, 18 Sep 2026 10:27:54 +0300 Subject: [PATCH] test: add edge-case test for empty tools list in validate_sampling_tools --- tests/server/test_validation.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/tests/server/test_validation.py b/tests/server/test_validation.py index 8015c34dde..a354090f95 100644 --- a/tests/server/test_validation.py +++ b/tests/server/test_validation.py @@ -62,6 +62,13 @@ def test_validate_sampling_tools_raises_when_tools_provided_but_no_capability() assert "sampling tools capability" in str(exc_info.value) +def test_validate_sampling_tools_raises_when_empty_tools_list_but_no_capability() -> None: + """An empty list [] is not None, so it still triggers the capability check.""" + with pytest.raises(MCPError) as exc_info: + validate_sampling_tools(None, [], None) + assert "sampling tools capability" in str(exc_info.value) + + def test_validate_sampling_tools_raises_when_tool_choice_provided_but_no_capability() -> None: """Raises MCPError when tool_choice provided but client doesn't support.""" with pytest.raises(MCPError) as exc_info: