def run_smoke_test(cls, config=None): ''' Run smoke test for kafka ''' from beaver.component.kafka import Kafka TOPIC_NAME = "kafka_ru_smoke-%s" % os.getpid() msg = "This is Kafka Smoke TEST for RU." exit_code, stdout = Kafka.createTopic(TOPIC_NAME, runallowuser=False, user=Kafka.getkafkaAdminUser()) cls.kru_assert(exit_code == 0, "Kafka topic - %s failed at creation" % TOPIC_NAME) Kafka.grantAllPermissionOnTopic(TOPIC_NAME) exit_code, stdout = Kafka.runConsoleProducer( TOPIC_NAME, brokerlist=Kafka.get_broker_list(), message=msg) cls.kru_assert( exit_code == 0, "Kafka Producer for topic: %s message: %s" % (TOPIC_NAME, msg)) exit_code, stdout = Kafka.runConsoleConsumer( TOPIC_NAME, "--from-beginning --max-messages 1") cls.kru_assert( msg in stdout, "The messages produced: %s was not found in stdout: %s" % (msg, stdout)) logger.info("kafka brokers have come up properly after upgrade.")
def publish_message_successfully(cls, topic_name, message): exit_code, stdout = Kafka.runConsoleProducer( topic_name, brokerlist=Kafka.get_broker_list(), message=message) cls.kru_assert( exit_code == 0, "Kafka Producer for topic: %s message: %s" % (topic_name, message)) return exit_code
def run(self, messages=None, topic="defaultTopic"): if not messages: messages = ["hello world"] for message in self.messages: exit_code, _stdout = Kafka.runConsoleProducer( self.topic, brokerlist=Kafka.get_broker_list(), message=message) assert exit_code == 0, "Kafka producer for %s failed" % (topic)