diff options
Diffstat (limited to 't/unit/asynchronous')
| -rw-r--r-- | t/unit/asynchronous/aws/case.py | 2 | ||||
| -rw-r--r-- | t/unit/asynchronous/aws/sqs/test_connection.py | 2 | ||||
| -rw-r--r-- | t/unit/asynchronous/aws/sqs/test_queue.py | 2 | ||||
| -rw-r--r-- | t/unit/asynchronous/aws/test_aws.py | 2 | ||||
| -rw-r--r-- | t/unit/asynchronous/aws/test_connection.py | 2 | ||||
| -rw-r--r-- | t/unit/asynchronous/http/test_curl.py | 26 | ||||
| -rw-r--r-- | t/unit/asynchronous/http/test_http.py | 2 | ||||
| -rw-r--r-- | t/unit/asynchronous/test_hub.py | 38 | ||||
| -rw-r--r-- | t/unit/asynchronous/test_semaphore.py | 6 | ||||
| -rw-r--r-- | t/unit/asynchronous/test_timer.py | 2 |
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 |
