diff options
| author | Simon Charette <charette.s@gmail.com> | 2015-11-17 00:39:28 -0500 |
|---|---|---|
| committer | Simon Charette <charette.s@gmail.com> | 2016-01-06 20:00:07 -0500 |
| commit | a08fda2111d811aa53f11218fa03f3300dfff4cb (patch) | |
| tree | 0263cf99adf17c5123b3a53c686f637d5b40eda4 /tests/invalid_models_tests/test_relative_fields.py | |
| parent | 3096f4b0829a005c67a14cc4bb6d345aa32672a1 (diff) | |
Fixed #25746 -- Isolated inlined test models registration.
Thanks to Tim for the review.
Diffstat (limited to 'tests/invalid_models_tests/test_relative_fields.py')
| -rw-r--r-- | tests/invalid_models_tests/test_relative_fields.py | 70 |
1 files changed, 29 insertions, 41 deletions
diff --git a/tests/invalid_models_tests/test_relative_fields.py b/tests/invalid_models_tests/test_relative_fields.py index f157f2beb8..c2895f681f 100644 --- a/tests/invalid_models_tests/test_relative_fields.py +++ b/tests/invalid_models_tests/test_relative_fields.py @@ -3,21 +3,19 @@ from __future__ import unicode_literals import warnings -from django.apps.registry import Apps from django.core.checks import Error, Warning as DjangoWarning from django.db import models from django.db.models.fields.related import ForeignObject from django.test import ignore_warnings -from django.test.testcases import skipIfDBFeature -from django.test.utils import override_settings +from django.test.testcases import SimpleTestCase, skipIfDBFeature +from django.test.utils import isolate_apps, override_settings from django.utils import six from django.utils.deprecation import RemovedInDjango20Warning from django.utils.version import get_docs_version -from .base import IsolatedModelsTestCase - -class RelativeFieldTests(IsolatedModelsTestCase): +@isolate_apps('invalid_models_tests') +class RelativeFieldTests(SimpleTestCase): def test_valid_foreign_key_without_accessor(self): class Target(models.Model): @@ -133,23 +131,18 @@ class RelativeFieldTests(IsolatedModelsTestCase): ] self.assertEqual(errors, expected) - def test_foreign_key_to_isolated_apps_model(self): + @isolate_apps('invalid_models_tests') + def test_foreign_key_to_isolate_apps_model(self): """ #25723 - Referenced model registration lookup should be run against the field's model registry. """ - test_apps = Apps(['invalid_models_tests']) - class OtherModel(models.Model): - class Meta: - apps = test_apps + pass class Model(models.Model): foreign_key = models.ForeignKey('OtherModel', models.CASCADE) - class Meta: - apps = test_apps - field = Model._meta.get_field('foreign_key') self.assertEqual(field.check(from_model=Model), []) @@ -170,23 +163,18 @@ class RelativeFieldTests(IsolatedModelsTestCase): ] self.assertEqual(errors, expected) - def test_many_to_many_to_isolated_apps_model(self): + @isolate_apps('invalid_models_tests') + def test_many_to_many_to_isolate_apps_model(self): """ #25723 - Referenced model registration lookup should be run against the field's model registry. """ - test_apps = Apps(['invalid_models_tests']) - class OtherModel(models.Model): - class Meta: - apps = test_apps + pass class Model(models.Model): m2m = models.ManyToManyField('OtherModel') - class Meta: - apps = test_apps - field = Model._meta.get_field('m2m') self.assertEqual(field.check(from_model=Model), []) @@ -329,30 +317,22 @@ class RelativeFieldTests(IsolatedModelsTestCase): ] self.assertEqual(errors, expected) - def test_many_to_many_through_isolated_apps_model(self): + @isolate_apps('invalid_models_tests') + def test_many_to_many_through_isolate_apps_model(self): """ #25723 - Through model registration lookup should be run against the field's model registry. """ - test_apps = Apps(['invalid_models_tests']) - class GroupMember(models.Model): person = models.ForeignKey('Person', models.CASCADE) group = models.ForeignKey('Group', models.CASCADE) - class Meta: - apps = test_apps - class Person(models.Model): - class Meta: - apps = test_apps + pass class Group(models.Model): members = models.ManyToManyField('Person', through='GroupMember') - class Meta: - apps = test_apps - field = Group._meta.get_field('members') self.assertEqual(field.check(from_model=Group), []) @@ -790,7 +770,8 @@ class RelativeFieldTests(IsolatedModelsTestCase): self.assertFalse(errors) -class AccessorClashTests(IsolatedModelsTestCase): +@isolate_apps('invalid_models_tests') +class AccessorClashTests(SimpleTestCase): def test_fk_to_integer(self): self._test_accessor_clash( @@ -902,7 +883,8 @@ class AccessorClashTests(IsolatedModelsTestCase): self.assertEqual(errors, expected) -class ReverseQueryNameClashTests(IsolatedModelsTestCase): +@isolate_apps('invalid_models_tests') +class ReverseQueryNameClashTests(SimpleTestCase): def test_fk_to_integer(self): self._test_reverse_query_name_clash( @@ -958,7 +940,8 @@ class ReverseQueryNameClashTests(IsolatedModelsTestCase): self.assertEqual(errors, expected) -class ExplicitRelatedNameClashTests(IsolatedModelsTestCase): +@isolate_apps('invalid_models_tests') +class ExplicitRelatedNameClashTests(SimpleTestCase): def test_fk_to_integer(self): self._test_explicit_related_name_clash( @@ -1022,7 +1005,8 @@ class ExplicitRelatedNameClashTests(IsolatedModelsTestCase): self.assertEqual(errors, expected) -class ExplicitRelatedQueryNameClashTests(IsolatedModelsTestCase): +@isolate_apps('invalid_models_tests') +class ExplicitRelatedQueryNameClashTests(SimpleTestCase): def test_fk_to_integer(self): self._test_explicit_related_query_name_clash( @@ -1086,7 +1070,8 @@ class ExplicitRelatedQueryNameClashTests(IsolatedModelsTestCase): self.assertEqual(errors, expected) -class SelfReferentialM2MClashTests(IsolatedModelsTestCase): +@isolate_apps('invalid_models_tests') +class SelfReferentialM2MClashTests(SimpleTestCase): def test_clash_between_accessors(self): class Model(models.Model): @@ -1181,7 +1166,8 @@ class SelfReferentialM2MClashTests(IsolatedModelsTestCase): self.assertEqual(errors, []) -class SelfReferentialFKClashTests(IsolatedModelsTestCase): +@isolate_apps('invalid_models_tests') +class SelfReferentialFKClashTests(SimpleTestCase): def test_accessor_clash(self): class Model(models.Model): @@ -1244,7 +1230,8 @@ class SelfReferentialFKClashTests(IsolatedModelsTestCase): self.assertEqual(errors, expected) -class ComplexClashTests(IsolatedModelsTestCase): +@isolate_apps('invalid_models_tests') +class ComplexClashTests(SimpleTestCase): # New tests should not be included here, because this is a single, # self-contained sanity check, not a test of everything. @@ -1358,7 +1345,8 @@ class ComplexClashTests(IsolatedModelsTestCase): self.assertEqual(errors, expected) -class M2mThroughFieldsTests(IsolatedModelsTestCase): +@isolate_apps('invalid_models_tests') +class M2mThroughFieldsTests(SimpleTestCase): def test_m2m_field_argument_validation(self): """ Tests that ManyToManyField accepts the ``through_fields`` kwarg |
