import pytest from astrbot.core.exceptions import EmptyModelOutputError from astrbot.core.provider.entities import LLMResponse from astrbot.core.provider.sources.gemini_source import ProviderGoogleGenAI def test_gemini_empty_output_raises_empty_model_output_error(): llm_response = LLMResponse(role="assistant") with pytest.raises(EmptyModelOutputError): ProviderGoogleGenAI._ensure_usable_response( llm_response, response_id="resp_empty", finish_reason="STOP", ) def test_gemini_reasoning_only_output_is_allowed(): llm_response = LLMResponse( role="assistant", reasoning_content="chain of thought placeholder", ) ProviderGoogleGenAI._ensure_usable_response( llm_response, response_id="resp_reasoning", finish_reason="STOP", )