fix(payments): retry provider connect failures

This commit is contained in:
BADtochka
2026-06-06 17:10:52 +03:00
parent e5b0daf639
commit a75d2d7ac0
2 changed files with 91 additions and 29 deletions
+15 -1
View File
@@ -1,6 +1,10 @@
import unittest
from bot.payment_providers.shared.http_client import HttpClientMixin
from bot.payment_providers.shared.http_client import (
HttpClientMixin,
_PAYMENT_REQUEST_USER_AGENT,
_should_retry_transport_error,
)
class _DummyHttpClient(HttpClientMixin):
@@ -14,5 +18,15 @@ class PaymentHttpClientTests(unittest.IsolatedAsyncioTestCase):
try:
session = await client._get_session()
self.assertTrue(session.connector.force_close)
self.assertTrue(session.trace_configs)
self.assertEqual(session.headers["User-Agent"], _PAYMENT_REQUEST_USER_AGENT)
finally:
await client.close()
async def test_http_client_retries_only_before_headers_are_sent(self):
self.assertTrue(
_should_retry_transport_error(TimeoutError(), {"headers_sent": False})
)
self.assertFalse(
_should_retry_transport_error(TimeoutError(), {"headers_sent": True})
)