Skip to content

Commit 0c8251d

Browse files
committed
fix: Corrected no-cover directives in the MCP server.
1 parent a0a1294 commit 0c8251d

File tree

1 file changed

+13
-13
lines changed
  • pydantic_ai_slim/pydantic_ai

1 file changed

+13
-13
lines changed

pydantic_ai_slim/pydantic_ai/mcp.py

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -293,19 +293,19 @@ async def direct_call_tool(
293293
# The following branching cannot be tested until FastMCP is updated to version 2.13.1
294294
# such that the MCP server can generate ToolResult and result.meta can be specified.
295295
# TODO: Add tests for the following branching once FastMCP is updated.
296-
if len(parts_metadata) > 0: # pragma: no cover
297-
if result.meta is not None and len(result.meta) > 0:
296+
if len(parts_metadata) > 0:
297+
if result.meta is not None and len(result.meta) > 0: # pragma: no cover
298298
# Merge the tool result metadata and parts metadata into the return metadata
299299
return_metadata = {'result': result.meta, 'content': parts_metadata}
300300
else:
301301
# Only parts metadata exists
302-
if len(parts_metadata) == 1:
302+
if len(parts_metadata) == 1: # pragma: no cover
303303
# If there is only one content metadata, unwrap it
304304
return_metadata = parts_metadata[0]
305305
else:
306306
return_metadata = {'content': parts_metadata}
307-
else: # pragma: no cover
308-
if result.meta is not None and len(result.meta) > 0:
307+
else:
308+
if result.meta is not None and len(result.meta) > 0: # pragma: no cover
309309
return_metadata = result.meta
310310
# TODO: What else should we cover here?
311311

@@ -456,33 +456,33 @@ async def _map_tool_result_part(
456456
# The following branching cannot be tested until FastMCP is updated to version 2.13.1
457457
# such that the MCP server can generate ToolResult and result.meta can be specified.
458458
# TODO: Add tests for the following branching once FastMCP is updated.
459-
elif isinstance(part, mcp_types.ResourceLink): # pragma: no cover
459+
elif isinstance(part, mcp_types.ResourceLink):
460460
resource_result: mcp_types.ReadResourceResult = await self._client.read_resource(part.uri)
461461
# Check if metadata already exists. If so, merge it with nested the resource metadata.
462462
parts_metadata: dict[int, dict[str, Any]] = {}
463463
nested_metadata: dict[str, Any] = {}
464464
for idx, content in enumerate(resource_result.contents):
465-
if content.meta is not None:
465+
if content.meta is not None: # pragma: no cover
466466
parts_metadata[idx] = content.meta
467467
if len(parts_metadata) > 0:
468-
if resource_result.meta is not None and len(resource_result.meta) > 0:
468+
if resource_result.meta is not None and len(resource_result.meta) > 0: # pragma: no cover
469469
# Merge the tool result metadata and parts metadata into the return metadata
470470
nested_metadata = {'result': resource_result.meta, 'content': parts_metadata}
471471
else:
472472
# Only parts metadata exists
473-
if len(parts_metadata) == 1:
473+
if len(parts_metadata) == 1: # pragma: no cover
474474
# If there is only one content metadata, unwrap it
475475
nested_metadata = parts_metadata[0]
476476
else:
477-
nested_metadata = {'content': parts_metadata}
477+
nested_metadata = {'content': parts_metadata} # pragma: no cover
478478
else:
479-
if resource_result.meta is not None and len(resource_result.meta) > 0:
479+
if resource_result.meta is not None and len(resource_result.meta) > 0: # pragma: no cover
480480
nested_metadata = resource_result.meta
481481
# FIXME: Is this a correct assumption? If metadata was read from the part then that is the same as resource_result.meta
482482
metadata = nested_metadata
483-
if len(resource_result.contents) == 1:
483+
if len(resource_result.contents) == 1: # pragma: no cover
484484
return self._get_content(resource_result.contents[0]), metadata
485-
else:
485+
else: # pragma: no cover
486486
return [self._get_content(resource) for resource in resource_result.contents], metadata
487487
else:
488488
assert_never(part)

0 commit comments

Comments
 (0)