Skip to content

Commit f0f8beb

Browse files
committed
update unit tests for prompt manager
1 parent 8e3a312 commit f0f8beb

File tree

2 files changed

+14
-21
lines changed

2 files changed

+14
-21
lines changed

src/mcp/server/fastmcp/server.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
AuthSettings,
3636
)
3737
from mcp.server.fastmcp.exceptions import ResourceError
38-
from mcp.server.fastmcp.prompts import Prompt, PromptManager
38+
from mcp.server.fastmcp.prompts import PromptManager
3939
from mcp.server.fastmcp.resources import FunctionResource, Resource, ResourceManager
4040
from mcp.server.fastmcp.tools import ToolManager
4141
from mcp.server.fastmcp.utilities.logging import configure_logging, get_logger

tests/server/fastmcp/prompts/test_manager.py

Lines changed: 13 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,10 @@ def fn() -> str:
1212
return "Hello, world!"
1313

1414
manager = PromptManager()
15-
prompt = Prompt.from_function(fn)
16-
added = manager.add_prompt(prompt)
17-
assert added == prompt
18-
assert manager.get_prompt("fn") == prompt
15+
added = manager.add_prompt(fn)
16+
assert isinstance(added, Prompt)
17+
assert added.name == "fn"
18+
assert manager.get_prompt("fn") == added
1919

2020
def test_add_duplicate_prompt(self, caplog):
2121
"""Test adding the same prompt twice."""
@@ -24,9 +24,8 @@ def fn() -> str:
2424
return "Hello, world!"
2525

2626
manager = PromptManager()
27-
prompt = Prompt.from_function(fn)
28-
first = manager.add_prompt(prompt)
29-
second = manager.add_prompt(prompt)
27+
first = manager.add_prompt(fn)
28+
second = manager.add_prompt(fn)
3029
assert first == second
3130
assert "Prompt already exists" in caplog.text
3231

@@ -37,9 +36,8 @@ def fn() -> str:
3736
return "Hello, world!"
3837

3938
manager = PromptManager(warn_on_duplicate_prompts=False)
40-
prompt = Prompt.from_function(fn)
41-
first = manager.add_prompt(prompt)
42-
second = manager.add_prompt(prompt)
39+
first = manager.add_prompt(fn)
40+
second = manager.add_prompt(fn)
4341
assert first == second
4442
assert "Prompt already exists" not in caplog.text
4543

@@ -53,10 +51,8 @@ def fn2() -> str:
5351
return "Goodbye, world!"
5452

5553
manager = PromptManager()
56-
prompt1 = Prompt.from_function(fn1)
57-
prompt2 = Prompt.from_function(fn2)
58-
manager.add_prompt(prompt1)
59-
manager.add_prompt(prompt2)
54+
prompt1 = manager.add_prompt(fn1)
55+
prompt2 = manager.add_prompt(fn2)
6056
prompts = manager.list_prompts()
6157
assert len(prompts) == 2
6258
assert prompts == [prompt1, prompt2]
@@ -69,8 +65,7 @@ def fn() -> str:
6965
return "Hello, world!"
7066

7167
manager = PromptManager()
72-
prompt = Prompt.from_function(fn)
73-
manager.add_prompt(prompt)
68+
manager.add_prompt(fn)
7469
messages = await manager.render_prompt("fn")
7570
assert messages == [
7671
UserMessage(content=TextContent(type="text", text="Hello, world!"))
@@ -84,8 +79,7 @@ def fn(name: str) -> str:
8479
return f"Hello, {name}!"
8580

8681
manager = PromptManager()
87-
prompt = Prompt.from_function(fn)
88-
manager.add_prompt(prompt)
82+
manager.add_prompt(fn)
8983
messages = await manager.render_prompt("fn", arguments={"name": "World"})
9084
assert messages == [
9185
UserMessage(content=TextContent(type="text", text="Hello, World!"))
@@ -106,7 +100,6 @@ def fn(name: str) -> str:
106100
return f"Hello, {name}!"
107101

108102
manager = PromptManager()
109-
prompt = Prompt.from_function(fn)
110-
manager.add_prompt(prompt)
103+
manager.add_prompt(fn)
111104
with pytest.raises(ValueError, match="Missing required arguments"):
112105
await manager.render_prompt("fn")

0 commit comments

Comments
 (0)