Projet

Général

Profil

0001-multitenant-use-environment-to-get-application-name-.patch

Frédéric Péters, 21 décembre 2018 18:40

Télécharger (2,48 ko)

Voir les différences:

Subject: [PATCH] multitenant: use environment to get application name (#29320)

 hobo/multitenant/settings_loaders.py |  2 +-
 tests_multitenant/test_settings.py   | 15 +++++++++------
 2 files changed, 10 insertions(+), 7 deletions(-)
hobo/multitenant/settings_loaders.py
209 209
        theme = get_theme(theme_id)
210 210
        if not theme:
211 211
            return
212
        module_name = settings.SETTINGS_MODULE.split('.')[0]
212
        module_name = os.environ.get('DJANGO_SETTINGS_MODULE', '').split('.')[0]
213 213
        module_settings = theme.get('settings', {}).get(module_name)
214 214
        if not module_settings:
215 215
            return
tests_multitenant/test_settings.py
1
import os
1 2
import threading
2 3
import random
3 4
import pytest
......
106 107
    with utilities.patch_default_settings(settings,
107 108
            TENANT_SETTINGS_LOADERS=('hobo.multitenant.settings_loaders.TemplateVars',
108 109
                                     'hobo.multitenant.settings_loaders.ThemeSettings')):
109
        with override_settings(SETTINGS_MODULE='fake.settings'):
110
            with tenant_context(tenants[0]):
111
                # check it's defined when moving into the schema
112
                assert django.conf.settings.TEMPLATE_VARS
113
                assert django.conf.settings.TEMPLATE_VARS['theme'] == 'publik'
114
                assert django.conf.settings.HELLO == 'world'
110
        old_value = os.environ['DJANGO_SETTINGS_MODULE']
111
        os.environ['DJANGO_SETTINGS_MODULE'] = 'fake'
112
        with tenant_context(tenants[0]):
113
            # check it's defined when moving into the schema
114
            assert django.conf.settings.TEMPLATE_VARS
115
            assert django.conf.settings.TEMPLATE_VARS['theme'] == 'publik'
116
            assert django.conf.settings.HELLO == 'world'
117
        os.environ['DJANGO_SETTINGS_MODULE'] = old_value
115 118

  
116 119
def test_multithreading(tenants, settings, client):
117 120

  
118
-