summaryrefslogtreecommitdiff
path: root/tests/utils_tests
diff options
context:
space:
mode:
authorKevin Christopher Henry <k@severian.com>2016-09-01 09:32:20 -0400
committerTim Graham <timograham@gmail.com>2016-09-10 08:14:52 -0400
commit4ef0e019b7dd3d2bf93b5c705b3b7df9cdb77561 (patch)
tree3b87b0f6df6ca459833f0569df3c2f6320ff4d67 /tests/utils_tests
parente7abb5ba8608f90ce97c6edb031ae877195616f5 (diff)
Fixed #27083 -- Added support for weak ETags.
Diffstat (limited to 'tests/utils_tests')
-rw-r--r--tests/utils_tests/test_http.py17
1 files changed, 11 insertions, 6 deletions
diff --git a/tests/utils_tests/test_http.py b/tests/utils_tests/test_http.py
index e8b4e51eb3..ef4cb90ac4 100644
--- a/tests/utils_tests/test_http.py
+++ b/tests/utils_tests/test_http.py
@@ -208,14 +208,19 @@ class TestUtilsHttp(unittest.TestCase):
class ETagProcessingTests(unittest.TestCase):
def test_parsing(self):
- etags = http.parse_etags(r'"", "etag", "e\"t\"ag", "e\\tag", W/"weak"')
- self.assertEqual(etags, ['', 'etag', 'e"t"ag', r'e\tag', 'weak'])
+ self.assertEqual(
+ http.parse_etags(r'"" , "etag", "e\\tag", W/"weak"'),
+ ['""', '"etag"', r'"e\\tag"', 'W/"weak"']
+ )
+ self.assertEqual(http.parse_etags('*'), ['*'])
+
+ # Ignore RFC 2616 ETags that are invalid according to RFC 7232.
+ self.assertEqual(http.parse_etags(r'"etag", "e\"t\"ag"'), ['"etag"'])
def test_quoting(self):
- 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)
+ self.assertEqual(http.quote_etag('etag'), '"etag"') # unquoted
+ self.assertEqual(http.quote_etag('"etag"'), '"etag"') # quoted
+ self.assertEqual(http.quote_etag('W/"etag"'), 'W/"etag"') # quoted, weak
class HttpDateProcessingTests(unittest.TestCase):