From 9a461cae3e5536cbacafa53dbd290ff68df22e67 Mon Sep 17 00:00:00 2001 From: Simon Charette Date: Fri, 9 Aug 2024 13:03:24 -0400 Subject: [5.1.x] Fixed #35666 -- Documented stacklevel usage and testing, and adjusted test suite accordingly. Over the years we've had multiple instances of hit and misses when emitting warnings: either setting the wrong stacklevel or not setting it at all. This work adds assertions for the existing warnings that were declaring the correct stacklevel, but were lacking tests for it. Backport of 57307bbc7d88927989cf5b314f16d6e13ade04e6 from main. --- tests/modeladmin/tests.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'tests/modeladmin/tests.py') diff --git a/tests/modeladmin/tests.py b/tests/modeladmin/tests.py index e8b59ed0bf..062368d94e 100644 --- a/tests/modeladmin/tests.py +++ b/tests/modeladmin/tests.py @@ -928,8 +928,9 @@ class ModelAdminTests(TestCase): mock_request.user = User.objects.create(username="bill") content_type = get_content_type_for_model(self.band) msg = "ModelAdmin.log_deletion() is deprecated. Use log_deletions() instead." - with self.assertWarnsMessage(RemovedInDjango60Warning, msg): + with self.assertWarnsMessage(RemovedInDjango60Warning, msg) as ctx: created = ma.log_deletion(mock_request, self.band, str(self.band)) + self.assertEqual(ctx.filename, __file__) fetched = LogEntry.objects.filter(action_flag=DELETION).latest("id") self.assertEqual(created, fetched) self.assertEqual(fetched.action_flag, DELETION) @@ -966,8 +967,9 @@ class ModelAdminTests(TestCase): "instead." ) with self.assertNumQueries(3): - with self.assertWarnsMessage(RemovedInDjango60Warning, msg): + with self.assertWarnsMessage(RemovedInDjango60Warning, msg) as ctx: ima.log_deletions(mock_request, queryset) + self.assertEqual(ctx.filename, __file__) logs = ( LogEntry.objects.filter(action_flag=DELETION) .order_by("id") -- cgit v1.3