Client-side 2026-07-28 support: .discover()/.adopt() + Client(mode=); request-metadata green (#2950)
This commit is contained in:
parent
ae13ede143
commit
f226d00d0a
1 changed files with 2533 additions and 993 deletions
|
|
@ -105,7 +105,7 @@ async def elicitation_callback(context: ClientRequestContext, params: ElicitRequ
|
|||
async def test_basic_tools() -> None:
|
||||
"""Test basic tool functionality."""
|
||||
async with Client(basic_tool.mcp) as client:
|
||||
assert client.initialize_result.capabilities.tools is not None
|
||||
assert client.server_capabilities.tools is not None
|
||||
|
||||
# Test sum tool
|
||||
tool_result = await client.call_tool("sum", {"a": 5, "b": 3})
|
||||
|
|
@ -123,7 +123,7 @@ async def test_basic_tools() -> None:
|
|||
async def test_basic_resources() -> None:
|
||||
"""Test basic resource functionality."""
|
||||
async with Client(basic_resource.mcp) as client:
|
||||
assert client.initialize_result.capabilities.resources is not None
|
||||
assert client.server_capabilities.resources is not None
|
||||
|
||||
# Test document resource
|
||||
doc_content = await client.read_resource("file://documents/readme")
|
||||
|
|
@ -145,7 +145,7 @@ async def test_basic_resources() -> None:
|
|||
async def test_basic_prompts() -> None:
|
||||
"""Test basic prompt functionality."""
|
||||
async with Client(basic_prompt.mcp) as client:
|
||||
assert client.initialize_result.capabilities.prompts is not None
|
||||
assert client.server_capabilities.prompts is not None
|
||||
|
||||
# Test review_code prompt
|
||||
prompts = await client.list_prompts()
|
||||
|
|
@ -185,7 +185,7 @@ async def test_tool_progress() -> None:
|
|||
if isinstance(message, Exception): # pragma: no cover
|
||||
raise message
|
||||
|
||||
async with Client(tool_progress.mcp, message_handler=message_handler) as client:
|
||||
async with Client(tool_progress.mcp, message_handler=message_handler, mode="legacy") as client:
|
||||
# Test progress callback
|
||||
progress_updates = []
|
||||
|
||||
|
|
@ -215,8 +215,8 @@ async def test_tool_progress() -> None:
|
|||
|
||||
async def test_sampling() -> None:
|
||||
"""Test sampling (LLM interaction) functionality."""
|
||||
async with Client(sampling.mcp, sampling_callback=sampling_callback) as client:
|
||||
assert client.initialize_result.capabilities.tools is not None
|
||||
async with Client(sampling.mcp, sampling_callback=sampling_callback, mode="legacy") as client:
|
||||
assert client.server_capabilities.tools is not None
|
||||
|
||||
# Test sampling tool
|
||||
sampling_result = await client.call_tool("generate_poem", {"topic": "nature"})
|
||||
|
|
@ -227,7 +227,7 @@ async def test_sampling() -> None:
|
|||
|
||||
async def test_elicitation() -> None:
|
||||
"""Test elicitation (user interaction) functionality."""
|
||||
async with Client(elicitation.mcp, elicitation_callback=elicitation_callback) as client:
|
||||
async with Client(elicitation.mcp, elicitation_callback=elicitation_callback, mode="legacy") as client:
|
||||
# Test booking with unavailable date (triggers elicitation)
|
||||
booking_result = await client.call_tool(
|
||||
"book_table",
|
||||
|
|
@ -264,7 +264,7 @@ async def test_notifications() -> None:
|
|||
if isinstance(message, Exception): # pragma: no cover
|
||||
raise message
|
||||
|
||||
async with Client(notifications.mcp, message_handler=message_handler) as client:
|
||||
async with Client(notifications.mcp, message_handler=message_handler, mode="legacy") as client:
|
||||
# Call tool that generates notifications
|
||||
tool_result = await client.call_tool("process_data", {"data": "test_data"})
|
||||
assert len(tool_result.content) == 1
|
||||
|
|
@ -286,8 +286,8 @@ async def test_notifications() -> None:
|
|||
async def test_completion() -> None:
|
||||
"""Test completion (autocomplete) functionality."""
|
||||
async with Client(completion.mcp) as client:
|
||||
assert client.initialize_result.capabilities.resources is not None
|
||||
assert client.initialize_result.capabilities.prompts is not None
|
||||
assert client.server_capabilities.resources is not None
|
||||
assert client.server_capabilities.prompts is not None
|
||||
|
||||
# Test resource completion
|
||||
completion_result = await client.complete(
|
||||
|
|
|
|||
Loading…
Reference in a new issue