Fixed #29353 -- Made StaticFilesHandler return a 404 response when settings.DEBUG is False

This commit is contained in:
Claude Paroz 2018-04-25 10:35:54 +02:00
parent c591bc3cce
commit a9189d27ef
2 changed files with 15 additions and 1 deletions

View file

@ -16,7 +16,7 @@ from django.contrib.staticfiles.management.commands import (
)
from django.core.exceptions import ImproperlyConfigured
from django.core.management import CommandError, call_command
from django.test import override_settings
from django.test import RequestFactory, override_settings
from django.test.utils import extend_sys_path
from django.utils import timezone
from django.utils._os import symlinks_supported
@ -44,6 +44,18 @@ class TestRunserver(StaticFilesTestCase):
command.get_handler(use_static_handler=True, insecure_serving=True)
self.assertEqual(mocked.call_count, 1)
def test_404_response(self):
command = runserver.Command()
handler = command.get_handler(use_static_handler=True, insecure_serving=True)
missing_static_file = os.path.join(settings.STATIC_URL, 'unknown.css')
req = RequestFactory().get(missing_static_file)
with override_settings(DEBUG=False):
response = handler.get_response(req)
self.assertEqual(response.status_code, 404)
with override_settings(DEBUG=True):
response = handler.get_response(req)
self.assertEqual(response.status_code, 404)
class TestFindStatic(TestDefaults, CollectionTestCase):
"""