refactor: replace lowlevel Server decorators with on_* constructor kwargs (#1985)
This commit is contained in:
parent
d6d3ad9a7c
commit
0a22a9dc33
1 changed files with 3563 additions and 5481 deletions
|
|
@ -9,13 +9,12 @@ import httpx
|
|||
import pytest
|
||||
from starlette.types import Message
|
||||
|
||||
from mcp import Client, types
|
||||
from mcp import Client
|
||||
from mcp.client.streamable_http import streamable_http_client
|
||||
from mcp.server import streamable_http_manager
|
||||
from mcp.server.lowlevel import Server
|
||||
from mcp.server import Server, ServerRequestContext, streamable_http_manager
|
||||
from mcp.server.streamable_http import MCP_SESSION_ID_HEADER, StreamableHTTPServerTransport
|
||||
from mcp.server.streamable_http_manager import StreamableHTTPSessionManager
|
||||
from mcp.types import INVALID_REQUEST
|
||||
from mcp.types import INVALID_REQUEST, ListToolsResult, PaginatedRequestParams
|
||||
|
||||
|
||||
@pytest.mark.anyio
|
||||
|
|
@ -218,7 +217,7 @@ async def test_stateless_requests_memory_cleanup():
|
|||
|
||||
# Patch StreamableHTTPServerTransport constructor to track instances
|
||||
|
||||
original_constructor = streamable_http_manager.StreamableHTTPServerTransport
|
||||
original_constructor = StreamableHTTPServerTransport
|
||||
|
||||
def track_transport(*args: Any, **kwargs: Any) -> StreamableHTTPServerTransport:
|
||||
transport = original_constructor(*args, **kwargs)
|
||||
|
|
@ -321,12 +320,11 @@ async def test_unknown_session_id_returns_404():
|
|||
@pytest.mark.anyio
|
||||
async def test_e2e_streamable_http_server_cleanup():
|
||||
host = "testserver"
|
||||
app = Server("test-server")
|
||||
|
||||
@app.list_tools()
|
||||
async def list_tools(req: types.ListToolsRequest) -> types.ListToolsResult:
|
||||
return types.ListToolsResult(tools=[])
|
||||
async def handle_list_tools(ctx: ServerRequestContext, params: PaginatedRequestParams | None) -> ListToolsResult:
|
||||
return ListToolsResult(tools=[])
|
||||
|
||||
app = Server("test-server", on_list_tools=handle_list_tools)
|
||||
mcp_app = app.streamable_http_app(host=host)
|
||||
async with (
|
||||
mcp_app.router.lifespan_context(mcp_app),
|
||||
|
|
|
|||
Loading…
Reference in a new issue