@@ -32,6 +32,7 @@ def mock_ok_response(self):
3232 response = Mock (spec = Response )
3333 response .raise_for_status = Mock ()
3434 response .status_code = 200
35+ response .headers = {}
3536 return response
3637
3738 # -------------------------------------------------------------------------
@@ -135,6 +136,7 @@ async def test_async_context_manager(self):
135136 async def test_401_raises_invalid_api_key (self , client ):
136137 mock_response = Mock (spec = Response )
137138 mock_response .status_code = 401
139+ mock_response .headers = {}
138140 mock_response .json .return_value = {
139141 "ErrorCode" : 10 ,
140142 "Message" : "Invalid API key" ,
@@ -157,6 +159,7 @@ async def test_401_raises_invalid_api_key(self, client):
157159 async def test_422_raises_validation_exception (self , client ):
158160 mock_response = Mock (spec = Response )
159161 mock_response .status_code = 422
162+ mock_response .headers = {}
160163 mock_response .json .return_value = {
161164 "ErrorCode" : 300 ,
162165 "Message" : "Invalid request body" ,
@@ -200,13 +203,15 @@ async def test_retries_on_rate_limit(self):
200203
201204 failing_resp = Mock (spec = Response )
202205 failing_resp .status_code = 429
206+ failing_resp .headers = {}
203207 failing_resp .json .return_value = {"ErrorCode" : 429 , "Message" : "Rate limit" }
204208 failing_resp .raise_for_status .side_effect = HTTPStatusError (
205209 "429" , request = Mock (), response = failing_resp
206210 )
207211 ok_resp = Mock (spec = Response )
208212 ok_resp .raise_for_status = Mock ()
209213 ok_resp .status_code = 200
214+ ok_resp .headers = {}
210215
211216 with patch ("asyncio.sleep" , new_callable = AsyncMock ):
212217 with patch .object (
@@ -226,6 +231,7 @@ async def test_retries_exhausted_reraises(self):
226231
227232 mock_response = Mock (spec = Response )
228233 mock_response .status_code = 500
234+ mock_response .headers = {}
229235 mock_response .json .return_value = {"ErrorCode" : 500 , "Message" : "Server error" }
230236 mock_response .raise_for_status .side_effect = HTTPStatusError (
231237 "500" , request = Mock (), response = mock_response
@@ -249,6 +255,7 @@ async def test_no_retry_on_validation_error(self):
249255
250256 mock_response = Mock (spec = Response )
251257 mock_response .status_code = 422
258+ mock_response .headers = {}
252259 mock_response .json .return_value = {
253260 "ErrorCode" : 300 ,
254261 "Message" : "Validation error" ,
@@ -271,6 +278,7 @@ async def test_retries_disabled_with_zero(self):
271278
272279 mock_response = Mock (spec = Response )
273280 mock_response .status_code = 500
281+ mock_response .headers = {}
274282 mock_response .json .return_value = {"ErrorCode" : 500 , "Message" : "Server error" }
275283 mock_response .raise_for_status .side_effect = HTTPStatusError (
276284 "500" , request = Mock (), response = mock_response
0 commit comments