diff options
author | David Arthur <mumrah@gmail.com> | 2012-09-27 10:36:37 -0400 |
---|---|---|
committer | David Arthur <mumrah@gmail.com> | 2012-09-27 10:36:37 -0400 |
commit | 7486d8704f21acb454c23764162d22a59cdfa3e8 (patch) | |
tree | 786ac7afd4828f584011604eb4498ed1e40871d1 /test.py | |
parent | ab273c459fba1d47163b1ac5f1f7a3f0fe6f0215 (diff) | |
download | kafka-python-7486d8704f21acb454c23764162d22a59cdfa3e8.tar.gz |
Starting on unit tests
Updated several methods in KafkaClient to be classmethods. Updated some
inline documentation also
Diffstat (limited to 'test.py')
-rw-r--r-- | test.py | 44 |
1 files changed, 44 insertions, 0 deletions
@@ -0,0 +1,44 @@ +import binascii +import unittest + +from kafka import KafkaClient + +class TestMessage(unittest.TestCase): + def test_message_simple(self): + msg = KafkaClient.create_message("testing") + enc = KafkaClient.encode_message(msg) + expect = "\x00\x00\x00\r\x01\x00\xe8\xf3Z\x06testing" + self.assertEquals(enc, expect) + (messages, read) = KafkaClient.read_message_set(enc) + self.assertEquals(len(messages), 1) + self.assertEquals(messages[0], msg) + + def test_message_list(self): + msgs = [ + KafkaClient.create_message("one"), + KafkaClient.create_message("two"), + KafkaClient.create_message("three") + ] + enc = KafkaClient.encode_message_set(msgs) + expect = ("\x00\x00\x00\t\x01\x00zl\x86\xf1one\x00\x00\x00\t\x01\x00\x11" + "\xca\x8aftwo\x00\x00\x00\x0b\x01\x00F\xc5\xd8\xf5three") + self.assertEquals(enc, expect) + (messages, read) = KafkaClient.read_message_set(enc) + self.assertEquals(len(messages), 3) + self.assertEquals(messages[0].payload, "one") + self.assertEquals(messages[1].payload, "two") + self.assertEquals(messages[2].payload, "three") + + + def test_message_gzip(self): + msg = KafkaClient.create_gzip_message("one", "two", "three") + enc = KafkaClient.encode_message(msg) + # Can't check the bytes directly since Gzip is non-deterministic + (messages, read) = KafkaClient.read_message_set(enc) + self.assertEquals(len(messages), 3) + self.assertEquals(messages[0].payload, "one") + self.assertEquals(messages[1].payload, "two") + self.assertEquals(messages[2].payload, "three") + +if __name__ == '__main__': + unittest.main() |