fix: tests

This commit is contained in:
Rebecca Graber
2021-09-30 14:34:57 -04:00
parent 0356d96b67
commit adcc9cb9b8
2 changed files with 53 additions and 11 deletions

View File

@@ -146,8 +146,8 @@ class CookieMonitoringMiddleware(MiddlewareMixin):
"""
if request.META.get('HTTP_COOKIE', None):
set_custom_attribute('cookies.header.size', len(request.META['HTTP_COOKIE'].encode('utf-8')))
raw_header_cookie = request.META.get('HTTP_COOKIE', '')
set_custom_attribute('cookies.header.size', len(raw_header_cookie.encode('utf-8')))
if not CAPTURE_COOKIE_SIZES.is_enabled():
return

View File

@@ -97,6 +97,24 @@ class RequestUtilTestCase(unittest.TestCase):
assert course_id.course == course
assert course_id.run == run
@patch("openedx.core.lib.request_utils.CAPTURE_COOKIE_SIZES")
@patch("openedx.core.lib.request_utils.set_custom_attribute")
def test_basic_cookie_monitoring(self, mock_set_custom_attribute, mock_capture_cookie_sizes):
mock_capture_cookie_sizes.is_enabled.return_value = False
middleware = CookieMonitoringMiddleware()
cookies_dict = {'a':'b'}
factory = RequestFactory()
for name, value in cookies_dict.items():
factory.cookies[name] = value
mock_request = factory.request()
middleware.process_request(mock_request)
mock_set_custom_attribute.assert_called_once_with('cookies.header.size', 3)
@patch("openedx.core.lib.request_utils.CAPTURE_COOKIE_SIZES")
@patch("openedx.core.lib.request_utils.set_custom_attribute")
def test_cookie_monitoring(self, mock_set_custom_attribute, mock_capture_cookie_sizes):
@@ -104,8 +122,7 @@ class RequestUtilTestCase(unittest.TestCase):
mock_capture_cookie_sizes.is_enabled.return_value = True
middleware = CookieMonitoringMiddleware()
mock_request = Mock()
mock_request.COOKIES = {
cookies_dict = {
"a": "." * 100,
"_b": "." * 13,
"_c_": "." * 13,
@@ -117,6 +134,12 @@ class RequestUtilTestCase(unittest.TestCase):
"d": "." * 3,
}
factory = RequestFactory()
for name, value in cookies_dict.items():
factory.cookies[name] = value
mock_request = factory.request()
middleware.process_request(mock_request)
mock_set_custom_attribute.assert_has_calls([
@@ -147,6 +170,7 @@ class RequestUtilTestCase(unittest.TestCase):
call('cookies_total_size', 192),
call('cookies_unaccounted_size', 3),
call('cookies_total_num', 9),
call('cookies.header.size', 238)
], any_order=True)
@patch("openedx.core.lib.request_utils.CAPTURE_COOKIE_SIZES")
@@ -156,13 +180,18 @@ class RequestUtilTestCase(unittest.TestCase):
mock_capture_cookie_sizes.is_enabled.return_value = True
middleware = CookieMonitoringMiddleware()
mock_request = Mock()
mock_request.COOKIES = {
cookies_dict = {
"a": "." * 10,
"b_a": "." * 15,
"b_c": "." * 20,
}
factory = RequestFactory()
for name, value in cookies_dict.items():
factory.cookies[name] = value
mock_request = factory.request()
middleware.process_request(mock_request)
mock_set_custom_attribute.assert_has_calls([
@@ -188,12 +217,20 @@ class RequestUtilTestCase(unittest.TestCase):
mock_capture_cookie_sizes.is_enabled.return_value = True
middleware = CookieMonitoringMiddleware()
mock_request = Mock()
mock_request.COOKIES = {}
cookies_dict = {}
factory = RequestFactory()
for name, value in cookies_dict.items():
factory.cookies[name] = value
mock_request = factory.request()
middleware.process_request(mock_request)
mock_set_custom_attribute.assert_has_calls([call('cookies_total_size', 0)], any_order=True)
mock_set_custom_attribute.assert_has_calls([
call('cookies_total_size', 0),
call('cookies.header.size', 0)
], any_order=True)
@patch("openedx.core.lib.request_utils.CAPTURE_COOKIE_SIZES")
@patch("openedx.core.lib.request_utils.set_custom_attribute")
@@ -202,12 +239,17 @@ class RequestUtilTestCase(unittest.TestCase):
mock_capture_cookie_sizes.is_enabled.return_value = True
middleware = CookieMonitoringMiddleware()
mock_request = Mock()
mock_request.COOKIES = {
cookies_dict = {
"a": "." * 10,
"b": "." * 15,
}
factory = RequestFactory()
for name, value in cookies_dict.items():
factory.cookies[name] = value
mock_request = factory.request()
middleware.process_request(mock_request)
mock_set_custom_attribute.assert_has_calls([