From 7185acf84d3e5777494bc35fee763ae9747e31d6 Mon Sep 17 00:00:00 2001 From: Santos Gallegos Date: Mon, 3 Feb 2020 15:24:46 -0500 Subject: [PATCH] Add test settings file for proxito This is needed to allow us to run tests with the proxito settings in .com (and probably in .org too) --- dockerfiles/settings/proxito.py | 17 +++--------- readthedocs/settings/proxito/__init__.py | 0 .../settings/{proxito.py => proxito/base.py} | 27 +++---------------- readthedocs/settings/proxito/test.py | 13 +++++++++ 4 files changed, 20 insertions(+), 37 deletions(-) create mode 100644 readthedocs/settings/proxito/__init__.py rename readthedocs/settings/{proxito.py => proxito/base.py} (51%) create mode 100644 readthedocs/settings/proxito/test.py diff --git a/dockerfiles/settings/proxito.py b/dockerfiles/settings/proxito.py index 3e8616ed9d9..d301d625f01 100644 --- a/dockerfiles/settings/proxito.py +++ b/dockerfiles/settings/proxito.py @@ -1,25 +1,14 @@ +from readthedocs.settings.proxito.base import CommunityProxitoSettingsMixin + from .docker_compose import DockerBaseSettings -class ProxitoDevSettings(DockerBaseSettings): - ROOT_URLCONF = 'readthedocs.proxito.urls' +class ProxitoDevSettings(CommunityProxitoSettingsMixin, DockerBaseSettings): # El Proxito does not have django-debug-toolbar installed DEBUG_TOOLBAR_CONFIG = { 'SHOW_TOOLBAR_CALLBACK': lambda request: False, } - @property - def MIDDLEWARE(self): # noqa - classes = list(super().MIDDLEWARE) - index = classes.index( - 'readthedocs.core.middleware.SubdomainMiddleware' - ) - # Use our new middleware instead of the old one - classes[index] = 'readthedocs.proxito.middleware.ProxitoMiddleware' - classes.remove('readthedocs.core.middleware.SingleVersionMiddleware') - classes.remove('django.middleware.locale.LocaleMiddleware') - - return tuple(classes) ProxitoDevSettings.load_settings(__name__) diff --git a/readthedocs/settings/proxito/__init__.py b/readthedocs/settings/proxito/__init__.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/readthedocs/settings/proxito.py b/readthedocs/settings/proxito/base.py similarity index 51% rename from readthedocs/settings/proxito.py rename to readthedocs/settings/proxito/base.py index 006ecbd2be4..ceb2b54b889 100644 --- a/readthedocs/settings/proxito.py +++ b/readthedocs/settings/proxito/base.py @@ -1,24 +1,15 @@ """ -Local setting for Proxito +Base settings for Proxito -These settings will eventually be backported into the main settings file, +Some of these settings will eventually be backported into the main settings file, but currently we have them to be able to run the site with the old middleware for a staged rollout of the proxito code. """ -# pylint: disable=missing-docstring - -import os - -from readthedocs.settings import base - - -class ProxitoDevSettings(base.CommunityBaseSettings): +class CommunityProxitoSettingsMixin: ROOT_URLCONF = 'readthedocs.proxito.urls' USE_SUBDOMAIN = True - PUBLIC_DOMAIN = 'community.dev.readthedocs.io' - PUBLIC_DOMAIN_USES_HTTPS = False @property def MIDDLEWARE(self): # noqa @@ -30,14 +21,4 @@ def MIDDLEWARE(self): # noqa ) classes[index] = 'readthedocs.proxito.middleware.ProxitoMiddleware' classes.remove('readthedocs.core.middleware.SingleVersionMiddleware') - return classes - - -ProxitoDevSettings.load_settings(__name__) - -if not os.environ.get('DJANGO_SETTINGS_SKIP_LOCAL', False): - try: - # pylint: disable=unused-wildcard-import - from .local_settings import * # noqa - except ImportError: - pass + return tuple(classes) diff --git a/readthedocs/settings/proxito/test.py b/readthedocs/settings/proxito/test.py new file mode 100644 index 00000000000..c10d97ddd3f --- /dev/null +++ b/readthedocs/settings/proxito/test.py @@ -0,0 +1,13 @@ +from ..test import CommunityTestSettings +from .base import ProxitoSettingsMixin + + +class CommunityProxitoTestSettings( + ProxitoSettingsMixin, + CommunityTestSettings +): + + pass + + +CommunityProxitoTestSettings.load_settings(__name__)