summaryrefslogtreecommitdiff
path: root/t/unit/asynchronous/http/test_curl.py
diff options
context:
space:
mode:
Diffstat (limited to 't/unit/asynchronous/http/test_curl.py')
-rw-r--r--t/unit/asynchronous/http/test_curl.py26
1 files changed, 25 insertions, 1 deletions
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)