From c87007ab60f69df7f991e5e6fe113dbaaba94787 Mon Sep 17 00:00:00 2001 From: Simon Charette Date: Fri, 9 Aug 2024 13:41:18 -0400 Subject: [5.1.x] Refs #35060 -- Adjusted deprecation warning stacklevel in Model.save()/asave(). Backport of 52ed2b645e1dd8c9a874cfd21c4c9f2500032626 from main. --- tests/basic/tests.py | 6 ++++-- tests/update_only_fields/tests.py | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-) (limited to 'tests') diff --git a/tests/basic/tests.py b/tests/basic/tests.py index 6fb67f7e6e..6d34a95805 100644 --- a/tests/basic/tests.py +++ b/tests/basic/tests.py @@ -206,9 +206,10 @@ class ModelInstanceCreationTests(TestCase): def test_save_deprecation(self): a = Article(headline="original", pub_date=datetime(2014, 5, 16)) msg = "Passing positional arguments to save() is deprecated" - with self.assertWarnsMessage(RemovedInDjango60Warning, msg): + with self.assertWarnsMessage(RemovedInDjango60Warning, msg) as ctx: a.save(False, False, None, None) self.assertEqual(Article.objects.count(), 1) + self.assertEqual(ctx.filename, __file__) def test_save_deprecation_positional_arguments_used(self): a = Article() @@ -259,9 +260,10 @@ class ModelInstanceCreationTests(TestCase): async def test_asave_deprecation(self): a = Article(headline="original", pub_date=datetime(2014, 5, 16)) msg = "Passing positional arguments to asave() is deprecated" - with self.assertWarnsMessage(RemovedInDjango60Warning, msg): + with self.assertWarnsMessage(RemovedInDjango60Warning, msg) as ctx: await a.asave(False, False, None, None) self.assertEqual(await Article.objects.acount(), 1) + self.assertEqual(ctx.filename, __file__) async def test_asave_deprecation_positional_arguments_used(self): a = Article() diff --git a/tests/update_only_fields/tests.py b/tests/update_only_fields/tests.py index 816112bc33..a6a5b7cb8e 100644 --- a/tests/update_only_fields/tests.py +++ b/tests/update_only_fields/tests.py @@ -262,10 +262,11 @@ class UpdateOnlyFieldsTests(TestCase): msg = "Passing positional arguments to save() is deprecated" with ( - self.assertWarnsMessage(RemovedInDjango60Warning, msg), + self.assertWarnsMessage(RemovedInDjango60Warning, msg) as ctx, self.assertNumQueries(0), ): s.save(False, False, None, []) + self.assertEqual(ctx.filename, __file__) async def test_empty_update_fields_positional_asave(self): s = await Person.objects.acreate(name="Sara", gender="F") @@ -273,8 +274,9 @@ class UpdateOnlyFieldsTests(TestCase): s.name = "Other" msg = "Passing positional arguments to asave() is deprecated" - with self.assertWarnsMessage(RemovedInDjango60Warning, msg): + with self.assertWarnsMessage(RemovedInDjango60Warning, msg) as ctx: await s.asave(False, False, None, []) + self.assertEqual(ctx.filename, __file__) # No save occurred for an empty update_fields. await s.arefresh_from_db() -- cgit v1.3