Skip to content

Commit 978cfe3

Browse files
committed
more fixes
1 parent 43a30c1 commit 978cfe3

File tree

1 file changed

+26
-8
lines changed

1 file changed

+26
-8
lines changed

tests/server/fastmcp/test_server.py

Lines changed: 26 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -518,6 +518,10 @@ async def async_tool(x: int, ctx: Context) -> str:
518518

519519
@pytest.mark.anyio
520520
async def test_context_logging(self):
521+
from unittest.mock import patch
522+
523+
import mcp.server.session
524+
521525
"""Test that context logging methods work."""
522526
mcp = FastMCP()
523527

@@ -529,12 +533,26 @@ async def logging_tool(msg: str, ctx: Context) -> str:
529533
return f"Logged messages for {msg}"
530534

531535
mcp.add_tool(logging_tool)
532-
async with client_session(mcp._mcp_server) as client:
533-
result = await client.call_tool("logging_tool", {"msg": "test"})
534-
assert len(result.content) == 1
535-
content = result.content[0]
536-
assert isinstance(content, TextContent)
537-
assert "Logged messages for test" in content.text
536+
537+
with patch("mcp.server.session.ServerSession.send_log_message") as mock_log:
538+
async with client_session(mcp._mcp_server) as client:
539+
result = await client.call_tool("logging_tool", {"msg": "test"})
540+
assert len(result.content) == 1
541+
content = result.content[0]
542+
assert isinstance(content, TextContent)
543+
assert "Logged messages for test" in content.text
544+
545+
assert mock_log.call_count == 4
546+
mock_log.assert_any_call(
547+
level="debug", data="Debug message", logger=None
548+
)
549+
mock_log.assert_any_call(level="info", data="Info message", logger=None)
550+
mock_log.assert_any_call(
551+
level="warning", data="Warning message", logger=None
552+
)
553+
mock_log.assert_any_call(
554+
level="error", data="Error message", logger=None
555+
)
538556

539557
@pytest.mark.anyio
540558
async def test_optional_context(self):
@@ -563,8 +581,8 @@ def test_resource() -> str:
563581

564582
@mcp.tool()
565583
async def tool_with_resource(ctx: Context) -> str:
566-
data, mime_type = await ctx.read_resource("test://data")
567-
return f"Read resource: {data} with mime type {mime_type}"
584+
data = await ctx.read_resource("test://data")
585+
return f"Read resource: {data}"
568586

569587
async with client_session(mcp._mcp_server) as client:
570588
result = await client.call_tool("tool_with_resource", {})

0 commit comments

Comments
 (0)