@@ -549,6 +549,53 @@ async def test_generate_content_async(mock_acompletion, lite_llm_instance):
549549 )
550550
551551
552+ @pytest .mark .asyncio
553+ async def test_generate_content_async_with_model_override (
554+ mock_acompletion , lite_llm_instance
555+ ):
556+ llm_request = LlmRequest (
557+ model = "overridden_model" ,
558+ contents = [
559+ types .Content (
560+ role = "user" , parts = [types .Part .from_text (text = "Test prompt" )]
561+ )
562+ ],
563+ )
564+
565+ async for response in lite_llm_instance .generate_content_async (llm_request ):
566+ assert response .content .role == "model"
567+ assert response .content .parts [0 ].text == "Test response"
568+
569+ mock_acompletion .assert_called_once ()
570+
571+ _ , kwargs = mock_acompletion .call_args
572+ assert kwargs ["model" ] == "overridden_model"
573+ assert kwargs ["messages" ][0 ]["role" ] == "user"
574+ assert kwargs ["messages" ][0 ]["content" ] == "Test prompt"
575+
576+
577+ @pytest .mark .asyncio
578+ async def test_generate_content_async_without_model_override (
579+ mock_acompletion , lite_llm_instance
580+ ):
581+ llm_request = LlmRequest (
582+ model = None ,
583+ contents = [
584+ types .Content (
585+ role = "user" , parts = [types .Part .from_text (text = "Test prompt" )]
586+ )
587+ ],
588+ )
589+
590+ async for response in lite_llm_instance .generate_content_async (llm_request ):
591+ assert response .content .role == "model"
592+
593+ mock_acompletion .assert_called_once ()
594+
595+ _ , kwargs = mock_acompletion .call_args
596+ assert kwargs ["model" ] == "test_model"
597+
598+
552599@pytest .mark .asyncio
553600async def test_generate_content_async_adds_fallback_user_message (
554601 mock_acompletion , lite_llm_instance
0 commit comments