Beispiel #1
0
 def test_request(self):
     message = self.test_messages[0]
     req = protocol.ProduceRequest()
     req.add_message(message, b'test', 0)
     msg = req.get_bytes()
     self.assertEqual(
         msg,
         bytearray(
             b"\x00\x00\x00a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07pykafka"  # header
             b'\x00\x01'  # required acks
             b'\x00\x00\'\x10'  # timeout
             b'\x00\x00\x00\x01'  # len(topics)
             b'\x00\x04'  # len(topic name)
             b'test'  # topic name
             b'\x00\x00\x00\x01'  # len (partitions)
             b'\x00\x00\x00\x00'  # partition
             b'\x00\x00\x004'  # message set size
             b'\xff\xff\xff\xff\xff\xff\xff\xff'  # offset
             b'\x00\x00\x00('  # message size
             b'\x0e\x8a\x19O'  # crc
             b'\x00'  # magic byte
             b'\x00'  # attributes
             b'\x00\x00\x00\x04'  # len(key)
             b'asdf'  # key
             b'\x00\x00\x00\x16'  # len(value)
             b"this is a test message"  # value
         ))
Beispiel #2
0
 def test_request_message_timestamp(self):
     message = self.test_messages[1]
     req = protocol.ProduceRequest()
     req.add_message(message, b'test', 0)
     msg = req.get_bytes()
     self.assertEqual(
         msg,
         bytearray(
             b'\x00\x00\x00i\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07pykafka'  # header
             b'\x00\x01'  # required acks
             b"\x00\x00\'\x10"  # timeout
             b"\x00\x00\x00\x01"  # len(topics)
             b"\x00\x04"  # len(topic name)
             b"test"  # topic name
             b"\x00\x00\x00\x01"  # len(partitions)
             b"\x00\x00\x00\x00"  # partition
             b"\x00\x00\x00<"  # message set size
             b"\xff\xff\xff\xff\xff\xff\xff\xff"  # offset
             b"\x00\x00\x000"  # message size
             b"Z\x92\x80\t"  # crc
             b"\x01"  # magic byte (protocol version)
             b"\x00"  # attributes
             b"\x00\x00\x00\x00Y?\x04\x94"  # timestamp
             b"\x00\x00\x00\x04"  # len(key)
             b"asdf"  # key
             b"\x00\x00\x00\x16"  # len(value)
             b"this is a test message"  # value
         ))
Beispiel #3
0
 def test_request(self):
     message = self.test_messages[0]
     req = protocol.ProduceRequest()
     req.add_message(message, 'test', 0)
     msg = req.get_bytes()
     self.assertEqual(
         msg,
         bytearray(b"\x00\x00\x00a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07pykafka\x00\x01\x00\x00\'\x10\x00\x00\x00\x01\x00\x04test\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x004\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00(\x0e\x8a\x19O\x00\x00\x00\x00\x00\x04asdf\x00\x00\x00\x16this is a test message")
     )
Beispiel #4
0
 def test_snappy_compression(self):
     req = protocol.ProduceRequest(compression_type=CompressionType.SNAPPY)
     [req.add_message(m, b'test_snappy', 0) for m in self.test_messages]
     msg = req.get_bytes()
     self.assertEqual(len(msg), 212)  # this isn't a good test
Beispiel #5
0
 def test_gzip_compression(self):
     req = protocol.ProduceRequest(compression_type=CompressionType.GZIP)
     [req.add_message(m, b'test_gzip', 0) for m in self.test_messages]
     msg = req.get_bytes()
     self.assertEqual(len(msg), 207)  # this isn't a good test