From 1f857351391f1d50dd57b404cec313e61cf312f3 Mon Sep 17 00:00:00 2001 From: toli Date: Thu, 23 Jul 2015 17:06:41 -0700 Subject: Fixing https://github.com/mumrah/kafka-python/issues/434 Reworked the if statement logic to only call stop() on not-stopped objects. added tests --- test/test_producer.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'test/test_producer.py') diff --git a/test/test_producer.py b/test/test_producer.py index 27272f6..087e3ae 100644 --- a/test/test_producer.py +++ b/test/test_producer.py @@ -91,6 +91,20 @@ class TestKafkaProducer(unittest.TestCase): with self.assertRaises(FailedPayloadsError): producer.send_messages('foobar', b'test message') + def test_cleanup_stop_is_called_on_not_stopped_object(self): + producer = Producer(MagicMock(), async=True) + producer.stopped = True + with patch('kafka.producer.base.Producer.stop') as base_stop: + producer._cleanup_func(producer) + self.assertEqual(base_stop.call_count, 0) + + def test_cleanup_stop_is_not_called_on_stopped_object(self): + producer = Producer(MagicMock(), async=True) + producer.stopped = False + with patch('kafka.producer.base.Producer.stop') as base_stop: + producer._cleanup_func(producer) + self.assertEqual(base_stop.call_count, 1) + class TestKafkaProducerSendUpstream(unittest.TestCase): -- cgit v1.2.1