summaryrefslogtreecommitdiff
path: root/tests/app_loading/tests.py
diff options
context:
space:
mode:
authorAymeric Augustin <aymeric.augustin@m4x.org>2013-12-17 17:47:19 +0100
committerAymeric Augustin <aymeric.augustin@m4x.org>2013-12-17 21:53:18 +0100
commit0242c56fd86137bc8f67404492b5c03987bc3d1a (patch)
tree89dc48cb4e101f12b734831b9a2bc7b4c5cc5c18 /tests/app_loading/tests.py
parent6e895f9e069f73982751cd2d4aa5aa693136a274 (diff)
Deborgified the app cache.
Improved Andrew's hack to create temporary app caches to handle migrations. Now the main app cache has a "master" flag set to True (which is a non-default keyword argument, thus unlikely to be used by mistake). Other app cache instances have "master" set to False. The only sanctioned way to access the app cache is by importing django.core.apps.app_cache. If you were instanciating an app cache and relying on the Borg pattern, you'll have to refactor your code.
Diffstat (limited to 'tests/app_loading/tests.py')
-rw-r--r--tests/app_loading/tests.py19
1 files changed, 8 insertions, 11 deletions
diff --git a/tests/app_loading/tests.py b/tests/app_loading/tests.py
index 3cc0ffb368..b32f510a24 100644
--- a/tests/app_loading/tests.py
+++ b/tests/app_loading/tests.py
@@ -75,17 +75,14 @@ class EggLoadingTest(TestCase):
Test that repeated app loading doesn't succeed in case there is an
error. Refs #17667.
"""
- # AppCache is a Borg, so we can instantiate one and change its
- # loaded to False to force the following code to actually try to
- # populate the cache.
- a = AppCache()
- a.loaded = False
- try:
- with override_settings(INSTALLED_APPS=('notexists',)):
- self.assertRaises(ImportError, app_cache.get_model, 'notexists', 'nomodel', seed_cache=True)
- self.assertRaises(ImportError, app_cache.get_model, 'notexists', 'nomodel', seed_cache=True)
- finally:
- a.loaded = True
+ app_cache = AppCache()
+ # Pretend we're the master app cache to test populate().
+ app_cache.master = True
+ with override_settings(INSTALLED_APPS=('notexists',)):
+ with self.assertRaises(ImportError):
+ app_cache.get_model('notexists', 'nomodel', seed_cache=True)
+ with self.assertRaises(ImportError):
+ app_cache.get_model('notexists', 'nomodel', seed_cache=True)
class GetModelsTest(TestCase):