diff options
| author | David Wobrock <david.wobrock@gmail.com> | 2023-04-18 10:20:32 +0200 |
|---|---|---|
| committer | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2023-04-18 12:46:27 +0200 |
| commit | 8b1ff0da4b162e87edebd94e61f2cd153e9e159d (patch) | |
| tree | 537798f33a0a9458ea1c4728616ba207b3a44dac /tests/foreign_object | |
| parent | 9bbf97bcdb488bb11aebb5bd405549fbec6852cd (diff) | |
Refs #16055 -- Deprecated get_joining_columns()/get_reverse_joining_columns() methods.
Diffstat (limited to 'tests/foreign_object')
| -rw-r--r-- | tests/foreign_object/tests.py | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/tests/foreign_object/tests.py b/tests/foreign_object/tests.py index 3c06f07e06..c9e8da5792 100644 --- a/tests/foreign_object/tests.py +++ b/tests/foreign_object/tests.py @@ -8,6 +8,7 @@ from django.db import models from django.test import SimpleTestCase, TestCase, skipUnlessDBFeature from django.test.utils import isolate_apps from django.utils import translation +from django.utils.deprecation import RemovedInDjango60Warning from .models import ( Article, @@ -687,3 +688,49 @@ class TestCachedPathInfo(TestCase): foreign_object_restored = pickle.loads(pickle.dumps(foreign_object)) self.assertIn("path_infos", foreign_object_restored.__dict__) self.assertIn("reverse_path_infos", foreign_object_restored.__dict__) + + +class GetJoiningDeprecationTests(TestCase): + def test_foreign_object_get_joining_columns_warning(self): + msg = ( + "ForeignObject.get_joining_columns() is deprecated. Use " + "get_joining_fields() instead." + ) + with self.assertWarnsMessage(RemovedInDjango60Warning, msg): + Membership.person.field.get_joining_columns() + + def test_foreign_object_get_reverse_joining_columns_warning(self): + msg = ( + "ForeignObject.get_reverse_joining_columns() is deprecated. Use " + "get_reverse_joining_fields() instead." + ) + with self.assertWarnsMessage(RemovedInDjango60Warning, msg): + Membership.person.field.get_reverse_joining_columns() + + def test_foreign_object_rel_get_joining_columns_warning(self): + msg = ( + "ForeignObjectRel.get_joining_columns() is deprecated. Use " + "get_joining_fields() instead." + ) + with self.assertWarnsMessage(RemovedInDjango60Warning, msg): + Membership.person.field.remote_field.get_joining_columns() + + def test_join_get_joining_columns_warning(self): + class CustomForeignKey(models.ForeignKey): + def __getattribute__(self, attr): + if attr == "get_joining_fields": + raise AttributeError + return super().__getattribute__(attr) + + class CustomParent(models.Model): + value = models.CharField(max_length=255) + + class CustomChild(models.Model): + links = CustomForeignKey(CustomParent, models.CASCADE) + + msg = ( + "The usage of get_joining_columns() in Join is deprecated. Implement " + "get_joining_fields() instead." + ) + with self.assertWarnsMessage(RemovedInDjango60Warning, msg): + CustomChild.objects.filter(links__value="value") |
