Ejemplo n.º 1
0
 def test_sync_group_request(self):
     req = protocol.SyncGroupRequest(b'dummygroup', 1, b'testmember1', [
         protocol.MemberAssignment([(b"mytopic1", [3, 5, 7, 9]),
                                    (b"mytopic2", [3, 5, 7, 9])],
                                   member_id=b"a"),
         protocol.MemberAssignment([(b"mytopic1", [2, 4, 6, 8]),
                                    (b"mytopic2", [2, 4, 6, 8])],
                                   member_id=b"b")
     ])
     msg = req.get_bytes()
     self.assertEqual(
         msg,
         bytearray(
             b'\x00\x00\x00\xc4\x00\x0e\x00\x00\x00\x00\x00\x00\x00\x07pykafka'  # header
             b'\x00\n'  # len(group id)
             b'dummygroup'  # group id
             b'\x00\x00\x00\x01'  # generation id
             b'\x00\x0b'  # len(member id)
             b'testmember1'  # member id
             b'\x00\x00\x00\x02'  # len(group assignment)
             b'\x00\x01'  # len(member id)
             b'a'  # member id
             b'\x00\x00\x00B'  # len(member assignment)
             b'\x00\x01\x00\x00\x00\x02\x00\x08mytopic1\x00\x00\x00\x04\x00\x00\x00\x03\x00\x00\x00\x05\x00\x00\x00\x07\x00\x00\x00\t\x00\x08mytopic2\x00\x00\x00\x04\x00\x00\x00\x03\x00\x00\x00\x05\x00\x00\x00\x07\x00\x00\x00\t'  # member assignment
             b'\x00\x01'  # len(member id)
             b'b'  # member id
             b'\x00\x00\x00B'  # len(member assignment)
             b'\x00\x01\x00\x00\x00\x02\x00\x08mytopic1\x00\x00\x00\x04\x00\x00\x00\x02\x00\x00\x00\x04\x00\x00\x00\x06\x00\x00\x00\x08\x00\x08mytopic2\x00\x00\x00\x04\x00\x00\x00\x02\x00\x00\x00\x04\x00\x00\x00\x06\x00\x00\x00\x08'  # member assignment
         ))
Ejemplo n.º 2
0
 def test_member_assignment_construction(self):
     assignment = protocol.MemberAssignment([(b"mytopic1", [3, 5, 7, 9]),
                                             (b"mytopic2", [2, 4, 6, 8])])
     msg = assignment.get_bytes()
     self.assertEqual(
         msg,
         bytearray(
             b'\x00\x01'  # version
             b'\x00\x00\x00\x02'  # len(partition assignment)
                 b'\x00\x08'  # len(topic)
                     b'mytopic1'  # topic
                 b'\x00\x00\x00\x04'  # len(partitions)
                     b'\x00\x00\x00\x03'  # partition
                     b'\x00\x00\x00\x05'  # partition
                     b'\x00\x00\x00\x07'  # partition
                     b'\x00\x00\x00\t'  # partition
                 b'\x00\x08'  # len(topic)
                     b'mytopic2'  # topic
                 b'\x00\x00\x00\x04'  # len(partitions)
                     b'\x00\x00\x00\x02'  # partition
                     b'\x00\x00\x00\x04'  # partition
                     b'\x00\x00\x00\x06'  # partition
                     b'\x00\x00\x00\x08'  # partition
         )
     )