Projet

Général

Profil

0005-tests_multitenant-add-test-on-settings.json-reloadin.patch

Benjamin Dauvergne, 30 mai 2019 09:11

Télécharger (2,56 ko)

Voir les différences:

Subject: [PATCH 5/6] tests_multitenant: add test on settings.json reloading
 (#33563)

 tests_multitenant/test_settings.py | 35 ++++++++++++++++++++++++++++++
 tox.ini                            |  1 +
 2 files changed, 36 insertions(+)
tests_multitenant/test_settings.py
14 14
# You should have received a copy of the GNU Affero General Public License
15 15
# along with this program.  If not, see <http://www.gnu.org/licenses/>.
16 16

  
17
import datetime
18
import json
17 19
import os
18 20
import threading
19 21
import random
......
268 270
            cookie_names.add(settings.SESSION_COOKIE_NAME)
269 271

  
270 272
    assert len(cookie_names) == len(tenants) * 2
273

  
274

  
275
def test_tenant_json_settings_reload(tenants, settings, freezer):
276
    settings.clear_tenants_settings()
277

  
278
    with utilities.patch_default_settings(settings,
279
                                          TENANT_SETTINGS_LOADERS=('hobo.multitenant.settings_loaders.SettingsJSON',)):
280

  
281
        # check EXTEND_ME has its base value
282
        assert django.conf.settings.EXTEND_ME == [1]
283

  
284
        # check EXTEND_ME is extended
285
        for tenant in tenants:
286
            with tenant_context(tenant):
287
                assert django.conf.settings.EXTEND_ME == [1, 2]
288

  
289
        # move 1 minute in the future
290
        freezer.move_to(datetime.timedelta(seconds=60))
291

  
292
        # update EXTEND_ME tenant value
293
        for tenant in tenants:
294
            with open(os.path.join(tenant.get_directory(), 'settings.json'), 'w') as fd:
295
                json.dump({
296
                    'EXTEND_ME.extend': [3]
297
                }, fd)
298

  
299
        # move 1 minute in the future
300
        freezer.move_to(datetime.timedelta(seconds=60))
301

  
302
        # check EXTEND_ME is still extended from base value
303
        for tenant in tenants:
304
            with tenant_context(tenant):
305
                assert django.conf.settings.EXTEND_ME == [1, 3]
tox.ini
55 55
	http://git.entrouvert.org/debian/django-tenant-schemas.git/snapshot/django-tenant-schemas-master.tar.gz
56 56
	httmock
57 57
	requests
58
	pytest-freezegun
58 59
commands =
59 60
	./getlasso.sh
60 61
	hobo: py.test {env:COVERAGE:} {env:NOMIGRATIONS:} {posargs:tests/}
61
-