mirror of
https://github.com/django/django.git
synced 2025-08-03 18:38:50 +00:00
Fixed #32311 -- Added system check for CSRF_FAILURE_VIEW setting.
This commit is contained in:
parent
16d27fb806
commit
64331419c8
3 changed files with 65 additions and 1 deletions
|
@ -1,4 +1,5 @@
|
|||
from django.conf import settings
|
||||
from django.core.checks.messages import Error
|
||||
from django.core.checks.security import base, csrf, sessions
|
||||
from django.core.management.utils import get_random_secret_key
|
||||
from django.test import SimpleTestCase
|
||||
|
@ -471,3 +472,35 @@ class CheckReferrerPolicyTest(SimpleTestCase):
|
|||
)
|
||||
def test_with_invalid_referrer_policy(self):
|
||||
self.assertEqual(base.check_referrer_policy(None), [base.E023])
|
||||
|
||||
|
||||
def failure_view_with_invalid_signature():
|
||||
pass
|
||||
|
||||
|
||||
class CSRFFailureViewTest(SimpleTestCase):
|
||||
@override_settings(CSRF_FAILURE_VIEW='')
|
||||
def test_failure_view_import_error(self):
|
||||
self.assertEqual(
|
||||
csrf.check_csrf_failure_view(None),
|
||||
[
|
||||
Error(
|
||||
"The CSRF failure view '' could not be imported.",
|
||||
id='security.E025',
|
||||
)
|
||||
],
|
||||
)
|
||||
|
||||
@override_settings(
|
||||
CSRF_FAILURE_VIEW=f'{__name__}.failure_view_with_invalid_signature',
|
||||
)
|
||||
def test_failure_view_invalid_signature(self):
|
||||
msg = (
|
||||
"The CSRF failure view "
|
||||
"'check_framework.test_security.failure_view_with_invalid_signature' "
|
||||
"does not take the correct number of arguments."
|
||||
)
|
||||
self.assertEqual(
|
||||
csrf.check_csrf_failure_view(None),
|
||||
[Error(msg, id='security.E024')],
|
||||
)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue