From d15a52cab28aa32274a27e4af86acf3f34c2092a Mon Sep 17 00:00:00 2001 From: Dana Powers Date: Mon, 1 Sep 2014 17:06:15 -0700 Subject: Add test for sending produce request to unknown topic w/o auto-creation --- test/test_client.py | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'test/test_client.py') diff --git a/test/test_client.py b/test/test_client.py index 7744ede..bc11857 100644 --- a/test/test_client.py +++ b/test/test_client.py @@ -295,3 +295,28 @@ class TestKafkaClient(unittest2.TestCase): with self.assertRaises(LeaderNotAvailableError): client.send_produce_request(requests) + @patch('kafka.client.KafkaConnection') + @patch('kafka.client.KafkaProtocol') + def test_send_produce_request_raises_when_topic_unknown(self, protocol, conn): + + conn.recv.return_value = 'response' # anything but None + + brokers = [ + BrokerMetadata(0, 'broker_1', 4567), + BrokerMetadata(1, 'broker_2', 5678) + ] + + topics = [ + TopicMetadata('topic_doesnt_exist', UNKNOWN_TOPIC_OR_PARTITION, []), + ] + protocol.decode_metadata_response.return_value = MetadataResponse(brokers, topics) + + client = KafkaClient(hosts=['broker_1:4567']) + + requests = [ProduceRequest( + "topic_doesnt_exist", 0, + [create_message("a"), create_message("b")])] + + with self.assertRaises(UnknownTopicOrPartitionError): + client.send_produce_request(requests) + -- cgit v1.2.1