Fixed #27796 -- Prevented middleware being loaded twice with runserver
Thanks Tim Graham for the review.
This commit is contained in:
parent
f2b93b509c
commit
09b3e46635
|
@ -21,6 +21,11 @@ class StaticFilesHandler(WSGIHandler):
|
|||
self.base_url = urlparse(self.get_base_url())
|
||||
super().__init__()
|
||||
|
||||
def load_middleware(self):
|
||||
# Middleware are already loaded for self.application; no need to reload
|
||||
# them for self.
|
||||
pass
|
||||
|
||||
def get_base_url(self):
|
||||
utils.check_settings()
|
||||
return settings.STATIC_URL
|
||||
|
|
|
@ -11,7 +11,9 @@ from admin_scripts.tests import AdminScriptTestCase
|
|||
|
||||
from django.conf import settings
|
||||
from django.contrib.staticfiles import storage
|
||||
from django.contrib.staticfiles.management.commands import collectstatic
|
||||
from django.contrib.staticfiles.management.commands import (
|
||||
collectstatic, runserver,
|
||||
)
|
||||
from django.core.exceptions import ImproperlyConfigured
|
||||
from django.core.management import call_command
|
||||
from django.test import override_settings
|
||||
|
@ -34,6 +36,15 @@ class TestNoFilesCreated:
|
|||
self.assertEqual(os.listdir(settings.STATIC_ROOT), [])
|
||||
|
||||
|
||||
class TestRunserver(StaticFilesTestCase):
|
||||
@override_settings(MIDDLEWARE=['django.middleware.common.CommonMiddleware'])
|
||||
def test_middleware_loaded_only_once(self):
|
||||
command = runserver.Command()
|
||||
with mock.patch('django.middleware.common.CommonMiddleware') as mocked:
|
||||
command.get_handler(use_static_handler=True, insecure_serving=True)
|
||||
self.assertEqual(mocked.call_count, 1)
|
||||
|
||||
|
||||
class TestFindStatic(TestDefaults, CollectionTestCase):
|
||||
"""
|
||||
Test ``findstatic`` management command.
|
||||
|
|
Loading…
Reference in New Issue