From ee2835e69c47d02e8bce5a496bf8bd9f93b04fb4 Mon Sep 17 00:00:00 2001 From: Denis Cornehl Date: Tue, 5 Jan 2016 08:09:10 +0100 Subject: [1.9.x] Fixed #26024 -- Fixed regression in ConditionalGetMiddleware ETag support. Backport of 186b6c61bfe85afa4d6bf213d04a28dd2853fed2 from master --- tests/middleware/tests.py | 5 +++++ tests/utils_tests/test_http.py | 4 +++- 2 files changed, 8 insertions(+), 1 deletion(-) (limited to 'tests') diff --git a/tests/middleware/tests.py b/tests/middleware/tests.py index 2804e743f7..bf96f05048 100644 --- a/tests/middleware/tests.py +++ b/tests/middleware/tests.py @@ -470,6 +470,11 @@ class ConditionalGetMiddlewareTest(SimpleTestCase): self.resp = ConditionalGetMiddleware().process_response(self.req, self.resp) self.assertEqual(self.resp.status_code, 304) + def test_if_none_match_and_same_etag_with_quotes(self): + self.req.META['HTTP_IF_NONE_MATCH'] = self.resp['ETag'] = '"spam"' + self.resp = ConditionalGetMiddleware().process_response(self.req, self.resp) + self.assertEqual(self.resp.status_code, 304) + def test_if_none_match_and_different_etag(self): self.req.META['HTTP_IF_NONE_MATCH'] = 'spam' self.resp['ETag'] = 'eggs' diff --git a/tests/utils_tests/test_http.py b/tests/utils_tests/test_http.py index f90486003a..6051818958 100644 --- a/tests/utils_tests/test_http.py +++ b/tests/utils_tests/test_http.py @@ -158,8 +158,10 @@ class ETagProcessingTests(unittest.TestCase): self.assertEqual(etags, ['', 'etag', 'e"t"ag', r'e\tag', 'weak']) def test_quoting(self): - quoted_etag = http.quote_etag(r'e\t"ag') + original_etag = r'e\t"ag' + quoted_etag = http.quote_etag(original_etag) self.assertEqual(quoted_etag, r'"e\\t\"ag"') + self.assertEqual(http.unquote_etag(quoted_etag), original_etag) class HttpDateProcessingTests(unittest.TestCase): -- cgit v1.2.1