5
5
from mcp .shared .memory import (
6
6
create_connected_server_and_client_session as client_session ,
7
7
)
8
+ from mcp .types import TextContent
8
9
9
10
10
11
@pytest .mark .anyio
@@ -16,6 +17,7 @@ async def test_simple_echo():
16
17
result = await client .call_tool ("echo" , {"text" : "hello" })
17
18
assert len (result .content ) == 1
18
19
content = result .content [0 ]
20
+ assert isinstance (content , TextContent )
19
21
assert content .text == "hello"
20
22
21
23
@@ -30,6 +32,9 @@ async def test_complex_inputs():
30
32
"name_shrimp" , {"tank" : tank , "extra_names" : ["charlie" ]}
31
33
)
32
34
assert len (result .content ) == 3
35
+ assert isinstance (result .content [0 ], TextContent )
36
+ assert isinstance (result .content [1 ], TextContent )
37
+ assert isinstance (result .content [2 ], TextContent )
33
38
assert result .content [0 ].text == "bob"
34
39
assert result .content [1 ].text == "alice"
35
40
assert result .content [2 ].text == "charlie"
@@ -38,17 +43,21 @@ async def test_complex_inputs():
38
43
@pytest .mark .anyio
39
44
async def test_desktop ():
40
45
"""Test the desktop server"""
46
+ from pydantic import AnyUrl
47
+
41
48
from examples .fastmcp .desktop import mcp
42
49
43
50
async with client_session (mcp ._mcp_server ) as client :
44
51
# Test the add function
45
52
result = await client .call_tool ("add" , {"a" : 1 , "b" : 2 })
46
53
assert len (result .content ) == 1
47
54
content = result .content [0 ]
55
+ assert isinstance (content , TextContent )
48
56
assert content .text == "3"
49
57
50
58
# Test the desktop resource
51
- result = await client .read_resource ("dir://desktop" )
59
+ result = await client .read_resource (AnyUrl ( "dir://desktop" ) )
52
60
assert len (result .contents ) == 1
53
61
content = result .contents [0 ]
62
+ assert isinstance (content , TextContent )
54
63
assert isinstance (content .text , str )
0 commit comments