diff options
| author | Ed Morley <emorley@mozilla.com> | 2016-07-26 13:05:27 +0100 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2016-08-10 20:31:01 -0400 |
| commit | 7399fee6c3bb7eded1ecf5855d71520db299d79d (patch) | |
| tree | 8f767de16e2a46eea82aaffd1c83506c94a67baa /tests/check_framework | |
| parent | 3c2447dd13e495d57700ca8447896acd85044444 (diff) | |
Refs #26947 -- Added a deployment system check for SECURE_HSTS_PRELOAD.
Diffstat (limited to 'tests/check_framework')
| -rw-r--r-- | tests/check_framework/test_security.py | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/tests/check_framework/test_security.py b/tests/check_framework/test_security.py index b4591030f5..ebd1ffb0d3 100644 --- a/tests/check_framework/test_security.py +++ b/tests/check_framework/test_security.py @@ -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): |
