types: Setting default value for method: Literal (#1292)
This commit is contained in:
parent
9c6fd15a88
commit
07ae8c0d4e
8 changed files with 67 additions and 104 deletions
|
|
@ -35,7 +35,7 @@ async def test_send_request_stream_cleanup():
|
|||
)
|
||||
|
||||
# Create a test request
|
||||
request = ClientRequest(PingRequest(method="ping"))
|
||||
request = ClientRequest(PingRequest())
|
||||
|
||||
# Patch the _write_stream.send method to raise an exception
|
||||
async def mock_send(*args: Any, **kwargs: Any):
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ async def test_resource_templates():
|
|||
# Note: list_resource_templates() returns a decorator that wraps the handler
|
||||
# The handler returns a ServerResult with a ListResourceTemplatesResult inside
|
||||
result = await mcp._mcp_server.request_handlers[types.ListResourceTemplatesRequest](
|
||||
types.ListResourceTemplatesRequest(method="resources/templates/list", params=None)
|
||||
types.ListResourceTemplatesRequest(params=None)
|
||||
)
|
||||
assert isinstance(result.root, types.ListResourceTemplatesResult)
|
||||
templates = result.root.resourceTemplates
|
||||
|
|
|
|||
|
|
@ -54,7 +54,6 @@ async def test_server_base64_encoding_issue():
|
|||
|
||||
# Create a request
|
||||
request = ReadResourceRequest(
|
||||
method="resources/read",
|
||||
params=ReadResourceRequestParams(uri=AnyUrl("test://resource")),
|
||||
)
|
||||
|
||||
|
|
|
|||
|
|
@ -61,7 +61,6 @@ async def test_server_remains_functional_after_cancel():
|
|||
await client.send_request(
|
||||
ClientRequest(
|
||||
CallToolRequest(
|
||||
method="tools/call",
|
||||
params=CallToolRequestParams(name="test_tool", arguments={}),
|
||||
)
|
||||
),
|
||||
|
|
@ -83,7 +82,6 @@ async def test_server_remains_functional_after_cancel():
|
|||
await client.send_notification(
|
||||
ClientNotification(
|
||||
CancelledNotification(
|
||||
method="notifications/cancelled",
|
||||
params=CancelledNotificationParams(
|
||||
requestId=first_request_id,
|
||||
reason="Testing server recovery",
|
||||
|
|
@ -96,7 +94,6 @@ async def test_server_remains_functional_after_cancel():
|
|||
result = await client.send_request(
|
||||
ClientRequest(
|
||||
CallToolRequest(
|
||||
method="tools/call",
|
||||
params=CallToolRequestParams(name="test_tool", arguments={}),
|
||||
)
|
||||
),
|
||||
|
|
|
|||
|
|
@ -35,7 +35,6 @@ async def test_read_resource_text(temp_file: Path):
|
|||
|
||||
# Create a request
|
||||
request = types.ReadResourceRequest(
|
||||
method="resources/read",
|
||||
params=types.ReadResourceRequestParams(uri=FileUrl(temp_file.as_uri())),
|
||||
)
|
||||
|
||||
|
|
@ -63,7 +62,6 @@ async def test_read_resource_binary(temp_file: Path):
|
|||
|
||||
# Create a request
|
||||
request = types.ReadResourceRequest(
|
||||
method="resources/read",
|
||||
params=types.ReadResourceRequestParams(uri=FileUrl(temp_file.as_uri())),
|
||||
)
|
||||
|
||||
|
|
@ -95,7 +93,6 @@ async def test_read_resource_default_mime(temp_file: Path):
|
|||
|
||||
# Create a request
|
||||
request = types.ReadResourceRequest(
|
||||
method="resources/read",
|
||||
params=types.ReadResourceRequestParams(uri=FileUrl(temp_file.as_uri())),
|
||||
)
|
||||
|
||||
|
|
|
|||
|
|
@ -88,7 +88,6 @@ async def test_request_cancellation():
|
|||
await client_session.send_request(
|
||||
ClientRequest(
|
||||
types.CallToolRequest(
|
||||
method="tools/call",
|
||||
params=types.CallToolRequestParams(name="slow_tool", arguments={}),
|
||||
)
|
||||
),
|
||||
|
|
@ -113,7 +112,6 @@ async def test_request_cancellation():
|
|||
await client_session.send_notification(
|
||||
ClientNotification(
|
||||
CancelledNotification(
|
||||
method="notifications/cancelled",
|
||||
params=CancelledNotificationParams(requestId=request_id),
|
||||
)
|
||||
)
|
||||
|
|
|
|||
|
|
@ -1138,7 +1138,6 @@ async def test_streamablehttp_client_resumption(event_server: tuple[SimpleEventS
|
|||
await session.send_request(
|
||||
types.ClientRequest(
|
||||
types.CallToolRequest(
|
||||
method="tools/call",
|
||||
params=types.CallToolRequestParams(
|
||||
name="wait_for_lock_with_notification", arguments={}
|
||||
),
|
||||
|
|
@ -1180,7 +1179,6 @@ async def test_streamablehttp_client_resumption(event_server: tuple[SimpleEventS
|
|||
result = await session.send_request(
|
||||
types.ClientRequest(
|
||||
types.CallToolRequest(
|
||||
method="tools/call",
|
||||
params=types.CallToolRequestParams(name="release_lock", arguments={}),
|
||||
)
|
||||
),
|
||||
|
|
@ -1193,7 +1191,6 @@ async def test_streamablehttp_client_resumption(event_server: tuple[SimpleEventS
|
|||
result = await session.send_request(
|
||||
types.ClientRequest(
|
||||
types.CallToolRequest(
|
||||
method="tools/call",
|
||||
params=types.CallToolRequestParams(name="wait_for_lock_with_notification", arguments={}),
|
||||
)
|
||||
),
|
||||
|
|
|
|||
|
|
@ -1,6 +1,15 @@
|
|||
import pytest
|
||||
|
||||
from mcp.types import LATEST_PROTOCOL_VERSION, ClientRequest, JSONRPCMessage, JSONRPCRequest
|
||||
from mcp.types import (
|
||||
LATEST_PROTOCOL_VERSION,
|
||||
ClientCapabilities,
|
||||
ClientRequest,
|
||||
Implementation,
|
||||
InitializeRequest,
|
||||
InitializeRequestParams,
|
||||
JSONRPCMessage,
|
||||
JSONRPCRequest,
|
||||
)
|
||||
|
||||
|
||||
@pytest.mark.anyio
|
||||
|
|
@ -25,3 +34,25 @@ async def test_jsonrpc_request():
|
|||
assert request.root.method == "initialize"
|
||||
assert request.root.params is not None
|
||||
assert request.root.params["protocolVersion"] == LATEST_PROTOCOL_VERSION
|
||||
|
||||
|
||||
@pytest.mark.anyio
|
||||
async def test_method_initialization():
|
||||
"""
|
||||
Test that the method is automatically set on object creation.
|
||||
Testing just for InitializeRequest to keep the test simple, but should be set for other types as well.
|
||||
"""
|
||||
initialize_request = InitializeRequest(
|
||||
params=InitializeRequestParams(
|
||||
protocolVersion=LATEST_PROTOCOL_VERSION,
|
||||
capabilities=ClientCapabilities(),
|
||||
clientInfo=Implementation(
|
||||
name="mcp",
|
||||
version="0.1.0",
|
||||
),
|
||||
)
|
||||
)
|
||||
|
||||
assert initialize_request.method == "initialize", "method should be set to 'initialize'"
|
||||
assert initialize_request.params is not None
|
||||
assert initialize_request.params.protocolVersion == LATEST_PROTOCOL_VERSION
|
||||
|
|
|
|||
Loading…
Reference in a new issue