diff --git a/litellm/llms/a2a/chat/transformation.py b/litellm/llms/a2a/chat/transformation.py index a76b4f864c8..6cc185c4fdf 100644 --- a/litellm/llms/a2a/chat/transformation.py +++ b/litellm/llms/a2a/chat/transformation.py @@ -266,7 +266,7 @@ class A2AConfig(BaseConfig): from litellm.proxy.agent_endpoints.agent_registry import ( global_agent_registry, ) - except ImportError: # pragma: no cover - registry only exists in a proxy context + except ImportError: 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: # pragma: no cover - a2a-sdk is an optional dependency + except ImportError as e: raise A2AError( status_code=500, message=( diff --git a/tests/test_litellm/llms/a2a/chat/test_a2a_chat_transformation.py b/tests/test_litellm/llms/a2a/chat/test_a2a_chat_transformation.py index c79ffab8976..762fe386161 100644 --- a/tests/test_litellm/llms/a2a/chat/test_a2a_chat_transformation.py +++ b/tests/test_litellm/llms/a2a/chat/test_a2a_chat_transformation.py @@ -2,6 +2,8 @@ from unittest.mock import MagicMock +import pytest + from litellm.llms.a2a.chat.transformation import A2A_PROTOCOL_VERSION_PARAM, A2AConfig from litellm.types.utils import ModelResponse @@ -46,6 +48,7 @@ def test_transform_request_defaults_to_0_3(): def test_transform_request_v1_uses_send_message(): """Regression for #32609: a 1.0-pinned agent must get the 1.0 method and the protobuf-JSON envelope (uppercase role enum, parts without ``kind``).""" + pytest.importorskip("a2a") request = A2AConfig().transform_request( "a2a/agent", _MESSAGES, {A2A_PROTOCOL_VERSION_PARAM: "1.0"}, {}, {} ) @@ -57,6 +60,7 @@ def test_transform_request_v1_uses_send_message(): def test_transform_request_v1_streaming_uses_send_streaming_message(): + pytest.importorskip("a2a") request = A2AConfig().transform_request( "a2a/agent", _MESSAGES, {A2A_PROTOCOL_VERSION_PARAM: "1.0", "stream": True}, {}, {} ) @@ -65,6 +69,7 @@ def test_transform_request_v1_streaming_uses_send_streaming_message(): def test_transform_request_v1_from_litellm_params(): """The pinned version may arrive via litellm_params (direct SDK usage).""" + pytest.importorskip("a2a") request = A2AConfig().transform_request( "a2a/agent", _MESSAGES, {}, {A2A_PROTOCOL_VERSION_PARAM: "1.0"}, {} )