mirror of
https://github.com/quantum5/django-csp-advanced.git
synced 2025-04-24 19:31:56 -04:00
Make callable_csp_dict handle pass request and response.
This commit is contained in:
parent
46338c5bfc
commit
e4ac7c7509
|
@ -77,20 +77,34 @@ class CSPCompileTest(SimpleTestCase):
|
||||||
|
|
||||||
|
|
||||||
class CallableCSPDictTest(SimpleTestCase):
|
class CallableCSPDictTest(SimpleTestCase):
|
||||||
|
request = object()
|
||||||
|
response = object()
|
||||||
|
|
||||||
|
def make_request_taker(self, output):
|
||||||
|
def func(request, response):
|
||||||
|
self.assertEqual(request, self.request)
|
||||||
|
self.assertEqual(response, self.response)
|
||||||
|
return output
|
||||||
|
return func
|
||||||
|
|
||||||
def test_callable(self):
|
def test_callable(self):
|
||||||
self.assertEqual(callable_csp_dict(lambda: {'key': 'value'}), {'key': 'value'})
|
self.assertEqual(callable_csp_dict(
|
||||||
|
self.make_request_taker({'key': 'value'}), self.request, self.response
|
||||||
|
), {'key': 'value'})
|
||||||
|
|
||||||
def test_normal_dict(self):
|
def test_normal_dict(self):
|
||||||
self.assertEqual(callable_csp_dict({'key': 'value'}), {'key': 'value'})
|
self.assertEqual(callable_csp_dict({'key': 'value'}, None, None), {'key': 'value'})
|
||||||
|
|
||||||
def test_callable_entry(self):
|
def test_callable_entry(self):
|
||||||
self.assertEqual(callable_csp_dict({'key': lambda: 'value'}), {'key': 'value'})
|
self.assertEqual(callable_csp_dict(
|
||||||
|
{'key': self.make_request_taker('value')}, self.request, self.response
|
||||||
|
), {'key': 'value'})
|
||||||
|
|
||||||
def test_mixed_entry(self):
|
def test_mixed_entry(self):
|
||||||
self.assertEqual(callable_csp_dict({
|
self.assertEqual(callable_csp_dict({
|
||||||
'key': lambda: 'value',
|
'key': self.make_request_taker('value'),
|
||||||
'name': 'mixed',
|
'name': 'mixed',
|
||||||
}), {
|
}, self.request, self.response), {
|
||||||
'key': 'value',
|
'key': 'value',
|
||||||
'name': 'mixed'
|
'name': 'mixed'
|
||||||
})
|
})
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
def callable_csp_dict(data):
|
def callable_csp_dict(data, request, response):
|
||||||
if callable(data):
|
if callable(data):
|
||||||
return data()
|
return data(request, response)
|
||||||
result = {}
|
result = {}
|
||||||
for key, value in data.iteritems():
|
for key, value in data.iteritems():
|
||||||
if callable(value):
|
if callable(value):
|
||||||
result[key] = value()
|
result[key] = value(request, response)
|
||||||
else:
|
else:
|
||||||
result[key] = value
|
result[key] = value
|
||||||
return result
|
return result
|
||||||
|
|
Loading…
Reference in a new issue