diff options
author | Denis Cornehl <syphar@fastmail.fm> | 2016-01-05 08:09:10 +0100 |
---|---|---|
committer | Tim Graham <timograham@gmail.com> | 2016-01-05 09:41:13 -0500 |
commit | ee2835e69c47d02e8bce5a496bf8bd9f93b04fb4 (patch) | |
tree | dccba382988875d2e87f531f3042dba24df7e643 /tests | |
parent | 775291d4c767cd17dc5bbd2e8a605fd4fdfd8aed (diff) | |
download | django-ee2835e69c47d02e8bce5a496bf8bd9f93b04fb4.tar.gz |
[1.9.x] Fixed #26024 -- Fixed regression in ConditionalGetMiddleware ETag support.
Backport of 186b6c61bfe85afa4d6bf213d04a28dd2853fed2 from master
Diffstat (limited to 'tests')
-rw-r--r-- | tests/middleware/tests.py | 5 | ||||
-rw-r--r-- | tests/utils_tests/test_http.py | 4 |
2 files changed, 8 insertions, 1 deletions
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): |