summaryrefslogtreecommitdiff
path: root/tests/invalid_models_tests/test_relative_fields.py
diff options
context:
space:
mode:
authorSimon Charette <charette.s@gmail.com>2015-11-17 00:39:28 -0500
committerSimon Charette <charette.s@gmail.com>2016-01-06 20:00:07 -0500
commita08fda2111d811aa53f11218fa03f3300dfff4cb (patch)
tree0263cf99adf17c5123b3a53c686f637d5b40eda4 /tests/invalid_models_tests/test_relative_fields.py
parent3096f4b0829a005c67a14cc4bb6d345aa32672a1 (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.py70
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