tests: adapt multitenant tests to pass whatever their order

This commit is contained in:
Frédéric Péters 2018-11-12 21:13:15 +01:00
parent 44dbfbeed8
commit c9e094fb1c
2 changed files with 20 additions and 6 deletions

View File

@ -62,3 +62,14 @@ UPDATE_ME = {'x': 1}
EXTEND_ME = [1]
THEMES_DIRECTORY = os.path.join(os.path.dirname(__file__), 'files')
TENANT_SETTINGS_LOADERS = (
'hobo.multitenant.settings_loaders.TemplateVars',
'hobo.multitenant.settings_loaders.KnownServices',
'hobo.multitenant.settings_loaders.CORSSettings',
'hobo.multitenant.settings_loaders.SharedThemeSettings',
'hobo.multitenant.settings_loaders.Mellon',
'hobo.multitenant.settings_loaders.SiteBaseUrl',
'hobo.multitenant.settings_loaders.CookieNames',
'hobo.multitenant.settings_loaders.SettingsJSON',
)

View File

@ -8,6 +8,7 @@ from django.core.handlers.base import BaseHandler
from django.core.wsgi import get_wsgi_application
import django.db
from django.core.cache import cache, caches
from django.test import override_settings
from tenant_schemas.utils import tenant_context
@ -16,6 +17,7 @@ from hobo.theme.utils import set_theme, get_themes
def test_tenant_middleware(tenants, client, settings):
settings.ALLOWED_HOSTS.append('invalid.example.net')
settings.SETTINGS_MODULE = 'fake.settings'
res = client.get('/', SERVER_NAME='invalid.example.net')
assert res.status_code == 404
for tenant in tenants:
@ -104,12 +106,12 @@ def test_tenant_theme_settings(tenants, settings, client):
with utilities.patch_default_settings(settings,
TENANT_SETTINGS_LOADERS=('hobo.multitenant.settings_loaders.TemplateVars',
'hobo.multitenant.settings_loaders.ThemeSettings')):
settings.SETTINGS_MODULE = 'fake.settings'
with tenant_context(tenants[0]):
# check it's defined when moving into the schema
assert django.conf.settings.TEMPLATE_VARS
assert django.conf.settings.TEMPLATE_VARS['theme'] == 'publik'
assert django.conf.settings.HELLO == 'world'
with override_settings(SETTINGS_MODULE='fake.settings'):
with tenant_context(tenants[0]):
# check it's defined when moving into the schema
assert django.conf.settings.TEMPLATE_VARS
assert django.conf.settings.TEMPLATE_VARS['theme'] == 'publik'
assert django.conf.settings.HELLO == 'world'
def test_multithreading(tenants, settings, client):
@ -186,6 +188,7 @@ def test_known_services(tenants, settings):
from hobo.multitenant.settings_loaders import KnownServices
settings.clear_tenants_settings()
settings.SETTINGS_MODULE = 'fake.settings'
for tenant in tenants:
with tenant_context(tenant):