File: test_partitioner.py

package info (click to toggle)
python-kafka 0.9.5-1~bpo8%2B1
  • links: PTS, VCS
  • area: main
  • in suites: jessie-backports
  • size: 796 kB
  • sloc: python: 5,853; makefile: 182; sh: 66
file content (23 lines) | stat: -rw-r--r-- 926 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import six
from . import unittest

from kafka.partitioner import (Murmur2Partitioner)

class TestMurmurPartitioner(unittest.TestCase):
    def test_hash_bytes(self):
        p = Murmur2Partitioner(range(1000))
        self.assertEqual(p.partition(bytearray(b'test')), p.partition(b'test'))

    def test_hash_encoding(self):
        p = Murmur2Partitioner(range(1000))
        self.assertEqual(p.partition('test'), p.partition(u'test'))

    def test_murmur2_java_compatibility(self):
        p = Murmur2Partitioner(range(1000))
        # compare with output from Kafka's org.apache.kafka.clients.producer.Partitioner
        self.assertEqual(681, p.partition(b''))
        self.assertEqual(524, p.partition(b'a'))
        self.assertEqual(434, p.partition(b'ab'))
        self.assertEqual(107, p.partition(b'abc'))
        self.assertEqual(566, p.partition(b'123456789'))
        self.assertEqual(742, p.partition(b'\x00 '))