Example #1
0
 def test_partition_error(self):
     # Response has a UnknownTopicOrPartition error for test/0
     response = protocol.MetadataResponse(
         buffer(
             b'\x00\x00\x00\x01'  # len(brokers)
                 b'\x00\x00\x00\x00'  # node is
                 b'\x00\x09'  # len(host)
                     b'localhost'  # host
                 b'\x00\x00#\x84'  # port
             b'\x00\x00\x00\x01'  # len(topic metadata)
                 b'\x00\x00'  # error code
                 b'\x00\x04'  # len(topic name)
                     b'test'  # topic name
                 b'\x00\x00\x00\x02'  # len(partition metadata)
                     b'\x00\x03'  # partition error code
                         b'\x00\x00\x00\x00'  # partition id
                         b'\x00\x00\x00\x00'  # leader
                         b'\x00\x00\x00\x01'  # len(replicas)
                             b'\x00\x00\x00\x00'  # replica
                         b'\x00\x00\x00\x01'  # len(isr)
                             b'\x00\x00\x00\x00'  # isr
                     b'\x00\x00'  # partition error code
                         b'\x00\x00\x00\x01'  # partition id
                         b'\x00\x00\x00\x00'  # leader
                         b'\x00\x00\x00\x01'  # len(replicas)
                             b'\x00\x00\x00\x00'  # replica
                         b'\x00\x00\x00\x01'  # len(isr)
                             b'\x00\x00\x00\x00'  # isr
         )
     )
     self.assertEqual(response.topics[b'test'].partitions[0].err, 3)
Example #2
0
 def test_response(self):
     resp = protocol.FetchResponse(
         buffer(b'\x00\x00\x00\x01'  # len(topics)
                b'\x00\x04'  # len(topic name)
                b'test'  # len(topic)
                b'\x00\x00\x00\x01'  # len (partitions)
                b'\x00\x00\x00\x00'  # partition id
                b'\x00\x00'  # error code
                b'\x00\x00\x00\x00\x00\x00\x00\x02'  # highwater mark offset
                b'\x00\x00\x00B'  # message set size
                b'\x00\x00\x00\x00\x00\x00\x00\x01'  # offset
                b'\x00\x00\x006'  # message size
                b'\xa3 ^B'  # crc
                b'\x00'  # magic byte
                b'\x00'  # attributes
                b'\x00\x00\x00\x12'  # len(key)
                b'test_partition_key'  # key
                b'\x00\x00\x00\x16'  # len(value)
                b'this is a test message'  # value
                ))
     self.assertEqual(len(resp.topics[b'test'][0].messages), 1)
     self.assertEqual(resp.topics[b'test'][0].max_offset, 2)
     message = resp.topics[b'test'][0].messages[0]
     self.assertEqual(message.value, b'this is a test message')
     self.assertEqual(message.partition_key, b'test_partition_key')
     self.assertEqual(message.compression_type, 0)
     self.assertEqual(message.offset, 1)
Example #3
0
 def test_consumer_metadata_response(self):
     response = protocol.ConsumerMetadataResponse(
         buffer(
             b'\x00\x00\x00\x00\x00\x00\x00\remmett-debian\x00\x00#\x84'))
     self.assertEqual(response.coordinator_id, 0)
     self.assertEqual(response.coordinator_host, b'emmett-debian')
     self.assertEqual(response.coordinator_port, 9092)
Example #4
0
 def test_topic_error(self):
     # Response has a UnknownTopicOrPartition error for test/0
     response = protocol.MetadataResponse(
         buffer(b'\x00\x00\x00\x01'  # len(brokers)
                b'\x00\x00\x00\x00'  # node id
                b'\x00\x09'  # len(host)
                b'localhost'  # host
                b'\x00\x00#\x84'  # port
                b'\x00\x00\x00\x01'  # len(topic metadata)
                b'\x00\x03'  # error code
                b'\x00\x04'  # len(topic name)
                b'test'  # topic name
                b'\x00\x00\x00\x02'  # len(partition metadata)
                b'\x00\x00'  # partition error code
                b'\x00\x00\x00\x00'  # partition id
                b'\x00\x00\x00\x00'  # leader
                b'\x00\x00\x00\x01'  # len(replicas)
                b'\x00\x00\x00\x00'  # replica
                b'\x00\x00\x00\x01'  # len(isr)
                b'\x00\x00\x00\x00'  # isr
                b'\x00\x00'  # partition error code
                b'\x00\x00\x00\x01'  # partition id
                b'\x00\x00\x00\x00'  # leader
                b'\x00\x00\x00\x01'  # len(replicas)
                b'\x00\x00\x00\x00'  # replicas
                b'\x00\x00\x00\x01'  # len(isr)
                b'\x00\x00\x00\x00'  # isr
                ))
     self.assertEqual(response.topics[b'test'].err, 3)
Example #5
0
 def test_topic_error(self):
     # Response has a UnknownTopicOrPartition error for test/0
     response = protocol.MetadataResponse(
         buffer(
             b'\x00\x00\x00\x01\x00\x00\x00\x00\x00\x09localhost\x00\x00#\x84\x00\x00\x00\x01\x00\x03\x00\x04test\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00'
         ))
     self.assertEqual(response.topics[b'test'].err, 3)
Example #6
0
 def test_offset_fetch_response(self):
     response = protocol.OffsetFetchResponse(
         buffer(
             b'\x00\x00\x00\x01\x00\x0cemmett.dummy\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00'
         ))
     self.assertEqual(response.topics[b'emmett.dummy'][0].metadata, b'')
     self.assertEqual(response.topics[b'emmett.dummy'][0].offset, 1)
Example #7
0
 def test_response(self):
     resp = protocol.FetchResponse(
         buffer(
             b'\x00\x00\x00\x01'  # len(topics)
                 b'\x00\x04'  # len(topic name)
                     b'test'  # len(topic)
             b'\x00\x00\x00\x01'  # len (partitions)
                 b'\x00\x00\x00\x00'  # partition id
                 b'\x00\x00'  # error code
                     b'\x00\x00\x00\x00\x00\x00\x00\x02'  # highwater mark offset
                     b'\x00\x00\x00B'  # message set size
                         b'\x00\x00\x00\x00\x00\x00\x00\x01'  # offset
                         b'\x00\x00\x006'  # message size
                             b'\xa3 ^B'  # crc
                             b'\x00'  # magic byte
                             b'\x00'  # attributes
                             b'\x00\x00\x00\x12'  # len(key)
                                 b'test_partition_key'  # key
                             b'\x00\x00\x00\x16'  # len(value)
                                 b'this is a test message'  # value
         )
     )
     self.assertEqual(len(resp.topics[b'test'][0].messages), 1)
     self.assertEqual(resp.topics[b'test'][0].max_offset, 2)
     message = resp.topics[b'test'][0].messages[0]
     self.assertEqual(message.value, b'this is a test message')
     self.assertEqual(message.partition_key, b'test_partition_key')
     self.assertEqual(message.compression_type, 0)
     self.assertEqual(message.offset, 1)
Example #8
0
 def test_partition_error(self):
     # Response has a UnknownTopicOrPartition error for test/0
     response = protocol.ProduceResponse(
         buffer(
             b'\x00\x00\x00\x01\x00\x04test\x00\x00\x00\x01\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x02'
         ))
     self.assertEqual(response.topics[b'test'][0].err, 3)
Example #9
0
 def test_consumer_metadata_response(self):
     response = protocol.ConsumerMetadataResponse(
         buffer(b'\x00\x00\x00\x00\x00\x00\x00\remmett-debian\x00\x00#\x84')
     )
     self.assertEqual(response.coordinator_id, 0)
     self.assertEqual(response.coordinator_host, b'emmett-debian')
     self.assertEqual(response.coordinator_port, 9092)
Example #10
0
 def test_response(self):
     cluster = protocol.MetadataResponse(
         buffer(b'\x00\x00\x00\x01'  # len(brokers)
                b'\x00\x00\x00\x00'  # node id
                b'\x00\x09'  # len(host)
                b'localhost'  # host
                b'\x00\x00#\x84'  # port
                b'\x00\x00\x00\x01'  # len(topic metadata)
                b'\x00\x00'  # error code
                b'\x00\x04'  # len(topic name)
                b'test'  # topic name
                b'\x00\x00\x00\x02'  # len(partition metadata)
                b'\x00\x00'  # partition error code
                b'\x00\x00\x00\x00'  # partition id
                b'\x00\x00\x00\x00'  # leader
                b'\x00\x00\x00\x01'  # len(replicas)
                b'\x00\x00\x00\x00'  # replica
                b'\x00\x00\x00\x01'  # len(isr)
                b'\x00\x00\x00\x00'  # isr
                b'\x00\x00'  # partition error code
                b'\x00\x00\x00\x01'  # partition id
                b'\x00\x00\x00\x00'  # leader
                b'\x00\x00\x00\x01'  # len(replicas)
                b'\x00\x00\x00\x00'  # replicas
                b'\x00\x00\x00\x01'  # len(isr)
                b'\x00\x00\x00\x00'  # isr
                ))
     self.assertEqual(cluster.brokers[0].host, b'localhost')
     self.assertEqual(cluster.brokers[0].port, 9092)
     self.assertEqual(cluster.topics[b'test'].partitions[0].leader,
                      cluster.brokers[0].id)
     self.assertEqual(cluster.topics[b'test'].partitions[0].replicas,
                      [cluster.brokers[0].id])
     self.assertEqual(cluster.topics[b'test'].partitions[0].isr,
                      [cluster.brokers[0].id])
Example #11
0
 def test_partition_error(self):
     # Response has a UnknownTopicOrPartition error for test/0
     response = protocol.FetchResponse(
         buffer(
             b'\x00\x00\x00\x01\x00\x04test\x00\x00\x00\x01\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00B\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x006\xa3 ^B\x00\x00\x00\x00\x00\x12test_partition_key\x00\x00\x00\x16this is a test message'
         ))
     self.assertEqual(response.topics[b'test'][0].err, 3)
Example #12
0
 def test_response(self):
     response = protocol.ProduceResponse(
         buffer(b'\x00\x00\x00\x01\x00\x04test\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02')
     )
     self.assertEqual(
         response.topics,
         {b'test': {0: protocol.ProducePartitionResponse(0, 2)}}
     )
Example #13
0
 def test_response(self):
     response = protocol.ProduceResponse(
         buffer(
             b'\x00\x00\x00\x01\x00\x04test\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02'
         ))
     self.assertEqual(
         response.topics,
         {b'test': {
             0: protocol.ProducePartitionResponse(0, 2)
         }})
Example #14
0
 def test_offset_commit_response(self):
     response = protocol.OffsetCommitResponse(
         buffer(b'\x00\x00\x00\x01'  # len(topics)
                b'\x00\x0c'  # len(topic name)
                b'emmett.dummy'  # topic name
                b'\x00\x00\x00\x01'  # len(partitions)
                b'\x00\x00\x00\x00'  # partition
                b'\x00\x00'  # error code
                ))
     self.assertEqual(response.topics[b'emmett.dummy'][0].err, 0)
Example #15
0
 def test_response(self):
     resp = protocol.FetchResponse(
         buffer(b'\x00\x00\x00\x01\x00\x04test\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00B\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x006\xa3 ^B\x00\x00\x00\x00\x00\x12test_partition_key\x00\x00\x00\x16this is a test message')
     )
     self.assertEqual(len(resp.topics[b'test'][0].messages), 1)
     self.assertEqual(resp.topics[b'test'][0].max_offset, 2)
     message = resp.topics[b'test'][0].messages[0]
     self.assertEqual(message.value, b'this is a test message')
     self.assertEqual(message.partition_key, b'test_partition_key')
     self.assertEqual(message.compression_type, 0)
     self.assertEqual(message.offset, 1)
Example #16
0
 def test_consumer_metadata_response(self):
     response = protocol.GroupCoordinatorResponse(
         buffer(b'\x00\x00'  # error code
                b'\x00\x00\x00\x00'  # coordinator id
                b'\x00\r'  # len(coordinator host)
                b'emmett-debian'  # coordinator host
                b'\x00\x00#\x84'  # coordinator port
                ))
     self.assertEqual(response.coordinator_id, 0)
     self.assertEqual(response.coordinator_host, b'emmett-debian')
     self.assertEqual(response.coordinator_port, 9092)
Example #17
0
 def test_response(self):
     resp = protocol.FetchResponse(
         buffer(
             b'\x00\x00\x00\x01\x00\x04test\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00B\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x006\xa3 ^B\x00\x00\x00\x00\x00\x12test_partition_key\x00\x00\x00\x16this is a test message'
         ))
     self.assertEqual(len(resp.topics[b'test'][0].messages), 1)
     self.assertEqual(resp.topics[b'test'][0].max_offset, 2)
     message = resp.topics[b'test'][0].messages[0]
     self.assertEqual(message.value, b'this is a test message')
     self.assertEqual(message.partition_key, b'test_partition_key')
     self.assertEqual(message.compression_type, 0)
     self.assertEqual(message.offset, 1)
Example #18
0
 def test_response(self):
     cluster = protocol.MetadataResponse(
         buffer(b'\x00\x00\x00\x01\x00\x00\x00\x00\x00\x09localhost\x00\x00#\x84\x00\x00\x00\x01\x00\x00\x00\x04test\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00')
     )
     self.assertEqual(cluster.brokers[0].host, b'localhost')
     self.assertEqual(cluster.brokers[0].port, 9092)
     self.assertEqual(cluster.topics[b'test'].partitions[0].leader,
                      cluster.brokers[0].id)
     self.assertEqual(cluster.topics[b'test'].partitions[0].replicas,
                      [cluster.brokers[0].id])
     self.assertEqual(cluster.topics[b'test'].partitions[0].isr,
                      [cluster.brokers[0].id])
Example #19
0
 def test_response(self):
     resp = protocol.OffsetResponse(
         buffer(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'  # partitoin
                b'\x00\x00'  # error code
                b'\x00\x00\x00\x01'  # len(offsets)
                b'\x00\x00\x00\x00\x00\x00\x00\x02'  # offset
                ))
     self.assertEqual(resp.topics[b'test'][0].offset, [2])
Example #20
0
 def test_partition_error(self):
     # Response has a UnknownTopicOrPartition error for test/0
     response = protocol.ProduceResponse(
         buffer(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\x03'  # error code
                b'\x00\x00\x00\x00\x00\x00\x00\x02'  # offset
                ))
     self.assertEqual(response.topics[b'test'][0].err, 3)
Example #21
0
 def test_offset_commit_response(self):
     response = protocol.OffsetCommitResponse(
         buffer(
             b'\x00\x00\x00\x01'  # len(topics)
                 b'\x00\x0c'  # len(topic name)
                     b'emmett.dummy'  # topic name
                 b'\x00\x00\x00\x01'  # len(partitions)
                     b'\x00\x00\x00\x00'  # partition
                         b'\x00\x00'  # error code
         )
     )
     self.assertEqual(response.topics[b'emmett.dummy'][0].err, 0)
Example #22
0
 def test_response(self):
     cluster = protocol.MetadataResponse(
         buffer(
             b'\x00\x00\x00\x01\x00\x00\x00\x00\x00\x09localhost\x00\x00#\x84\x00\x00\x00\x01\x00\x00\x00\x04test\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00'
         ))
     self.assertEqual(cluster.brokers[0].host, b'localhost')
     self.assertEqual(cluster.brokers[0].port, 9092)
     self.assertEqual(cluster.topics[b'test'].partitions[0].leader,
                      cluster.brokers[0].id)
     self.assertEqual(cluster.topics[b'test'].partitions[0].replicas,
                      [cluster.brokers[0].id])
     self.assertEqual(cluster.topics[b'test'].partitions[0].isr,
                      [cluster.brokers[0].id])
Example #23
0
 def test_offset_fetch_response(self):
     response = protocol.OffsetFetchResponse(
         buffer(b'\x00\x00\x00\x01'  # len(topics)
                b'\x00\x0c'  # len(topic name)
                b'emmett.dummy'  # topic name
                b'\x00\x00\x00\x01'  # len(partitions)
                b'\x00\x00\x00\x00'  # partition
                b'\x00\x00\x00\x00\x00\x00\x00\x01'  # offset
                b'\x00\x00'  # len(metadata)
                b'\x00\x00'  # error code
                ))
     self.assertEqual(response.topics[b'emmett.dummy'][0].metadata, b'')
     self.assertEqual(response.topics[b'emmett.dummy'][0].offset, 1)
Example #24
0
 def test_consumer_metadata_response(self):
     response = protocol.GroupCoordinatorResponse(
         buffer(
             b'\x00\x00'  # error code
             b'\x00\x00\x00\x00'  # coordinator id
             b'\x00\r'  # len(coordinator host)
                 b'emmett-debian'  # coordinator host
             b'\x00\x00#\x84'  # coordinator port
         )
     )
     self.assertEqual(response.coordinator_id, 0)
     self.assertEqual(response.coordinator_host, b'emmett-debian')
     self.assertEqual(response.coordinator_port, 9092)
Example #25
0
 def test_partition_error(self):
     # Response has a UnknownTopicOrPartition error for test/0
     response = protocol.ProduceResponse(
         buffer(
             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\x03'  # error code
                         b'\x00\x00\x00\x00\x00\x00\x00\x02'  # offset
         )
     )
     self.assertEqual(response.topics[b'test'][0].err, 3)
Example #26
0
 def test_response(self):
     resp = protocol.OffsetResponse(
         buffer(
             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'  # partitoin
                     b'\x00\x00'  # error code
                     b'\x00\x00\x00\x01'  # len(offsets)
                         b'\x00\x00\x00\x00\x00\x00\x00\x02'  # offset
         )
     )
     self.assertEqual(resp.topics[b'test'][0].offset, [2])
Example #27
0
 def test_offset_fetch_response(self):
     response = protocol.OffsetFetchResponse(
         buffer(
             b'\x00\x00\x00\x01'  # len(topics)
                 b'\x00\x0c'  # len(topic name)
                     b'emmett.dummy'  # topic name
                 b'\x00\x00\x00\x01'  # len(partitions)
                     b'\x00\x00\x00\x00'  # partition
                         b'\x00\x00\x00\x00\x00\x00\x00\x01'  # offset
                         b'\x00\x00'  # len(metadata)
                         b'\x00\x00'  # error code
         )
     )
     self.assertEqual(response.topics[b'emmett.dummy'][0].metadata, b'')
     self.assertEqual(response.topics[b'emmett.dummy'][0].offset, 1)
Example #28
0
 def test_response(self):
     response = protocol.ProduceResponse(
         buffer(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'  # error code
                b'\x00\x00\x00\x00\x00\x00\x00\x02'  # offset
                ))
     self.assertEqual(
         response.topics,
         {b'test': {
             0: protocol.ProducePartitionResponse(0, 2)
         }})
Example #29
0
 def test_response(self):
     response = protocol.ProduceResponse(
         buffer(
             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'  # error code
                         b'\x00\x00\x00\x00\x00\x00\x00\x02'  # offset
         )
     )
     self.assertEqual(
         response.topics,
         {b'test': {0: protocol.ProducePartitionResponse(0, 2)}}
     )
Example #30
0
 def test_partition_error(self):
     # Response has a UnknownTopicOrPartition error for test/0
     response = protocol.FetchResponse(
         buffer(b'\x00\x00\x00\x01'  # len(topics)
                b'\x00\x04'  # len(topic name)
                b'test'  # len(topic)
                b'\x00\x00\x00\x01'  # len (partitions)
                b'\x00\x00\x00\x00'  # partition id
                b'\x00\x03'  # error code
                b'\x00\x00\x00\x00\x00\x00\x00\x02'  # highwater mark offset
                b'\x00\x00\x00B'  # message set size
                b'\x00\x00\x00\x00\x00\x00\x00\x01'  # offset
                b'\x00\x00\x006'  # message size
                b'\xa3 ^B'  # crc
                b'\x00'  # magic byte
                b'\x00'  # attributes
                b'\x00\x00\x00\x12'  # len(key)
                b'test_partition_key'  # key
                b'\x00\x00\x00\x16'  # len(value)
                b'this is a test message'  # value
                ))
     self.assertEqual(response.topics[b'test'][0].err, 3)
Example #31
0
 def test_response(self):
     cluster = protocol.MetadataResponse(
         buffer(
             b'\x00\x00\x00\x01'  # len(brokers)
                 b'\x00\x00\x00\x00'  # node id
                 b'\x00\x09'  # len(host)
                     b'localhost'  # host
                 b'\x00\x00#\x84'  # port
             b'\x00\x00\x00\x01'  # len(topic metadata)
                 b'\x00\x00'  # error code
                 b'\x00\x04'  # len(topic name)
                     b'test'  # topic name
                 b'\x00\x00\x00\x02'  # len(partition metadata)
                     b'\x00\x00'  # partition error code
                         b'\x00\x00\x00\x00'  # partition id
                         b'\x00\x00\x00\x00'  # leader
                         b'\x00\x00\x00\x01'  # len(replicas)
                             b'\x00\x00\x00\x00'  # replica
                         b'\x00\x00\x00\x01'  # len(isr)
                             b'\x00\x00\x00\x00'  # isr
                     b'\x00\x00'  # partition error code
                         b'\x00\x00\x00\x01'  # partition id
                         b'\x00\x00\x00\x00'  # leader
                         b'\x00\x00\x00\x01'  # len(replicas)
                             b'\x00\x00\x00\x00'  # replicas
                         b'\x00\x00\x00\x01'  # len(isr)
                             b'\x00\x00\x00\x00'  # isr
         )
     )
     self.assertEqual(cluster.brokers[0].host, b'localhost')
     self.assertEqual(cluster.brokers[0].port, 9092)
     self.assertEqual(cluster.topics[b'test'].partitions[0].leader,
                      cluster.brokers[0].id)
     self.assertEqual(cluster.topics[b'test'].partitions[0].replicas,
                      [cluster.brokers[0].id])
     self.assertEqual(cluster.topics[b'test'].partitions[0].isr,
                      [cluster.brokers[0].id])
Example #32
0
 def test_partition_error(self):
     # Response has a UnknownTopicOrPartition error for test/0
     response = protocol.FetchResponse(
         buffer(
             b'\x00\x00\x00\x01'  # len(topics)
                 b'\x00\x04'  # len(topic name)
                     b'test'  # len(topic)
             b'\x00\x00\x00\x01'  # len (partitions)
                 b'\x00\x00\x00\x00'  # partition id
                 b'\x00\x03'  # error code
                     b'\x00\x00\x00\x00\x00\x00\x00\x02'  # highwater mark offset
                     b'\x00\x00\x00B'  # message set size
                         b'\x00\x00\x00\x00\x00\x00\x00\x01'  # offset
                         b'\x00\x00\x006'  # message size
                             b'\xa3 ^B'  # crc
                             b'\x00'  # magic byte
                             b'\x00'  # attributes
                             b'\x00\x00\x00\x12'  # len(key)
                                 b'test_partition_key'  # key
                             b'\x00\x00\x00\x16'  # len(value)
                                 b'this is a test message'  # value
         )
     )
     self.assertEqual(response.topics[b'test'][0].err, 3)
Example #33
0
 def test_partition_error(self):
     # Response has a UnknownTopicOrPartition error for test/0
     response = protocol.ProduceResponse(
             buffer(b'\x00\x00\x00\x01\x00\x04test\x00\x00\x00\x01\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x02')
     )
     self.assertEqual(response.topics[b'test'][0].err, 3)
Example #34
0
 def test_topic_error(self):
     # Response has a UnknownTopicOrPartition error for test/0
     response = protocol.MetadataResponse(
             buffer(b'\x00\x00\x00\x01\x00\x00\x00\x00\x00\x09localhost\x00\x00#\x84\x00\x00\x00\x01\x00\x03\x00\x04test\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00')
         )
     self.assertEqual(response.topics[b'test'].err, 3)
Example #35
0
 def test_offset_fetch_response(self):
     response = protocol.OffsetFetchResponse(
         buffer(b'\x00\x00\x00\x01\x00\x0cemmett.dummy\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00')
     )
     self.assertEqual(response.topics[b'emmett.dummy'][0].metadata, b'')
     self.assertEqual(response.topics[b'emmett.dummy'][0].offset, 1)
Example #36
0
 def test_offset_commit_response(self):
     response = protocol.OffsetCommitResponse(
         buffer(b'\x00\x00\x00\x01\x00\x0cemmett.dummy\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00')
     )
     self.assertEqual(response.topics[b'emmett.dummy'][0].err, 0)
Example #37
0
 def test_response(self):
     resp = protocol.OffsetResponse(
         buffer(b'\x00\x00\x00\x01\x00\x04test\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x02')
     )
     self.assertEqual(resp.topics[b'test'][0].offset, [2])
Example #38
0
 def test_partition_error(self):
     # Response has a UnknownTopicOrPartition error for test/0
     response = protocol.FetchResponse(
         buffer(b'\x00\x00\x00\x01\x00\x04test\x00\x00\x00\x01\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00B\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x006\xa3 ^B\x00\x00\x00\x00\x00\x12test_partition_key\x00\x00\x00\x16this is a test message')
     )
     self.assertEqual(response.topics[b'test'][0].err, 3)
Example #39
0
 def test_response(self):
     resp = protocol.OffsetResponse(
         buffer(
             b'\x00\x00\x00\x01\x00\x04test\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x02'
         ))
     self.assertEqual(resp.topics[b'test'][0].offset, [2])
Example #40
0
 def test_offset_commit_response(self):
     response = protocol.OffsetCommitResponse(
         buffer(
             b'\x00\x00\x00\x01\x00\x0cemmett.dummy\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00'
         ))
     self.assertEqual(response.topics[b'emmett.dummy'][0].err, 0)