def test_create_gzip(self): message_list = [create_message(b"v1", None), create_message(b"v2", key=b'42')] msg = create_gzip_message(message_list) self.assertEqual(msg.magic, 0) self.assertEqual(msg.attributes, ATTRIBUTE_CODEC_MASK & CODEC_GZIP) self.assertEqual(msg.key, None) # Need to decode to check since gzipped payload is non-deterministic decoded = gzip_decode(msg.value) expect = b"".join([ struct.pack(">q", 0), # MsgSet offset struct.pack(">i", 16), # MsgSet size struct.pack(">i", 1285512130), # CRC struct.pack(">bb", 0, 0), # Magic, flags struct.pack(">i", -1), # -1 indicates a null key struct.pack(">i", 2), # Msg length (bytes) b"v1", # Message contents struct.pack(">q", 0), # MsgSet offset struct.pack(">i", 18), # MsgSet size struct.pack(">i", 1929437987), # CRC struct.pack(">bb", 0, 0), # Magic, flags struct.pack(">i2s", 2, b'42'), # Key is 2 bytes long, 42 struct.pack(">i", 2), # Msg length (bytes) b"v2", # Message contents ]) self.assertEqual(decoded, expect)
def test_create_gzip(self): message_list = [ create_message(b"v1", None), create_message(b"v2", key=b'42') ] msg = create_gzip_message(message_list) self.assertEqual(msg.magic, 0) self.assertEqual(msg.attributes, ATTRIBUTE_CODEC_MASK & CODEC_GZIP) self.assertEqual(msg.key, None) # Need to decode to check since gzipped payload is non-deterministic decoded = gzip_decode(msg.value) expect = b"".join([ struct.pack(">q", 0), # MsgSet offset struct.pack(">i", 16), # MsgSet size struct.pack(">i", 1285512130), # CRC struct.pack(">bb", 0, 0), # Magic, flags struct.pack(">i", -1), # -1 indicates a null key struct.pack(">i", 2), # Msg length (bytes) b"v1", # Message contents struct.pack(">q", 0), # MsgSet offset struct.pack(">i", 18), # MsgSet size struct.pack(">i", 1929437987), # CRC struct.pack(">bb", 0, 0), # Magic, flags struct.pack(">i2s", 2, b'42'), # Key is 2 bytes long, 42 struct.pack(">i", 2), # Msg length (bytes) b"v2", # Message contents ]) self.assertEqual(decoded, expect)
def test_gzip(self): for i in range(100): s1 = os.urandom(100) s2 = gzip_decode(gzip_encode(s1)) self.assertEqual(s1, s2)
def test_gzip(self): for i in xrange(100): s1 = random_string(100) s2 = gzip_decode(gzip_encode(s1)) self.assertEqual(s1, s2)
def test_gzip(self): for _i in range(100): s1 = os.urandom(100) s2 = gzip_decode(gzip_encode(s1)) self.assertEqual(s1, s2)