def test_validate_number_in_interval_double(self): prod, cons = app.run(Config.K_MONITOR_TEST_TOPIC, Config.PS_DATABASE_NAME, Config.PS_TEST_WEBSITE_TABLE_NAME, "tests/t_monitor_heavy_test.yml") interval = File.read_time_interval("tests/t_monitor_heavy_test.yml") time.sleep(interval * 2) app.stop_monitor(prod, cons) admin_client = KafkaAdminClient( bootstrap_servers=[Config.K_HOST + ':' + Config.K_PORT], security_protocol=Config.K_SECURITY_PROTOCOL, ssl_cafile=Config.K_SSL_CAT_FILE, ssl_certfile=Config.K_SSL_CERT_FILE, ssl_keyfile=Config.K_SSL_KEY_FILE) admin_client.delete_topics([Config.K_MONITOR_TEST_TOPIC]) monitors = File.read_monitors("tests/t_monitor_heavy_test.yml") #send messages equals total urls count in 2 cycle is double the urls size self.assertEqual(prod.get_message_count(), len(monitors) * 2)
def run(topic: str, db: str, table: str, filepath=None): if not filepath: filepath = Config.MONITERFILE interval = File.read_time_interval(filepath) monitors = File.read_monitors(filepath) producer = Producer(topic, interval) consumer = Consumer(topic, db, table) start_mointoring(monitors, producer, consumer) return producer, consumer