1
0
mirror of https://github.com/django/django.git synced 2025-10-24 06:06:09 +00:00

Complained on override_settings(INSTALLED_APPS=...).

Currently such overrides aren't reflected in the app cache.

It would  be possible to handle them. But that doesn't look like a very
good API. It makes it complicated to express "add this app" and "remove
this app", which are the most common operations on INSTALLED_APPS.
This commit is contained in:
Aymeric Augustin
2013-12-20 10:44:32 +01:00
parent 16aae35ca8
commit 517c24bcfa
2 changed files with 9 additions and 6 deletions

View File

@@ -3,6 +3,7 @@ from __future__ import unicode_literals
import os
import sys
from unittest import TestCase
import warnings
from django.core.apps import app_cache
from django.core.apps.cache import AppCache
@@ -77,11 +78,13 @@ class EggLoadingTest(TestCase):
# Pretend we're the master app cache to test the population process.
app_cache._apps_loaded = False
app_cache._models_loaded = False
with override_settings(INSTALLED_APPS=('notexists',)):
with self.assertRaises(ImportError):
app_cache.get_model('notexists', 'nomodel')
with self.assertRaises(ImportError):
app_cache.get_model('notexists', 'nomodel')
with warnings.catch_warnings():
warnings.filterwarnings("ignore", "Overriding setting INSTALLED_APPS")
with override_settings(INSTALLED_APPS=['notexists']):
with self.assertRaises(ImportError):
app_cache.get_model('notexists', 'nomodel')
with self.assertRaises(ImportError):
app_cache.get_model('notexists', 'nomodel')
class GetModelsTest(TestCase):