0005-tests_multitenant-add-test-on-settings.json-reloadin.patch
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 |
- |