mirror of
https://github.com/quantum5/django-csp-advanced.git
synced 2025-04-24 11:22:00 -04:00
Increase converage to 100%.
This commit is contained in:
parent
0381865bd1
commit
854af23268
|
@ -168,6 +168,19 @@ class TestMiddleware(SimpleTestCase):
|
|||
def test_setting_csp(self):
|
||||
self.assertEqual(self.make_ok_view()(self.get_request())['Content-Security-Policy'], "script-src 'self'")
|
||||
|
||||
@override_settings(ADVANCED_CSP='verbatim bad csp')
|
||||
def test_setting_str(self):
|
||||
self.assertEqual(self.make_ok_view()(self.get_request())['Content-Security-Policy'], 'verbatim bad csp')
|
||||
|
||||
@override_settings(ADVANCED_CSP={'script-src': ['self']})
|
||||
def test_csp_exists(self):
|
||||
@self.decorator_factory()
|
||||
def view(request):
|
||||
response = HttpResponse()
|
||||
response['Content-Security-Policy'] = 'verbatim bad csp'
|
||||
return response
|
||||
self.assertEqual(view(self.get_request())['Content-Security-Policy'], 'verbatim bad csp')
|
||||
|
||||
@override_settings(ADVANCED_CSP={'bad': ['self']})
|
||||
def test_invalid_csp(self):
|
||||
self.assertFalse('Content-Security-Policy' in self.make_ok_view()(self.get_request()))
|
||||
|
@ -212,6 +225,15 @@ class TestMiddleware(SimpleTestCase):
|
|||
return response
|
||||
self.assertEqual(view(self.get_request())['Content-Security-Policy'], "style-src 'none'")
|
||||
|
||||
@override_settings(ADVANCED_CSP={'script-src': ['self']})
|
||||
def test_remove_csp(self):
|
||||
@self.decorator_factory()
|
||||
def view(request):
|
||||
response = HttpResponse()
|
||||
response.csp = {'override': True}
|
||||
return response
|
||||
self.assertFalse('Content-Security-Policy' in view(self.get_request()))
|
||||
|
||||
@override_settings(ADVANCED_CSP_REPORT_ONLY={'script-src': ['self']})
|
||||
def test_override_csp_to_report_explicit(self):
|
||||
@self.decorator_factory()
|
||||
|
@ -232,7 +254,7 @@ class TestMiddleware(SimpleTestCase):
|
|||
|
||||
response = view(self.get_request())
|
||||
self.assertEqual(response['Content-Security-Policy-Report-Only'], "script-src 'none'")
|
||||
self.assertTrue('Content-Security-Policy' not in response)
|
||||
self.assertFalse('Content-Security-Policy' in response)
|
||||
|
||||
@override_settings(ADVANCED_CSP_REPORT_ONLY={'script-src': ['self']})
|
||||
def test_override_csp_report_only_explicit(self):
|
||||
|
@ -244,4 +266,4 @@ class TestMiddleware(SimpleTestCase):
|
|||
|
||||
response = view(self.get_request())
|
||||
self.assertEqual(response['Content-Security-Policy-Report-Only'], "script-src 'none'")
|
||||
self.assertTrue('Content-Security-Policy' not in response)
|
||||
self.assertFalse('Content-Security-Policy' in response)
|
||||
|
|
|
@ -27,15 +27,9 @@ def merge_csp_dict(template, override):
|
|||
continue
|
||||
orig = result[key]
|
||||
if isinstance(orig, list):
|
||||
if orig == template[key]:
|
||||
result[key] = orig + list(value)
|
||||
else:
|
||||
orig += value
|
||||
result[key] = orig + list(value)
|
||||
elif isinstance(orig, set):
|
||||
if orig == template[key]:
|
||||
result[key] = orig.union(value)
|
||||
else:
|
||||
orig.update(value)
|
||||
result[key] = orig.union(value)
|
||||
elif isinstance(orig, tuple):
|
||||
result[key] = orig + tuple(value)
|
||||
else:
|
||||
|
|
Loading…
Reference in a new issue