mirror of
https://github.com/django/django.git
synced 2025-07-19 19:25:26 +00:00
Refs #26947 -- Added a deployment system check for SECURE_HSTS_PRELOAD.
This commit is contained in:
parent
3c2447dd13
commit
7399fee6c3
4 changed files with 64 additions and 0 deletions
|
@ -307,6 +307,50 @@ class CheckStrictTransportSecuritySubdomainsTest(SimpleTestCase):
|
|||
self.assertEqual(self.func(None), [])
|
||||
|
||||
|
||||
class CheckStrictTransportSecurityPreloadTest(SimpleTestCase):
|
||||
@property
|
||||
def func(self):
|
||||
from django.core.checks.security.base import check_sts_preload
|
||||
return check_sts_preload
|
||||
|
||||
@override_settings(
|
||||
MIDDLEWARE=["django.middleware.security.SecurityMiddleware"],
|
||||
SECURE_HSTS_PRELOAD=False,
|
||||
SECURE_HSTS_SECONDS=3600,
|
||||
)
|
||||
def test_no_sts_preload(self):
|
||||
"""
|
||||
Warn if SECURE_HSTS_PRELOAD isn't True.
|
||||
"""
|
||||
self.assertEqual(self.func(None), [base.W021])
|
||||
|
||||
@override_settings(MIDDLEWARE=[], SECURE_HSTS_PRELOAD=False, SECURE_HSTS_SECONDS=3600)
|
||||
def test_no_sts_preload_no_middleware(self):
|
||||
"""
|
||||
Don't warn if SecurityMiddleware isn't installed.
|
||||
"""
|
||||
self.assertEqual(self.func(None), [])
|
||||
|
||||
@override_settings(
|
||||
MIDDLEWARE=["django.middleware.security.SecurityMiddleware"],
|
||||
SECURE_SSL_REDIRECT=False,
|
||||
SECURE_HSTS_SECONDS=None,
|
||||
)
|
||||
def test_no_sts_preload_no_seconds(self):
|
||||
"""
|
||||
Don't warn if SECURE_HSTS_SECONDS isn't set.
|
||||
"""
|
||||
self.assertEqual(self.func(None), [])
|
||||
|
||||
@override_settings(
|
||||
MIDDLEWARE=["django.middleware.security.SecurityMiddleware"],
|
||||
SECURE_HSTS_PRELOAD=True,
|
||||
SECURE_HSTS_SECONDS=3600,
|
||||
)
|
||||
def test_with_sts_preload(self):
|
||||
self.assertEqual(self.func(None), [])
|
||||
|
||||
|
||||
class CheckXFrameOptionsMiddlewareTest(SimpleTestCase):
|
||||
@property
|
||||
def func(self):
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue