5
5
# Licensed under Simplified BSD License (see LICENSE)
6
6
import logging
7
7
import os
8
+ import ssl
8
9
from collections import OrderedDict
9
10
10
11
import mock
@@ -334,7 +335,7 @@ def test_poll_protobuf(mocked_prometheus_check, bin_data):
334
335
"""Tests poll using the protobuf format"""
335
336
check = mocked_prometheus_check
336
337
mock_response = mock .MagicMock (status_code = 200 , content = bin_data , headers = {'Content-Type' : protobuf_content_type })
337
- with mock .patch ('requests.get' , return_value = mock_response , __name__ = "get" ):
338
+ with mock .patch ('requests.Session. get' , return_value = mock_response , __name__ = "get" ):
338
339
response = check .poll ("http://fake.endpoint:10055/metrics" )
339
340
messages = list (check .parse_metric_family (response ))
340
341
assert len (messages ) == 61
@@ -347,7 +348,7 @@ def test_poll_text_plain(mocked_prometheus_check, text_data):
347
348
mock_response = mock .MagicMock (
348
349
status_code = 200 , iter_lines = lambda ** kwargs : text_data .split ("\n " ), headers = {'Content-Type' : "text/plain" }
349
350
)
350
- with mock .patch ('requests.get' , return_value = mock_response , __name__ = "get" ):
351
+ with mock .patch ('requests.Session. get' , return_value = mock_response , __name__ = "get" ):
351
352
response = check .poll ("http://fake.endpoint:10055/metrics" )
352
353
messages = list (check .parse_metric_family (response ))
353
354
messages .sort (key = lambda x : x .name )
@@ -1284,7 +1285,7 @@ def test_label_joins(sorted_tags_check):
1284
1285
mock_response = mock .MagicMock (
1285
1286
status_code = 200 , iter_lines = lambda ** kwargs : text_data .split ("\n " ), headers = {'Content-Type' : "text/plain" }
1286
1287
)
1287
- with mock .patch ('requests.get' , return_value = mock_response , __name__ = "get" ):
1288
+ with mock .patch ('requests.Session. get' , return_value = mock_response , __name__ = "get" ):
1288
1289
check = sorted_tags_check
1289
1290
check .NAMESPACE = 'ksm'
1290
1291
check .label_joins = {
@@ -1634,7 +1635,7 @@ def test_label_joins_gc(sorted_tags_check):
1634
1635
mock_response = mock .MagicMock (
1635
1636
status_code = 200 , iter_lines = lambda ** kwargs : text_data .split ("\n " ), headers = {'Content-Type' : "text/plain" }
1636
1637
)
1637
- with mock .patch ('requests.get' , return_value = mock_response , __name__ = "get" ):
1638
+ with mock .patch ('requests.Session. get' , return_value = mock_response , __name__ = "get" ):
1638
1639
check = sorted_tags_check
1639
1640
check .NAMESPACE = 'ksm'
1640
1641
check .label_joins = {'kube_pod_info' : {'label_to_match' : 'pod' , 'labels_to_get' : ['node' , 'pod_ip' ]}}
@@ -1684,7 +1685,7 @@ def test_label_joins_gc(sorted_tags_check):
1684
1685
mock_response = mock .MagicMock (
1685
1686
status_code = 200 , iter_lines = lambda ** kwargs : text_data .split ("\n " ), headers = {'Content-Type' : "text/plain" }
1686
1687
)
1687
- with mock .patch ('requests.get' , return_value = mock_response , __name__ = "get" ):
1688
+ with mock .patch ('requests.Session. get' , return_value = mock_response , __name__ = "get" ):
1688
1689
check .process ("http://fake.endpoint:10055/metrics" )
1689
1690
assert 'dd-agent-1337' in check ._label_mapping ['pod' ]
1690
1691
assert 'dd-agent-62bgh' not in check ._label_mapping ['pod' ]
@@ -1700,7 +1701,7 @@ def test_label_joins_missconfigured(sorted_tags_check):
1700
1701
mock_response = mock .MagicMock (
1701
1702
status_code = 200 , iter_lines = lambda ** kwargs : text_data .split ("\n " ), headers = {'Content-Type' : "text/plain" }
1702
1703
)
1703
- with mock .patch ('requests.get' , return_value = mock_response , __name__ = "get" ):
1704
+ with mock .patch ('requests.Session. get' , return_value = mock_response , __name__ = "get" ):
1704
1705
check = sorted_tags_check
1705
1706
check .NAMESPACE = 'ksm'
1706
1707
check .label_joins = {'kube_pod_info' : {'label_to_match' : 'pod' , 'labels_to_get' : ['node' , 'not_existing' ]}}
@@ -1753,7 +1754,7 @@ def test_label_join_not_existing(sorted_tags_check):
1753
1754
mock_response = mock .MagicMock (
1754
1755
status_code = 200 , iter_lines = lambda ** kwargs : text_data .split ("\n " ), headers = {'Content-Type' : "text/plain" }
1755
1756
)
1756
- with mock .patch ('requests.get' , return_value = mock_response , __name__ = "get" ):
1757
+ with mock .patch ('requests.Session. get' , return_value = mock_response , __name__ = "get" ):
1757
1758
check = sorted_tags_check
1758
1759
check .NAMESPACE = 'ksm'
1759
1760
check .label_joins = {'kube_pod_info' : {'label_to_match' : 'not_existing' , 'labels_to_get' : ['node' , 'pod_ip' ]}}
@@ -1792,7 +1793,7 @@ def test_label_join_metric_not_existing(sorted_tags_check):
1792
1793
mock_response = mock .MagicMock (
1793
1794
status_code = 200 , iter_lines = lambda ** kwargs : text_data .split ("\n " ), headers = {'Content-Type' : "text/plain" }
1794
1795
)
1795
- with mock .patch ('requests.get' , return_value = mock_response , __name__ = "get" ):
1796
+ with mock .patch ('requests.Session. get' , return_value = mock_response , __name__ = "get" ):
1796
1797
check = sorted_tags_check
1797
1798
check .NAMESPACE = 'ksm'
1798
1799
check .label_joins = {'not_existing' : {'label_to_match' : 'pod' , 'labels_to_get' : ['node' , 'pod_ip' ]}}
@@ -1831,7 +1832,7 @@ def test_label_join_with_hostname(sorted_tags_check):
1831
1832
mock_response = mock .MagicMock (
1832
1833
status_code = 200 , iter_lines = lambda ** kwargs : text_data .split ("\n " ), headers = {'Content-Type' : "text/plain" }
1833
1834
)
1834
- with mock .patch ('requests.get' , return_value = mock_response , __name__ = "get" ):
1835
+ with mock .patch ('requests.Session. get' , return_value = mock_response , __name__ = "get" ):
1835
1836
check = sorted_tags_check
1836
1837
check .NAMESPACE = 'ksm'
1837
1838
check .label_joins = {'kube_pod_info' : {'label_to_match' : 'pod' , 'labels_to_get' : ['node' ]}}
@@ -1883,7 +1884,7 @@ def mock_get():
1883
1884
with open (f_name , 'r' ) as f :
1884
1885
text_data = f .read ()
1885
1886
mock_get = mock .patch (
1886
- 'requests.get' ,
1887
+ 'requests.Session. get' ,
1887
1888
return_value = mock .MagicMock (
1888
1889
status_code = 200 , iter_lines = lambda ** kwargs : text_data .split ("\n " ), headers = {'Content-Type' : "text/plain" }
1889
1890
),
@@ -1966,7 +1967,7 @@ def test_ssl_verify_not_raise_warning(caplog, mocked_prometheus_check, text_data
1966
1967
1967
1968
check = mocked_prometheus_check
1968
1969
1969
- with caplog .at_level (logging .DEBUG ), mock .patch ('requests.get' , return_value = MockResponse ('httpbin.org' )):
1970
+ with caplog .at_level (logging .DEBUG ), mock .patch ('requests.Session. get' , return_value = MockResponse ('httpbin.org' )):
1970
1971
resp = check .poll ('https://httpbin.org/get' )
1971
1972
1972
1973
assert 'httpbin.org' in resp .content .decode ('utf-8' )
@@ -1982,7 +1983,7 @@ def test_ssl_verify_not_raise_warning_cert_false(caplog, mocked_prometheus_check
1982
1983
check = mocked_prometheus_check
1983
1984
check .ssl_ca_cert = False
1984
1985
1985
- with caplog .at_level (logging .DEBUG ), mock .patch ('requests.get' , return_value = MockResponse ('httpbin.org' )):
1986
+ with caplog .at_level (logging .DEBUG ), mock .patch ('requests.Session. get' , return_value = MockResponse ('httpbin.org' )):
1986
1987
resp = check .poll ('https://httpbin.org/get' )
1987
1988
1988
1989
assert 'httpbin.org' in resp .content .decode ('utf-8' )
@@ -2018,29 +2019,32 @@ def test_requests_wrapper_config():
2018
2019
]
2019
2020
)
2020
2021
2021
- with mock .patch ("requests.get" ) as get :
2022
- check .poll (instance_http ['prometheus_endpoint' ], instance = instance_http )
2023
- get .assert_called_with (
2024
- instance_http ['prometheus_endpoint' ],
2025
- stream = False ,
2026
- headers = expected_headers ,
2027
- auth = requests .auth .HTTPDigestAuth ('data' , 'dog' ),
2028
- cert = '/path/to/cert' ,
2029
- timeout = (42.0 , 42.0 ),
2030
- proxies = None ,
2031
- verify = True ,
2032
- allow_redirects = True ,
2033
- )
2034
-
2035
- check .poll (instance_http ['prometheus_endpoint' ])
2036
- get .assert_called_with (
2037
- instance_http ['prometheus_endpoint' ],
2038
- stream = False ,
2039
- headers = expected_headers ,
2040
- auth = requests .auth .HTTPDigestAuth ('data' , 'dog' ),
2041
- cert = '/path/to/cert' ,
2042
- timeout = (42.0 , 42.0 ),
2043
- proxies = None ,
2044
- verify = True ,
2045
- allow_redirects = True ,
2046
- )
2022
+ with mock .patch ("requests.Session.get" ) as get :
2023
+ with mock .patch .object (ssl .SSLContext , 'load_cert_chain' ) as mock_load_cert_chain :
2024
+ mock_load_cert_chain .return_value = None
2025
+
2026
+ check .poll (instance_http ['prometheus_endpoint' ], instance = instance_http )
2027
+ get .assert_called_with (
2028
+ instance_http ['prometheus_endpoint' ],
2029
+ stream = False ,
2030
+ headers = expected_headers ,
2031
+ auth = requests .auth .HTTPDigestAuth ('data' , 'dog' ),
2032
+ cert = '/path/to/cert' ,
2033
+ timeout = (42.0 , 42.0 ),
2034
+ proxies = None ,
2035
+ verify = True ,
2036
+ allow_redirects = True ,
2037
+ )
2038
+
2039
+ check .poll (instance_http ['prometheus_endpoint' ])
2040
+ get .assert_called_with (
2041
+ instance_http ['prometheus_endpoint' ],
2042
+ stream = False ,
2043
+ headers = expected_headers ,
2044
+ auth = requests .auth .HTTPDigestAuth ('data' , 'dog' ),
2045
+ cert = '/path/to/cert' ,
2046
+ timeout = (42.0 , 42.0 ),
2047
+ proxies = None ,
2048
+ verify = True ,
2049
+ allow_redirects = True ,
2050
+ )
0 commit comments