32 lines
874 B
Python
32 lines
874 B
Python
# -*- coding: utf-8 -*-
|
|
|
|
import logging
|
|
import os
|
|
import random
|
|
import struct
|
|
import unittest2
|
|
|
|
from mock import MagicMock, patch
|
|
|
|
from kafka import KafkaClient
|
|
from kafka.producer import Producer
|
|
|
|
class TestKafkaProducer(unittest2.TestCase):
|
|
def test_producer_message_types(self):
|
|
|
|
producer = Producer(MagicMock())
|
|
topic = "test-topic"
|
|
partition = 0
|
|
|
|
bad_data_types = (u'你怎么样?', 12, ['a','list'], ('a','tuple'), {'a': 'dict'})
|
|
for m in bad_data_types:
|
|
with self.assertRaises(TypeError):
|
|
logging.debug("attempting to send message of type %s", type(m))
|
|
producer.send_messages(topic, partition, m)
|
|
|
|
good_data_types = ('a string!',)
|
|
for m in good_data_types:
|
|
# This should not raise an exception
|
|
producer.send_messages(topic, partition, m)
|
|
|