diff options
Diffstat (limited to 'tests/utils_tests/test_http.py')
| -rw-r--r-- | tests/utils_tests/test_http.py | 17 |
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): |
