diff options
author | Tim Graham <timograham@gmail.com> | 2015-08-17 08:50:34 -0400 |
---|---|---|
committer | Tim Graham <timograham@gmail.com> | 2015-09-23 19:31:09 -0400 |
commit | c64dd646f5b6955ca09e0509a6e2ffabfa97d935 (patch) | |
tree | d1fa6cedb0d3470b139b28a338d64b3794182ec9 /tests/model_meta | |
parent | 08ab262649fc483df71d860d217a864ecbbcc69d (diff) | |
download | django-c64dd646f5b6955ca09e0509a6e2ffabfa97d935.tar.gz |
Refs #12663 -- Removed deprecated Model._meta methods.
Diffstat (limited to 'tests/model_meta')
-rw-r--r-- | tests/model_meta/test_legacy.py | 166 |
1 files changed, 0 insertions, 166 deletions
diff --git a/tests/model_meta/test_legacy.py b/tests/model_meta/test_legacy.py deleted file mode 100644 index d93b5fc020..0000000000 --- a/tests/model_meta/test_legacy.py +++ /dev/null @@ -1,166 +0,0 @@ -import warnings - -from django import test -from django.contrib.contenttypes.fields import GenericRelation -from django.core.exceptions import FieldDoesNotExist -from django.db.models.fields import CharField, related -from django.utils.deprecation import RemovedInDjango110Warning - -from .models import BasePerson, Person -from .results import TEST_RESULTS - - -class OptionsBaseTests(test.SimpleTestCase): - - def _map_related_query_names(self, res): - return tuple((o.field.related_query_name(), m) for o, m in res) - - def _map_names(self, res): - return tuple((f.name, m) for f, m in res) - - -class M2MTests(OptionsBaseTests): - - def test_many_to_many_with_model(self): - for model, expected_result in TEST_RESULTS['many_to_many_with_model'].items(): - with warnings.catch_warnings(record=True) as warning: - warnings.simplefilter("always") - models = [model for field, model in model._meta.get_m2m_with_model()] - self.assertEqual([RemovedInDjango110Warning], [w.message.__class__ for w in warning]) - self.assertEqual(models, expected_result) - - -@test.ignore_warnings(category=RemovedInDjango110Warning) -class RelatedObjectsTests(OptionsBaseTests): - key_name = lambda self, r: r[0] - - def test_related_objects(self): - result_key = 'get_all_related_objects_with_model_legacy' - for model, expected in TEST_RESULTS[result_key].items(): - objects = model._meta.get_all_related_objects_with_model() - self.assertEqual(self._map_related_query_names(objects), expected) - - def test_related_objects_local(self): - result_key = 'get_all_related_objects_with_model_local_legacy' - for model, expected in TEST_RESULTS[result_key].items(): - objects = model._meta.get_all_related_objects_with_model(local_only=True) - self.assertEqual(self._map_related_query_names(objects), expected) - - def test_related_objects_include_hidden(self): - result_key = 'get_all_related_objects_with_model_hidden_legacy' - for model, expected in TEST_RESULTS[result_key].items(): - objects = model._meta.get_all_related_objects_with_model(include_hidden=True) - self.assertEqual( - sorted(self._map_names(objects), key=self.key_name), - sorted(expected, key=self.key_name) - ) - - def test_related_objects_include_hidden_local_only(self): - result_key = 'get_all_related_objects_with_model_hidden_local_legacy' - for model, expected in TEST_RESULTS[result_key].items(): - objects = model._meta.get_all_related_objects_with_model( - include_hidden=True, local_only=True) - self.assertEqual( - sorted(self._map_names(objects), key=self.key_name), - sorted(expected, key=self.key_name) - ) - - def test_related_objects_proxy(self): - result_key = 'get_all_related_objects_with_model_proxy_legacy' - for model, expected in TEST_RESULTS[result_key].items(): - objects = model._meta.get_all_related_objects_with_model( - include_proxy_eq=True) - self.assertEqual(self._map_related_query_names(objects), expected) - - def test_related_objects_proxy_hidden(self): - result_key = 'get_all_related_objects_with_model_proxy_hidden_legacy' - for model, expected in TEST_RESULTS[result_key].items(): - objects = model._meta.get_all_related_objects_with_model( - include_proxy_eq=True, include_hidden=True) - self.assertEqual( - sorted(self._map_names(objects), key=self.key_name), - sorted(expected, key=self.key_name) - ) - - -@test.ignore_warnings(category=RemovedInDjango110Warning) -class RelatedM2MTests(OptionsBaseTests): - - def test_related_m2m_with_model(self): - result_key = 'get_all_related_many_to_many_with_model_legacy' - for model, expected in TEST_RESULTS[result_key].items(): - objects = model._meta.get_all_related_m2m_objects_with_model() - self.assertEqual(self._map_related_query_names(objects), expected) - - def test_related_m2m_local_only(self): - result_key = 'get_all_related_many_to_many_local_legacy' - for model, expected in TEST_RESULTS[result_key].items(): - objects = model._meta.get_all_related_many_to_many_objects(local_only=True) - self.assertEqual([o.field.related_query_name() for o in objects], expected) - - def test_related_m2m_asymmetrical(self): - m2m = Person._meta.many_to_many - self.assertTrue('following_base' in [f.attname for f in m2m]) - related_m2m = Person._meta.get_all_related_many_to_many_objects() - self.assertTrue('followers_base' in [o.field.related_query_name() for o in related_m2m]) - - def test_related_m2m_symmetrical(self): - m2m = Person._meta.many_to_many - self.assertTrue('friends_base' in [f.attname for f in m2m]) - related_m2m = Person._meta.get_all_related_many_to_many_objects() - self.assertIn('friends_inherited_rel_+', [o.field.related_query_name() for o in related_m2m]) - - -@test.ignore_warnings(category=RemovedInDjango110Warning) -class GetFieldByNameTests(OptionsBaseTests): - - def test_get_data_field(self): - field_info = Person._meta.get_field_by_name('data_abstract') - self.assertEqual(field_info[1:], (BasePerson, True, False)) - self.assertIsInstance(field_info[0], CharField) - - def test_get_m2m_field(self): - field_info = Person._meta.get_field_by_name('m2m_base') - self.assertEqual(field_info[1:], (BasePerson, True, True)) - self.assertIsInstance(field_info[0], related.ManyToManyField) - - def test_get_related_object(self): - field_info = Person._meta.get_field_by_name('relating_baseperson') - self.assertEqual(field_info[1:], (BasePerson, False, False)) - self.assertTrue(field_info[0].auto_created) - - def test_get_related_m2m(self): - field_info = Person._meta.get_field_by_name('relating_people') - self.assertEqual(field_info[1:], (None, False, True)) - self.assertTrue(field_info[0].auto_created) - - def test_get_generic_relation(self): - field_info = Person._meta.get_field_by_name('generic_relation_base') - self.assertEqual(field_info[1:], (None, True, False)) - self.assertIsInstance(field_info[0], GenericRelation) - - def test_get_m2m_field_invalid(self): - with warnings.catch_warnings(record=True) as warning: - warnings.simplefilter("always") - self.assertRaises( - FieldDoesNotExist, - Person._meta.get_field, - **{'field_name': 'm2m_base', 'many_to_many': False} - ) - self.assertEqual(Person._meta.get_field('m2m_base', many_to_many=True).name, 'm2m_base') - - # 2 RemovedInDjango110Warning messages should be raised, one for each call of get_field() - # with the 'many_to_many' argument. - self.assertEqual( - [RemovedInDjango110Warning, RemovedInDjango110Warning], - [w.message.__class__ for w in warning] - ) - - -@test.ignore_warnings(category=RemovedInDjango110Warning) -class GetAllFieldNamesTestCase(OptionsBaseTests): - - def test_get_all_field_names(self): - for model, expected_names in TEST_RESULTS['get_all_field_names'].items(): - objects = model._meta.get_all_field_names() - self.assertEqual(sorted(map(str, objects)), sorted(expected_names)) |