From 791407fef16faa4da6fe2247c24a9055037dd5dd Mon Sep 17 00:00:00 2001 From: Mariusz Felisiak Date: Wed, 12 Apr 2023 09:46:18 +0200 Subject: [4.2.x] Refs #34482 -- Reverted "Fixed #32969 -- Fixed pickling HttpResponse and subclasses." MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit d7f5bfd241666c0a76e90208da1e9ef81aec44db. Thanks Márton Salomváry for the report. Backport of 173034b00589c083793d495e8b07e35be2cb1cf0 from main --- tests/test_client/tests.py | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) (limited to 'tests/test_client') diff --git a/tests/test_client/tests.py b/tests/test_client/tests.py index 127cc61606..a5e980f3d0 100644 --- a/tests/test_client/tests.py +++ b/tests/test_client/tests.py @@ -19,8 +19,8 @@ testing against the contexts and templates produced by a view, rather than the HTML rendered to the end-user. """ +import copy import itertools -import pickle import tempfile from unittest import mock @@ -81,20 +81,24 @@ class ClientTest(TestCase): self.assertEqual(response.context["var"], "\xf2") self.assertEqual(response.templates[0].name, "GET Template") - def test_pickling_response(self): + def test_copy_response(self): tests = ["/cbv_view/", "/get_view/"] for url in tests: with self.subTest(url=url): response = self.client.get(url) - dump = pickle.dumps(response) - response_from_pickle = pickle.loads(dump) - self.assertEqual(repr(response), repr(response_from_pickle)) + response_copy = copy.copy(response) + self.assertEqual(repr(response), repr(response_copy)) + self.assertIs(response_copy.client, response.client) + self.assertIs(response_copy.resolver_match, response.resolver_match) + self.assertIs(response_copy.wsgi_request, response.wsgi_request) - async def test_pickling_response_async(self): + async def test_copy_response_async(self): response = await self.async_client.get("/async_get_view/") - dump = pickle.dumps(response) - response_from_pickle = pickle.loads(dump) - self.assertEqual(repr(response), repr(response_from_pickle)) + response_copy = copy.copy(response) + self.assertEqual(repr(response), repr(response_copy)) + self.assertIs(response_copy.client, response.client) + self.assertIs(response_copy.resolver_match, response.resolver_match) + self.assertIs(response_copy.asgi_request, response.asgi_request) def test_query_string_encoding(self): # WSGI requires latin-1 encoded strings. -- cgit v1.3