@@ -204,10 +204,10 @@ def test_sync_exhausts_retries(self, mock_sleep: Any) -> None:
204204 )
205205 transport = _RetryTransport (
206206 transport = fake , # type: ignore[arg-type]
207- retry_config = RetryConfig (max_retries = 5 , backoff_factor = 2.0 , max_wait = 0.01 ),
207+ # max_retries=4 → 5 total attempts (initial + 4 retries)
208+ retry_config = RetryConfig (max_retries = 4 , backoff_factor = 2.0 , max_wait = 0.01 ),
208209 )
209210 response = transport .handle_request (_make_request ())
210- # max_retries=5 total, so 5 calls
211211 assert response .status_code == 503
212212 assert fake .call_count == 5
213213 assert mock_sleep .call_count == 4
@@ -327,8 +327,9 @@ def test_sync_backoff_capped(self, mock_sleep: Any, mock_uniform: Any) -> None:
327327 )
328328 transport = _RetryTransport (
329329 transport = fake , # type: ignore[arg-type]
330+ # max_retries=4 → 5 total attempts (initial + 4 retries) = 4 sleeps
330331 retry_config = RetryConfig (
331- max_retries = 5 ,
332+ max_retries = 4 ,
332333 backoff_factor = 2.0 ,
333334 max_wait = 3.0 ,
334335 ),
@@ -516,7 +517,8 @@ def test_sync_closes_all_on_exhaustion(self, mock_sleep: Any) -> None:
516517 fake = _TrackingTransport (responses )
517518 transport = _RetryTransport (
518519 transport = fake , # type: ignore[arg-type]
519- retry_config = RetryConfig (max_retries = 3 , backoff_factor = 2.0 , max_wait = 0.01 ),
520+ # max_retries=2 → 3 total attempts (initial + 2 retries)
521+ retry_config = RetryConfig (max_retries = 2 , backoff_factor = 2.0 , max_wait = 0.01 ),
520522 )
521523 result = transport .handle_request (_make_request ())
522524 assert result .status_code == 500
@@ -597,10 +599,10 @@ async def test_async_exhausts_retries(self, mock_sleep: Any) -> None:
597599 )
598600 transport = _AsyncRetryTransport (
599601 transport = fake , # type: ignore[arg-type]
600- retry_config = RetryConfig (max_retries = 5 , backoff_factor = 2.0 , max_wait = 0.01 ),
602+ # max_retries=4 → 5 total attempts (initial + 4 retries)
603+ retry_config = RetryConfig (max_retries = 4 , backoff_factor = 2.0 , max_wait = 0.01 ),
601604 )
602605 response = await transport .handle_async_request (_make_request ())
603- # max_retries=5 total, so 5 calls
604606 assert response .status_code == 502
605607 assert fake .call_count == 5
606608 assert mock_sleep .call_count == 4
@@ -659,8 +661,9 @@ async def test_async_backoff_capped(self, mock_sleep: Any, mock_uniform: Any) ->
659661 )
660662 transport = _AsyncRetryTransport (
661663 transport = fake , # type: ignore[arg-type]
664+ # max_retries=4 → 5 total attempts (initial + 4 retries) = 4 sleeps
662665 retry_config = RetryConfig (
663- max_retries = 5 ,
666+ max_retries = 4 ,
664667 backoff_factor = 2.0 ,
665668 max_wait = 3.0 ,
666669 ),
@@ -704,7 +707,8 @@ async def test_async_closes_all_on_exhaustion(self, mock_sleep: Any) -> None:
704707 fake = _TrackingAsyncTransport (responses )
705708 transport = _AsyncRetryTransport (
706709 transport = fake , # type: ignore[arg-type]
707- retry_config = RetryConfig (max_retries = 3 , backoff_factor = 2.0 , max_wait = 0.01 ),
710+ # max_retries=2 → 3 total attempts (initial + 2 retries)
711+ retry_config = RetryConfig (max_retries = 2 , backoff_factor = 2.0 , max_wait = 0.01 ),
708712 )
709713 result = await transport .handle_async_request (_make_request ())
710714 assert result .status_code == 503
@@ -781,14 +785,14 @@ def test_sync_client_retries_500_then_raises(self, mock_sleep: Any) -> None:
781785 )
782786 retry_transport = _RetryTransport (
783787 transport = fake , # type: ignore[arg-type]
784- retry_config = RetryConfig (max_retries = 3 , backoff_factor = 2.0 , max_wait = 0.01 ),
788+ # max_retries=2 → 3 total attempts (initial + 2 retries)
789+ retry_config = RetryConfig (max_retries = 2 , backoff_factor = 2.0 , max_wait = 0.01 ),
785790 )
786791 client ._client ._transport = retry_transport # type: ignore[assignment]
787792
788793 with pytest .raises (ApiError ) as exc_info :
789794 client .get ("/indexes" )
790795 assert exc_info .value .status_code == 500
791- # max_retries=3 total
792796 assert fake .call_count == 3
793797
794798 @patch ("pinecone._internal.http_client.time.sleep" )
0 commit comments