diff options
author | Jonathan Davis <jonathandavis4@users.noreply.github.com> | 2021-07-29 06:04:56 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-07-29 07:04:56 +0200 |
commit | 4c6a6d5ac7aa348d5b4b9a4d6bb7cc18af49f72a (patch) | |
tree | 50d1e37c7b89cdfee53f60733cb2e83238ffe671 /tests/urlpatterns_reverse | |
parent | 85d47a58bf7dceced6a3e29a0715827b7a9d7d29 (diff) | |
download | django-4c6a6d5ac7aa348d5b4b9a4d6bb7cc18af49f72a.tar.gz |
Fixed #23895 -- Prevented pickling of ResolverMatch.
Pickling a ResolverMatch did not work correctly in many cases,
especially with CBVs and URLResolvers in the list of tried URL paths.
Diffstat (limited to 'tests/urlpatterns_reverse')
-rw-r--r-- | tests/urlpatterns_reverse/tests.py | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/tests/urlpatterns_reverse/tests.py b/tests/urlpatterns_reverse/tests.py index f2102c5304..332bc19e76 100644 --- a/tests/urlpatterns_reverse/tests.py +++ b/tests/urlpatterns_reverse/tests.py @@ -1,6 +1,7 @@ """ Unit tests for reverse URL lookups. """ +import pickle import sys import threading @@ -1167,6 +1168,12 @@ class ResolverMatchTests(SimpleTestCase): f"route='{name}/')", ) + @override_settings(ROOT_URLCONF='urlpatterns.path_urls') + def test_pickling(self): + msg = 'Cannot pickle ResolverMatch.' + with self.assertRaisesMessage(pickle.PicklingError, msg): + pickle.dumps(resolve('/users/')) + @override_settings(ROOT_URLCONF='urlpatterns_reverse.erroneous_urls') class ErroneousViewTests(SimpleTestCase): |