22
33import pytest
44from inline_snapshot import snapshot
5- from openai .types .chat import ChatCompletion
6- from openai .types .chat .chat_completion import Choice
75
86from pydantic_ai import Agent , ModelHTTPError , ModelRequest , TextPart , ThinkingPart , UnexpectedModelBehavior
97from pydantic_ai .direct import model_request
108
119from ..conftest import try_import
1210
1311with try_import () as imports_successful :
12+ from openai .types .chat import ChatCompletion
13+ from openai .types .chat .chat_completion import Choice
14+
1415 from pydantic_ai .models .openrouter import OpenRouterModel , OpenRouterModelSettings
1516 from pydantic_ai .providers .openrouter import OpenRouterProvider
1617
@@ -127,7 +128,7 @@ async def test_openrouter_validate_non_json_response(openrouter_api_key: str) ->
127128 model = OpenRouterModel ('google/gemini-2.0-flash-exp:free' , provider = provider )
128129
129130 with pytest .raises (UnexpectedModelBehavior ) as exc_info :
130- model ._process_response ('This is not JSON!' )
131+ model ._process_response ('This is not JSON!' ) # type: ignore[reportPrivateUsage]
131132
132133 assert str (exc_info .value ) == snapshot (
133134 'Invalid response from OpenRouter chat completions endpoint, expected JSON data'
@@ -139,10 +140,10 @@ async def test_openrouter_validate_error_response(openrouter_api_key: str) -> No
139140 model = OpenRouterModel ('google/gemini-2.0-flash-exp:free' , provider = provider )
140141
141142 response = ChatCompletion .model_construct (model = 'test' )
142- response .error = {'message' : 'This response has an error attribute' , 'code' : 200 }
143+ response .error = {'message' : 'This response has an error attribute' , 'code' : 200 } # type: ignore[reportAttributeAccessIssue]
143144
144145 with pytest .raises (ModelHTTPError ) as exc_info :
145- model ._process_response (response )
146+ model ._process_response (response ) # type: ignore[reportPrivateUsage]
146147
147148 assert str (exc_info .value ) == snapshot (
148149 'status_code: 200, model_name: test, body: This response has an error attribute'
@@ -157,7 +158,7 @@ async def test_openrouter_validate_error_finish_reason(openrouter_api_key: str)
157158 response = ChatCompletion .model_construct (choices = [choice ])
158159
159160 with pytest .raises (UnexpectedModelBehavior ) as exc_info :
160- model ._process_response (response )
161+ model ._process_response (response ) # type: ignore[reportPrivateUsage]
161162
162163 assert str (exc_info .value ) == snapshot (
163164 'Invalid response from OpenRouter chat completions endpoint, error finish_reason without error data'
0 commit comments