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())
|
self.base_url = urlparse(self.get_base_url())
|
||||||
super().__init__()
|
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):
|
def get_base_url(self):
|
||||||
utils.check_settings()
|
utils.check_settings()
|
||||||
return settings.STATIC_URL
|
return settings.STATIC_URL
|
||||||
|
|
|
@ -11,7 +11,9 @@ from admin_scripts.tests import AdminScriptTestCase
|
||||||
|
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
from django.contrib.staticfiles import storage
|
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.exceptions import ImproperlyConfigured
|
||||||
from django.core.management import call_command
|
from django.core.management import call_command
|
||||||
from django.test import override_settings
|
from django.test import override_settings
|
||||||
|
@ -34,6 +36,15 @@ class TestNoFilesCreated:
|
||||||
self.assertEqual(os.listdir(settings.STATIC_ROOT), [])
|
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):
|
class TestFindStatic(TestDefaults, CollectionTestCase):
|
||||||
"""
|
"""
|
||||||
Test ``findstatic`` management command.
|
Test ``findstatic`` management command.
|
||||||
|
|
Loading…
Reference in New Issue