def test_encode_metadata_request_no_topics(self): expected = b"".join([ struct.pack('>h', 3), # API key metadata fetch struct.pack('>h', 0), # API version struct.pack('>i', 4), # Correlation ID struct.pack('>h3s', 3, b"cid"), # The client ID struct.pack('>i', 0), # No topics, give all the data! ]) encoded = KafkaCodec.encode_metadata_request(b"cid", 4) self.assertEqual(encoded, expected)
def test_encode_metadata_request_no_topics(self): expected = b"".join([ struct.pack('>h', 3), # API key metadata fetch struct.pack('>h', 0), # API version struct.pack('>i', 4), # Correlation ID struct.pack('>h3s', 3, b"cid"), # The client ID struct.pack('>i', 0), # No topics, give all the data! ]) encoded = KafkaCodec.encode_metadata_request(b"cid", 4) self.assertEqual(encoded, expected)
def test_encode_metadata_request_with_topics(self): expected = b"".join([ struct.pack('>h', 3), # API key metadata fetch struct.pack('>h', 0), # API version struct.pack('>i', 4), # Correlation ID struct.pack('>h3s', 3, b"cid"), # The client ID struct.pack('>i', 2), # Number of topics in the request struct.pack('>h2s', 2, b"t1"), # Topic "t1" struct.pack('>h2s', 2, b"t2"), # Topic "t2" ]) encoded = KafkaCodec.encode_metadata_request(b"cid", 4, [u"t1", "t2"]) self.assertEqual(encoded, expected)
def test_encode_metadata_request_with_topics(self): expected = b"".join([ struct.pack('>h', 3), # API key metadata fetch struct.pack('>h', 0), # API version struct.pack('>i', 4), # Correlation ID struct.pack('>h3s', 3, b"cid"), # The client ID struct.pack('>i', 2), # Number of topics in the request struct.pack('>h2s', 2, b"t1"), # Topic "t1" struct.pack('>h2s', 2, b"t2"), # Topic "t2" ]) encoded = KafkaCodec.encode_metadata_request(b"cid", 4, [b"t1", b"t2"]) self.assertEqual(encoded, expected)