summaryrefslogtreecommitdiff
path: root/t/unit/asynchronous
diff options
context:
space:
mode:
Diffstat (limited to 't/unit/asynchronous')
-rw-r--r--t/unit/asynchronous/aws/case.py2
-rw-r--r--t/unit/asynchronous/aws/sqs/test_connection.py2
-rw-r--r--t/unit/asynchronous/aws/sqs/test_queue.py2
-rw-r--r--t/unit/asynchronous/aws/test_aws.py2
-rw-r--r--t/unit/asynchronous/aws/test_connection.py2
-rw-r--r--t/unit/asynchronous/http/test_curl.py26
-rw-r--r--t/unit/asynchronous/http/test_http.py2
-rw-r--r--t/unit/asynchronous/test_hub.py38
-rw-r--r--t/unit/asynchronous/test_semaphore.py6
-rw-r--r--t/unit/asynchronous/test_timer.py2
10 files changed, 80 insertions, 4 deletions
diff --git a/t/unit/asynchronous/aws/case.py b/t/unit/asynchronous/aws/case.py
index 56c70812..220cd700 100644
--- a/t/unit/asynchronous/aws/case.py
+++ b/t/unit/asynchronous/aws/case.py
@@ -1,3 +1,5 @@
+from __future__ import annotations
+
import pytest
import t.skip
diff --git a/t/unit/asynchronous/aws/sqs/test_connection.py b/t/unit/asynchronous/aws/sqs/test_connection.py
index c3dd184b..0c5d2ac9 100644
--- a/t/unit/asynchronous/aws/sqs/test_connection.py
+++ b/t/unit/asynchronous/aws/sqs/test_connection.py
@@ -1,3 +1,5 @@
+from __future__ import annotations
+
from unittest.mock import MagicMock, Mock
from kombu.asynchronous.aws.ext import boto3
diff --git a/t/unit/asynchronous/aws/sqs/test_queue.py b/t/unit/asynchronous/aws/sqs/test_queue.py
index 56812831..70f10a75 100644
--- a/t/unit/asynchronous/aws/sqs/test_queue.py
+++ b/t/unit/asynchronous/aws/sqs/test_queue.py
@@ -1,3 +1,5 @@
+from __future__ import annotations
+
from unittest.mock import Mock
import pytest
diff --git a/t/unit/asynchronous/aws/test_aws.py b/t/unit/asynchronous/aws/test_aws.py
index 93d92e4b..736fdf8a 100644
--- a/t/unit/asynchronous/aws/test_aws.py
+++ b/t/unit/asynchronous/aws/test_aws.py
@@ -1,3 +1,5 @@
+from __future__ import annotations
+
from unittest.mock import Mock
from kombu.asynchronous.aws import connect_sqs
diff --git a/t/unit/asynchronous/aws/test_connection.py b/t/unit/asynchronous/aws/test_connection.py
index 68e3c746..03fc5412 100644
--- a/t/unit/asynchronous/aws/test_connection.py
+++ b/t/unit/asynchronous/aws/test_connection.py
@@ -1,3 +1,5 @@
+from __future__ import annotations
+
from contextlib import contextmanager
from io import StringIO
from unittest.mock import Mock
diff --git a/t/unit/asynchronous/http/test_curl.py b/t/unit/asynchronous/http/test_curl.py
index db8f5f91..51f9128e 100644
--- a/t/unit/asynchronous/http/test_curl.py
+++ b/t/unit/asynchronous/http/test_curl.py
@@ -1,4 +1,7 @@
-from unittest.mock import Mock, call, patch
+from __future__ import annotations
+
+from io import BytesIO
+from unittest.mock import ANY, Mock, call, patch
import pytest
@@ -131,3 +134,24 @@ class test_CurlClient:
x._on_event.assert_called_with(fd, _pycurl.CSELECT_IN)
x.on_writable(fd, _pycurl=_pycurl)
x._on_event.assert_called_with(fd, _pycurl.CSELECT_OUT)
+
+ def test_setup_request_sets_proxy_when_specified(self):
+ with patch('kombu.asynchronous.http.curl.pycurl') as _pycurl:
+ x = self.Client()
+ proxy_host = 'http://www.example.com'
+ request = Mock(
+ name='request', headers={}, auth_mode=None, proxy_host=None
+ )
+ proxied_request = Mock(
+ name='request', headers={}, auth_mode=None,
+ proxy_host=proxy_host, proxy_port=123
+ )
+ x._setup_request(
+ x.Curl, request, BytesIO(), x.Headers(), _pycurl=_pycurl
+ )
+ with pytest.raises(AssertionError):
+ x.Curl.setopt.assert_any_call(_pycurl.PROXY, ANY)
+ x._setup_request(
+ x.Curl, proxied_request, BytesIO(), x.Headers(), _pycurl
+ )
+ x.Curl.setopt.assert_any_call(_pycurl.PROXY, proxy_host)
diff --git a/t/unit/asynchronous/http/test_http.py b/t/unit/asynchronous/http/test_http.py
index 6e6abdcb..816bf89d 100644
--- a/t/unit/asynchronous/http/test_http.py
+++ b/t/unit/asynchronous/http/test_http.py
@@ -1,3 +1,5 @@
+from __future__ import annotations
+
from io import BytesIO
from unittest.mock import Mock
diff --git a/t/unit/asynchronous/test_hub.py b/t/unit/asynchronous/test_hub.py
index eae25357..27b048b9 100644
--- a/t/unit/asynchronous/test_hub.py
+++ b/t/unit/asynchronous/test_hub.py
@@ -1,5 +1,7 @@
+from __future__ import annotations
+
import errno
-from unittest.mock import Mock, call, patch
+from unittest.mock import ANY, Mock, call, patch
import pytest
from vine import promise
@@ -187,6 +189,12 @@ class test_Hub:
assert promise() in self.hub._ready
assert ret is promise()
+ def test_call_soon_uses_lock(self):
+ callback = Mock(name='callback')
+ with patch.object(self.hub, '_ready_lock', autospec=True) as lock:
+ self.hub.call_soon(callback)
+ assert lock.__enter__.called_once()
+
def test_call_soon__promise_argument(self):
callback = promise(Mock(name='callback'), (1, 2, 3))
ret = self.hub.call_soon(callback)
@@ -533,3 +541,31 @@ class test_Hub:
callbacks[0].assert_called_once_with()
callbacks[1].assert_called_once_with()
deferred.assert_not_called()
+
+ def test_loop__no_todo_tick_delay(self):
+ cb = Mock(name='parent')
+ cb.todo, cb.tick, cb.poller = Mock(), Mock(), Mock()
+ cb.poller.poll.side_effect = lambda obj: ()
+ self.hub.poller = cb.poller
+ self.hub.add(2, Mock(), READ)
+ self.hub.call_soon(cb.todo)
+ self.hub.on_tick = [cb.tick]
+
+ next(self.hub.loop)
+
+ cb.assert_has_calls([
+ call.todo(),
+ call.tick(),
+ call.poller.poll(ANY),
+ ])
+
+ def test__pop_ready_pops_ready_items(self):
+ self.hub._ready.add(None)
+ ret = self.hub._pop_ready()
+ assert ret == {None}
+ assert self.hub._ready == set()
+
+ def test__pop_ready_uses_lock(self):
+ with patch.object(self.hub, '_ready_lock', autospec=True) as lock:
+ self.hub._pop_ready()
+ assert lock.__enter__.called_once()
diff --git a/t/unit/asynchronous/test_semaphore.py b/t/unit/asynchronous/test_semaphore.py
index 8767ca91..5c41a6d8 100644
--- a/t/unit/asynchronous/test_semaphore.py
+++ b/t/unit/asynchronous/test_semaphore.py
@@ -1,11 +1,13 @@
+from __future__ import annotations
+
from kombu.asynchronous.semaphore import LaxBoundedSemaphore
class test_LaxBoundedSemaphore:
- def test_over_release(self):
+ def test_over_release(self) -> None:
x = LaxBoundedSemaphore(2)
- calls = []
+ calls: list[int] = []
for i in range(1, 21):
x.acquire(calls.append, i)
x.release()
diff --git a/t/unit/asynchronous/test_timer.py b/t/unit/asynchronous/test_timer.py
index 20411784..531b3d2e 100644
--- a/t/unit/asynchronous/test_timer.py
+++ b/t/unit/asynchronous/test_timer.py
@@ -1,3 +1,5 @@
+from __future__ import annotations
+
from datetime import datetime
from unittest.mock import Mock, patch