diff --git a/pyproject.toml b/pyproject.toml index 73c52510..8e487f40 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -77,6 +77,7 @@ target-version = "py310" [tool.ruff.lint.per-file-ignores] "__init__.py" = ["F401"] +"tests/server/fastmcp/test_func_metadata.py" = ["E501"] [tool.uv.workspace] members = ["examples/servers/*"] diff --git a/tests/server/fastmcp/test_func_metadata.py b/tests/server/fastmcp/test_func_metadata.py index 8619e473..7173b43b 100644 --- a/tests/server/fastmcp/test_func_metadata.py +++ b/tests/server/fastmcp/test_func_metadata.py @@ -300,7 +300,7 @@ def test_complex_function_json_schema(): }, "field_with_default_via_field_annotation_before_nondefault_arg": { "default": 1, - "title": "Field With Default Via Field Annotation Before Arg", + "title": "Field With Default Via Field Annotation Before Nondefault Arg", "type": "integer", }, "unannotated": {"title": "unannotated", "type": "string"}, @@ -319,7 +319,7 @@ def test_complex_function_json_schema(): "type": "string", }, "my_model_a_with_default": { - "allOf": [{"$ref": "#/$defs/SomeInputModelA"}], + "$ref": "#/$defs/SomeInputModelA", "default": {}, }, "an_int_with_default": { diff --git a/tests/test_examples.py b/tests/test_examples.py index 62cd18c8..b097fafb 100644 --- a/tests/test_examples.py +++ b/tests/test_examples.py @@ -5,7 +5,7 @@ import pytest from mcp.shared.memory import ( create_connected_server_and_client_session as client_session, ) -from mcp.types import TextContent +from mcp.types import TextContent, TextResourceContents @pytest.mark.anyio @@ -41,12 +41,19 @@ async def test_complex_inputs(): @pytest.mark.anyio -async def test_desktop(): +async def test_desktop(monkeypatch): """Test the desktop server""" + from pathlib import Path + from pydantic import AnyUrl from examples.fastmcp.desktop import mcp + # Mock desktop directory listing + mock_files = [Path("/fake/path/file1.txt"), Path("/fake/path/file2.txt")] + monkeypatch.setattr(Path, "iterdir", lambda self: mock_files) + monkeypatch.setattr(Path, "home", lambda: Path("/fake/home")) + async with client_session(mcp._mcp_server) as client: # Test the add function result = await client.call_tool("add", {"a": 1, "b": 2}) @@ -59,5 +66,7 @@ async def test_desktop(): result = await client.read_resource(AnyUrl("dir://desktop")) assert len(result.contents) == 1 content = result.contents[0] - assert isinstance(content, TextContent) + assert isinstance(content, TextResourceContents) assert isinstance(content.text, str) + assert "/fake/path/file1.txt" in content.text + assert "/fake/path/file2.txt" in content.text