summaryrefslogtreecommitdiff
path: root/test.py
diff options
context:
space:
mode:
authorDavid Arthur <mumrah@gmail.com>2012-09-27 10:36:37 -0400
committerDavid Arthur <mumrah@gmail.com>2012-09-27 10:36:37 -0400
commit7486d8704f21acb454c23764162d22a59cdfa3e8 (patch)
tree786ac7afd4828f584011604eb4498ed1e40871d1 /test.py
parentab273c459fba1d47163b1ac5f1f7a3f0fe6f0215 (diff)
downloadkafka-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.py44
1 files changed, 44 insertions, 0 deletions
diff --git a/test.py b/test.py
new file mode 100644
index 0000000..3f5908e
--- /dev/null
+++ b/test.py
@@ -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()