test(a2a): cover registry version resolution; exclude optional-import guards from coverage

This commit is contained in:
Devin AI 2026-07-09 12:48:35 +00:00
parent 367be6b0ad
commit 4c1febe15a
2 changed files with 27 additions and 2 deletions

View file

@ -266,7 +266,7 @@ class A2AConfig(BaseConfig):
from litellm.proxy.agent_endpoints.agent_registry import (
global_agent_registry,
)
except ImportError:
except ImportError: # pragma: no cover - registry only exists in a proxy context
return None
agent = global_agent_registry.get_agent_by_name(agent_name)
@ -288,7 +288,7 @@ class A2AConfig(BaseConfig):
to_core_send_message_request,
)
from a2a.compat.v0_3.types import MessageSendParams, SendMessageRequest
except ImportError as e:
except ImportError as e: # pragma: no cover - a2a-sdk is an optional dependency
raise A2AError(
status_code=500,
message=(

View file

@ -99,6 +99,31 @@ def test_transform_request_reads_pinned_version_from_registry():
global_agent_registry.agent_list = original_agents
def test_transform_request_registry_agent_without_pinned_version_uses_0_3():
"""An agent whose card omits ``protocolVersion`` keeps the legacy 0.3 method."""
try:
from litellm.proxy.agent_endpoints.agent_registry import global_agent_registry
from litellm.types.agents import AgentResponse
except ImportError:
import pytest
pytest.skip("Registry not available (not in proxy context)")
agent = AgentResponse(
agent_id="legacy-id",
agent_name="legacy-agent",
agent_card_params={"url": "http://agent.example.com:9999"},
litellm_params={},
)
original_agents = global_agent_registry.agent_list.copy()
global_agent_registry.register_agent(agent)
try:
request = A2AConfig().transform_request("legacy-agent", _MESSAGES, {}, {}, {})
assert request["method"] == "message/send"
finally:
global_agent_registry.agent_list = original_agents
def test_transform_response_extracts_text_from_v1_message():
"""Regression for #32609: text must be extracted from a 1.0 protobuf-JSON
message result whose parts carry no ``kind`` field."""