diff --git a/src/google/adk/models/lite_llm.py b/src/google/adk/models/lite_llm.py index f160c5f927..441554db1d 100644 --- a/src/google/adk/models/lite_llm.py +++ b/src/google/adk/models/lite_llm.py @@ -2769,12 +2769,13 @@ def _finalize_tool_call_response( thought_parts=list(reasoning_parts) if reasoning_parts else None, ) mapped_finish_reason = _map_finish_reason(finish_reason) - llm_response.finish_reason = mapped_finish_reason - if mapped_finish_reason != types.FinishReason.STOP: - llm_response.error_code = mapped_finish_reason - llm_response.error_message = _finish_reason_to_error_message( - mapped_finish_reason - ) + if mapped_finish_reason is not None: + llm_response.finish_reason = mapped_finish_reason + if mapped_finish_reason != types.FinishReason.STOP: + llm_response.error_code = mapped_finish_reason + llm_response.error_message = _finish_reason_to_error_message( + mapped_finish_reason + ) return llm_response def _finalize_text_response( @@ -2790,12 +2791,13 @@ def _finalize_text_response( thought_parts=list(reasoning_parts) if reasoning_parts else None, ) mapped_finish_reason = _map_finish_reason(finish_reason) - llm_response.finish_reason = mapped_finish_reason - if mapped_finish_reason != types.FinishReason.STOP: - llm_response.error_code = mapped_finish_reason - llm_response.error_message = _finish_reason_to_error_message( - mapped_finish_reason - ) + if mapped_finish_reason is not None: + llm_response.finish_reason = mapped_finish_reason + if mapped_finish_reason != types.FinishReason.STOP: + llm_response.error_code = mapped_finish_reason + llm_response.error_message = _finish_reason_to_error_message( + mapped_finish_reason + ) return llm_response def _reset_stream_buffers() -> None: diff --git a/tests/unittests/test_samples.py b/tests/unittests/test_samples.py index 3dde05672d..84ce5accaf 100644 --- a/tests/unittests/test_samples.py +++ b/tests/unittests/test_samples.py @@ -14,7 +14,6 @@ from __future__ import annotations -import json import os from pathlib import Path import sys @@ -23,7 +22,6 @@ from google.adk.apps.app import App from google.adk.cli.agent_test_runner import test_agent_replay as _test_agent_replay from google.adk.cli.utils.agent_loader import AgentLoader -from google.genai import types import pytest CONTRIBUTING_DIR = Path(__file__).parent.parent.parent / "contributing" @@ -126,6 +124,20 @@ def test_sample(sample_dir: Path, test_file: Path, monkeypatch): "adk_team/adk_answering_agent/gemini_assistant": ( "sub-agent of adk_answering_agent, not independently loadable" ), + "a2a/a2a_auth/remote_a2a/bigquery_agent": ( + "requires Google Cloud ADC at import" + ), + "integrations/bigquery": "requires Google Cloud ADC at import", + "integrations/bigquery_mcp": "requires Google Cloud ADC at import", + "integrations/bigtable": "requires Google Cloud ADC at import", + "integrations/data_agent": "requires Google Cloud ADC at import", + "integrations/gcs": "requires Google Cloud ADC at import", + "integrations/gcs_admin": "requires Google Cloud ADC at import", + "integrations/google_api": "requires Google Cloud ADC at import", + "integrations/pubsub": "requires Google Cloud ADC at import", + "integrations/spanner": "requires Google Cloud ADC at import", + "integrations/spanner_admin": "requires Google Cloud ADC at import", + "integrations/spanner_rag_agent": "requires Google Cloud ADC at import", "integrations/oauth_calendar_agent": ( "fetches the Calendar API (calendar v3) discovery doc at import" ),