summaryrefslogtreecommitdiff
path: root/t/mocks.py
diff options
context:
space:
mode:
authorAsif Saif Uddin <auvipy@gmail.com>2023-04-08 22:45:08 +0600
committerGitHub <noreply@github.com>2023-04-08 22:45:08 +0600
commit973dc3790ac25b9da7b6d2641ac72d95470f6ed8 (patch)
tree9e7ba02d8520994a06efc37dde05fba722138189 /t/mocks.py
parent7ceb675bb69917fae182ebdaf9a2298a308c3fa4 (diff)
parent2de7f9f038dd62e097e490cb3fa609067c1c3c36 (diff)
downloadkombu-py310.tar.gz
Merge branch 'main' into py310py310
Diffstat (limited to 't/mocks.py')
-rw-r--r--t/mocks.py26
1 files changed, 25 insertions, 1 deletions
diff --git a/t/mocks.py b/t/mocks.py
index b02a34d6..4c99f010 100644
--- a/t/mocks.py
+++ b/t/mocks.py
@@ -1,9 +1,16 @@
+from __future__ import annotations
+
+import time
from itertools import count
+from typing import TYPE_CHECKING
from unittest.mock import Mock
from kombu.transport import base
from kombu.utils import json
+if TYPE_CHECKING:
+ from types import TracebackType
+
class _ContextMock(Mock):
"""Dummy class implementing __enter__ and __exit__
@@ -13,7 +20,12 @@ class _ContextMock(Mock):
def __enter__(self):
return self
- def __exit__(self, *exc_info):
+ def __exit__(
+ self,
+ exc_type: type[BaseException] | None,
+ exc_val: BaseException | None,
+ exc_tb: TracebackType | None
+ ) -> None:
pass
@@ -191,3 +203,15 @@ class Transport(base.Transport):
def close_connection(self, connection):
connection.connected = False
+
+
+class TimeoutingTransport(Transport):
+ recoverable_connection_errors = (TimeoutError,)
+
+ def __init__(self, connect_timeout=1, **kwargs):
+ self.connect_timeout = connect_timeout
+ super().__init__(**kwargs)
+
+ def establish_connection(self):
+ time.sleep(self.connect_timeout)
+ raise TimeoutError('timed out')