summaryrefslogtreecommitdiff
path: root/tests/utils_tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests/utils_tests')
-rw-r--r--tests/utils_tests/test_text.py20
1 files changed, 13 insertions, 7 deletions
diff --git a/tests/utils_tests/test_text.py b/tests/utils_tests/test_text.py
index 50e205a254..101943957c 100644
--- a/tests/utils_tests/test_text.py
+++ b/tests/utils_tests/test_text.py
@@ -1,3 +1,4 @@
+import gzip
import json
import sys
@@ -404,13 +405,18 @@ class TestUtilsText(SimpleTestCase):
text.get_valid_filename("$.$.$")
def test_compress_sequence(self):
- data = [{"key": i} for i in range(10)]
- seq = list(json.JSONEncoder().iterencode(data))
- seq = [s.encode() for s in seq]
- actual_length = len(b"".join(seq))
- out = text.compress_sequence(seq)
- compressed_length = len(b"".join(out))
- self.assertLess(compressed_length, actual_length)
+ data = [{"key": i} for i in range(100)]
+ seq = [s.encode() for s in json.JSONEncoder().iterencode(data)]
+ original = b"".join(seq)
+ batch_size = 256
+ batched_seq = (
+ original[i : i + batch_size] for i in range(0, len(original), batch_size)
+ )
+ compressed_chunks = list(text.compress_sequence(batched_seq))
+ out = b"".join(compressed_chunks)
+ self.assertEqual(gzip.decompress(out), original)
+ self.assertLess(len(out), len(original))
+ self.assertGreater(len(compressed_chunks), 2)
def test_format_lazy(self):
self.assertEqual("django/test", format_lazy("{}/{}", "django", lazystr("test")))