Skip to content

Commit 56d237a

Browse files
committed
test: cover get_prompt context=None fallback; revert no branch pragma
- pragma: no branch only exempts branch coverage, not line coverage. The return on line 97 is never executed, so no cover is correct. - get_prompt fallback at server.py:1089 was never hit since all tests use Client (E2E). Added a direct-call test.
1 parent 95d5b32 commit 56d237a

File tree

2 files changed

+14
-1
lines changed

2 files changed

+14
-1
lines changed

src/mcp/server/mcpserver/context.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ async def report_progress(self, progress: float, total: float | None = None, mes
9393
"""
9494
progress_token = self.request_context.meta.get("progress_token") if self.request_context.meta else None
9595

96-
if progress_token is None: # pragma: no branch
96+
if progress_token is None: # pragma: no cover
9797
return
9898

9999
await self.request_context.session.send_progress_notification(

tests/server/mcpserver/test_server.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1231,6 +1231,19 @@ def prompt_no_context(text: str) -> str:
12311231
class TestServerPrompts:
12321232
"""Test prompt functionality in MCPServer server."""
12331233

1234+
async def test_get_prompt_direct_call_without_context(self):
1235+
"""Test calling mcp.get_prompt() directly without passing context."""
1236+
mcp = MCPServer()
1237+
1238+
@mcp.prompt()
1239+
def fn() -> str:
1240+
return "Hello, world!"
1241+
1242+
result = await mcp.get_prompt("fn")
1243+
content = result.messages[0].content
1244+
assert isinstance(content, TextContent)
1245+
assert content.text == "Hello, world!"
1246+
12341247
async def test_prompt_decorator(self):
12351248
"""Test that the prompt decorator registers prompts correctly."""
12361249
mcp = MCPServer()

0 commit comments

Comments
 (0)