summaryrefslogtreecommitdiff
path: root/test.py
diff options
context:
space:
mode:
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()