class SimpleConsumerShellTest(Test): """ Tests SimpleConsumerShell tool """ def __init__(self, test_context): super(SimpleConsumerShellTest, self).__init__(test_context) self.num_zk = 1 self.num_brokers = 1 self.messages_received_count = 0 self.topics = {TOPIC: {"partitions": NUM_PARTITIONS, "replication-factor": REPLICATION_FACTOR}} self.zk = ZookeeperService(test_context, self.num_zk) def setUp(self): self.zk.start() def start_kafka(self): self.kafka = KafkaService(self.test_context, self.num_brokers, self.zk, topics=self.topics) self.kafka.start() def run_producer(self): # This will produce to kafka cluster self.producer = VerifiableProducer( self.test_context, num_nodes=1, kafka=self.kafka, topic=TOPIC, throughput=1000, max_messages=MAX_MESSAGES ) self.producer.start() wait_until( lambda: self.producer.num_acked == MAX_MESSAGES, timeout_sec=10, err_msg="Timeout awaiting messages to be produced and acked", ) def start_simple_consumer_shell(self): self.simple_consumer_shell = SimpleConsumerShell(self.test_context, 1, self.kafka, TOPIC) self.simple_consumer_shell.start() def test_simple_consumer_shell(self): """ Tests if SimpleConsumerShell is fetching expected records :return: None """ self.start_kafka() self.run_producer() self.start_simple_consumer_shell() # Assert that SimpleConsumerShell is fetching expected number of messages wait_until( lambda: self.simple_consumer_shell.get_output().count("\n") == (MAX_MESSAGES + 1), timeout_sec=10, err_msg="Timed out waiting to receive expected number of messages.", )
def start_simple_consumer_shell(self): self.simple_consumer_shell = SimpleConsumerShell(self.test_context, 1, self.kafka, TOPIC) self.simple_consumer_shell.start()
def start_simple_consumer_shell(self): self.simple_consumer_shell = SimpleConsumerShell( self.test_context, 1, self.kafka, TOPIC) self.simple_consumer_shell.start()
class SimpleConsumerShellTest(Test): """ Tests SimpleConsumerShell tool """ def __init__(self, test_context): super(SimpleConsumerShellTest, self).__init__(test_context) self.num_zk = 1 self.num_brokers = 1 self.messages_received_count = 0 self.topics = { TOPIC: { 'partitions': NUM_PARTITIONS, 'replication-factor': REPLICATION_FACTOR } } self.zk = ZookeeperService(test_context, self.num_zk) def setUp(self): self.zk.start() def start_kafka(self): self.kafka = KafkaService(self.test_context, self.num_brokers, self.zk, topics=self.topics) self.kafka.start() def run_producer(self): # This will produce to kafka cluster self.producer = VerifiableProducer(self.test_context, num_nodes=1, kafka=self.kafka, topic=TOPIC, throughput=1000, max_messages=MAX_MESSAGES) self.producer.start() wait_until( lambda: self.producer.num_acked == MAX_MESSAGES, timeout_sec=10, err_msg="Timeout awaiting messages to be produced and acked") def start_simple_consumer_shell(self): self.simple_consumer_shell = SimpleConsumerShell( self.test_context, 1, self.kafka, TOPIC) self.simple_consumer_shell.start() @cluster(num_nodes=4) def test_simple_consumer_shell(self): """ Tests if SimpleConsumerShell is fetching expected records :return: None """ self.start_kafka() self.run_producer() self.start_simple_consumer_shell() # Assert that SimpleConsumerShell is fetching expected number of messages wait_until( lambda: self.simple_consumer_shell.get_output().count("\n") == (MAX_MESSAGES + 1), timeout_sec=10, err_msg="Timed out waiting to receive expected number of messages." )