mirror of
https://github.com/django/django.git
synced 2025-07-24 13:44:32 +00:00
Renamed AppCache to Apps.
Also renamed app_cache to apps and "app cache" to "app registry". Deprecated AppCache.app_cache_ready() in favor of Apps.ready().
This commit is contained in:
parent
e9e522a8e7
commit
1716b7ce5a
92 changed files with 491 additions and 487 deletions
51
tests/apps/tests.py
Normal file
51
tests/apps/tests.py
Normal file
|
@ -0,0 +1,51 @@
|
|||
from __future__ import absolute_import
|
||||
|
||||
from django.apps import apps
|
||||
from django.apps.registry import Apps
|
||||
from django.db import models
|
||||
from django.test import TestCase
|
||||
|
||||
from .models import TotallyNormal, SoAlternative, new_apps
|
||||
|
||||
|
||||
class AppsTests(TestCase):
|
||||
|
||||
def test_models_py(self):
|
||||
"""
|
||||
Tests that the models in the models.py file were loaded correctly.
|
||||
"""
|
||||
self.assertEqual(apps.get_model("apps", "TotallyNormal"), TotallyNormal)
|
||||
self.assertEqual(apps.get_model("apps", "SoAlternative"), None)
|
||||
|
||||
self.assertEqual(new_apps.get_model("apps", "TotallyNormal"), None)
|
||||
self.assertEqual(new_apps.get_model("apps", "SoAlternative"), SoAlternative)
|
||||
|
||||
def test_dynamic_load(self):
|
||||
"""
|
||||
Makes a new model at runtime and ensures it goes into the right place.
|
||||
"""
|
||||
old_models = apps.get_models(apps.get_app_config("apps").models_module)
|
||||
# Construct a new model in a new app registry
|
||||
body = {}
|
||||
new_apps = Apps()
|
||||
meta_contents = {
|
||||
'app_label': "apps",
|
||||
'apps': new_apps,
|
||||
}
|
||||
meta = type("Meta", tuple(), meta_contents)
|
||||
body['Meta'] = meta
|
||||
body['__module__'] = TotallyNormal.__module__
|
||||
temp_model = type("SouthPonies", (models.Model,), body)
|
||||
# Make sure it appeared in the right place!
|
||||
self.assertEqual(
|
||||
old_models,
|
||||
apps.get_models(apps.get_app_config("apps").models_module),
|
||||
)
|
||||
self.assertEqual(new_apps.get_model("apps", "SouthPonies"), temp_model)
|
||||
|
||||
def test_singleton_master(self):
|
||||
"""
|
||||
Ensures that only one master registry can exist.
|
||||
"""
|
||||
with self.assertRaises(RuntimeError):
|
||||
Apps(master=True)
|
Loading…
Add table
Add a link
Reference in a new issue