Skip to content

Commit 63b5b09

Browse files
committed
Fix base package tests
1 parent 99292e5 commit 63b5b09

File tree

11 files changed

+325
-142
lines changed

11 files changed

+325
-142
lines changed

datadog_checks_base/tests/base/checks/openmetrics/test_legacy/test_openmetrics.py

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,7 @@ def test_poll_text_plain(mocked_prometheus_check, mocked_prometheus_scraper_conf
157157
mock_response = mock.MagicMock(
158158
status_code=200, iter_lines=lambda **kwargs: text_data.split("\n"), headers={'Content-Type': text_content_type}
159159
)
160-
with mock.patch('requests.get', return_value=mock_response, __name__="get"):
160+
with mock.patch('requests.Session.get', return_value=mock_response, __name__="get"):
161161
response = check.poll(mocked_prometheus_scraper_config)
162162
messages = list(check.parse_metric_family(response, mocked_prometheus_scraper_config))
163163
messages.sort(key=lambda x: x.name)
@@ -174,7 +174,7 @@ def test_poll_octet_stream(mocked_prometheus_check, mocked_prometheus_scraper_co
174174
mock_response.status_code = 200
175175
mock_response.headers = {'Content-Type': 'application/octet-stream'}
176176

177-
with mock.patch('requests.get', return_value=mock_response, __name__="get"):
177+
with mock.patch('requests.Session.get', return_value=mock_response, __name__="get"):
178178
response = check.poll(mocked_prometheus_scraper_config)
179179
messages = list(check.parse_metric_family(response, mocked_prometheus_scraper_config))
180180
assert len(messages) == 40
@@ -1695,7 +1695,7 @@ def test_ignore_metrics_multiple_wildcards(
16951695
mock_response = mock.MagicMock(
16961696
status_code=200, iter_lines=lambda **kwargs: text_data.split("\n"), headers={'Content-Type': text_content_type}
16971697
)
1698-
with mock.patch('requests.get', return_value=mock_response, __name__="get"):
1698+
with mock.patch('requests.Session.get', return_value=mock_response, __name__="get"):
16991699
check.process(config)
17001700

17011701
# Make sure metrics are ignored
@@ -1803,7 +1803,7 @@ def test_metrics_with_ignore_label_values(
18031803
mock_response = mock.MagicMock(
18041804
status_code=200, iter_lines=lambda **kwargs: text_data.split("\n"), headers={'Content-Type': text_content_type}
18051805
)
1806-
with mock.patch('requests.get', return_value=mock_response, __name__="get"):
1806+
with mock.patch('requests.Session.get', return_value=mock_response, __name__="get"):
18071807
check.process(config)
18081808

18091809
# Make sure metrics are ignored
@@ -1854,7 +1854,7 @@ def test_match_metrics_multiple_wildcards(
18541854
mock_response = mock.MagicMock(
18551855
status_code=200, iter_lines=lambda **kwargs: text_data.split("\n"), headers={'Content-Type': text_content_type}
18561856
)
1857-
with mock.patch('requests.get', return_value=mock_response, __name__="get"):
1857+
with mock.patch('requests.Session.get', return_value=mock_response, __name__="get"):
18581858
check.process(config)
18591859

18601860
aggregator.assert_metric('prometheus.go_memstats_mcache_inuse_bytes', count=1)
@@ -2304,7 +2304,7 @@ def test_label_joins_gc(aggregator, mocked_prometheus_check, mocked_prometheus_s
23042304
mock_response = mock.MagicMock(
23052305
status_code=200, iter_lines=lambda **kwargs: text_data.split("\n"), headers={'Content-Type': text_content_type}
23062306
)
2307-
with mock.patch('requests.get', return_value=mock_response, __name__="get"):
2307+
with mock.patch('requests.Session.get', return_value=mock_response, __name__="get"):
23082308
check.process(mocked_prometheus_scraper_config)
23092309
assert 'dd-agent-1337' in mocked_prometheus_scraper_config['_label_mapping']['pod']
23102310
assert 'dd-agent-62bgh' not in mocked_prometheus_scraper_config['_label_mapping']['pod']
@@ -2464,7 +2464,7 @@ def test_label_join_state_change(aggregator, mocked_prometheus_check, mocked_pro
24642464
mock_response = mock.MagicMock(
24652465
status_code=200, iter_lines=lambda **kwargs: text_data.split("\n"), headers={'Content-Type': text_content_type}
24662466
)
2467-
with mock.patch('requests.get', return_value=mock_response, __name__="get"):
2467+
with mock.patch('requests.Session.get', return_value=mock_response, __name__="get"):
24682468
check.process(mocked_prometheus_scraper_config)
24692469
assert 15 == len(mocked_prometheus_scraper_config['_label_mapping']['pod'])
24702470
assert mocked_prometheus_scraper_config['_label_mapping']['pod']['dd-agent-62bgh']['phase'] == 'Test'
@@ -2582,7 +2582,7 @@ def mock_filter_get():
25822582
with open(f_name, 'r') as f:
25832583
text_data = f.read()
25842584
with mock.patch(
2585-
'requests.get',
2585+
'requests.Session.get',
25862586
return_value=mock.MagicMock(
25872587
status_code=200,
25882588
iter_lines=lambda **kwargs: text_data.split("\n"),
@@ -2672,7 +2672,7 @@ def test_ssl_verify_not_raise_warning(caplog, mocked_openmetrics_check_factory,
26722672
check = mocked_openmetrics_check_factory(instance)
26732673
scraper_config = check.get_scraper_config(instance)
26742674

2675-
with caplog.at_level(logging.DEBUG), mock.patch('requests.get', return_value=MockResponse('httpbin.org')):
2675+
with caplog.at_level(logging.DEBUG), mock.patch('requests.Session.get', return_value=MockResponse('httpbin.org')):
26762676
resp = check.send_request('https://httpbin.org/get', scraper_config)
26772677

26782678
assert "httpbin.org" in resp.content.decode('utf-8')
@@ -2696,7 +2696,7 @@ def test_send_request_with_dynamic_prometheus_url(caplog, mocked_openmetrics_che
26962696
# `prometheus_url` changed just before calling `send_request`
26972697
scraper_config['prometheus_url'] = 'https://www.example.com/foo/bar'
26982698

2699-
with caplog.at_level(logging.DEBUG), mock.patch('requests.get', return_value=MockResponse('httpbin.org')):
2699+
with caplog.at_level(logging.DEBUG), mock.patch('requests.Session.get', return_value=MockResponse('httpbin.org')):
27002700
resp = check.send_request('https://httpbin.org/get', scraper_config)
27012701

27022702
assert "httpbin.org" in resp.content.decode('utf-8')

datadog_checks_base/tests/base/checks/prometheus/test_prometheus.py

Lines changed: 42 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
# Licensed under Simplified BSD License (see LICENSE)
66
import logging
77
import os
8+
import ssl
89
from collections import OrderedDict
910

1011
import mock
@@ -334,7 +335,7 @@ def test_poll_protobuf(mocked_prometheus_check, bin_data):
334335
"""Tests poll using the protobuf format"""
335336
check = mocked_prometheus_check
336337
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"):
338339
response = check.poll("http://fake.endpoint:10055/metrics")
339340
messages = list(check.parse_metric_family(response))
340341
assert len(messages) == 61
@@ -347,7 +348,7 @@ def test_poll_text_plain(mocked_prometheus_check, text_data):
347348
mock_response = mock.MagicMock(
348349
status_code=200, iter_lines=lambda **kwargs: text_data.split("\n"), headers={'Content-Type': "text/plain"}
349350
)
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"):
351352
response = check.poll("http://fake.endpoint:10055/metrics")
352353
messages = list(check.parse_metric_family(response))
353354
messages.sort(key=lambda x: x.name)
@@ -1284,7 +1285,7 @@ def test_label_joins(sorted_tags_check):
12841285
mock_response = mock.MagicMock(
12851286
status_code=200, iter_lines=lambda **kwargs: text_data.split("\n"), headers={'Content-Type': "text/plain"}
12861287
)
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"):
12881289
check = sorted_tags_check
12891290
check.NAMESPACE = 'ksm'
12901291
check.label_joins = {
@@ -1634,7 +1635,7 @@ def test_label_joins_gc(sorted_tags_check):
16341635
mock_response = mock.MagicMock(
16351636
status_code=200, iter_lines=lambda **kwargs: text_data.split("\n"), headers={'Content-Type': "text/plain"}
16361637
)
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"):
16381639
check = sorted_tags_check
16391640
check.NAMESPACE = 'ksm'
16401641
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):
16841685
mock_response = mock.MagicMock(
16851686
status_code=200, iter_lines=lambda **kwargs: text_data.split("\n"), headers={'Content-Type': "text/plain"}
16861687
)
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"):
16881689
check.process("http://fake.endpoint:10055/metrics")
16891690
assert 'dd-agent-1337' in check._label_mapping['pod']
16901691
assert 'dd-agent-62bgh' not in check._label_mapping['pod']
@@ -1700,7 +1701,7 @@ def test_label_joins_missconfigured(sorted_tags_check):
17001701
mock_response = mock.MagicMock(
17011702
status_code=200, iter_lines=lambda **kwargs: text_data.split("\n"), headers={'Content-Type': "text/plain"}
17021703
)
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"):
17041705
check = sorted_tags_check
17051706
check.NAMESPACE = 'ksm'
17061707
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):
17531754
mock_response = mock.MagicMock(
17541755
status_code=200, iter_lines=lambda **kwargs: text_data.split("\n"), headers={'Content-Type': "text/plain"}
17551756
)
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"):
17571758
check = sorted_tags_check
17581759
check.NAMESPACE = 'ksm'
17591760
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):
17921793
mock_response = mock.MagicMock(
17931794
status_code=200, iter_lines=lambda **kwargs: text_data.split("\n"), headers={'Content-Type': "text/plain"}
17941795
)
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"):
17961797
check = sorted_tags_check
17971798
check.NAMESPACE = 'ksm'
17981799
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):
18311832
mock_response = mock.MagicMock(
18321833
status_code=200, iter_lines=lambda **kwargs: text_data.split("\n"), headers={'Content-Type': "text/plain"}
18331834
)
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"):
18351836
check = sorted_tags_check
18361837
check.NAMESPACE = 'ksm'
18371838
check.label_joins = {'kube_pod_info': {'label_to_match': 'pod', 'labels_to_get': ['node']}}
@@ -1883,7 +1884,7 @@ def mock_get():
18831884
with open(f_name, 'r') as f:
18841885
text_data = f.read()
18851886
mock_get = mock.patch(
1886-
'requests.get',
1887+
'requests.Session.get',
18871888
return_value=mock.MagicMock(
18881889
status_code=200, iter_lines=lambda **kwargs: text_data.split("\n"), headers={'Content-Type': "text/plain"}
18891890
),
@@ -1966,7 +1967,7 @@ def test_ssl_verify_not_raise_warning(caplog, mocked_prometheus_check, text_data
19661967

19671968
check = mocked_prometheus_check
19681969

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')):
19701971
resp = check.poll('https://httpbin.org/get')
19711972

19721973
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
19821983
check = mocked_prometheus_check
19831984
check.ssl_ca_cert = False
19841985

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')):
19861987
resp = check.poll('https://httpbin.org/get')
19871988

19881989
assert 'httpbin.org' in resp.content.decode('utf-8')
@@ -2018,29 +2019,32 @@ def test_requests_wrapper_config():
20182019
]
20192020
)
20202021

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

Comments
 (0)