def do_run(self, scoped) -> Tuple[TestResult, Any]: #logging.info("9092 Sockets before do_run()") #os.system('netstat -an | grep -w 9092') #logging.info("ps before do_run()") #os.system('ps -ef') logging.info(f"Connecting to Kafka") producer = KafkaProducer(bootstrap_servers=['localhost:9092']) msg_count = 100 for _ in range(msg_count): producer.send('test-topic', b'msg') consumer = KafkaConsumer('test-topic', group_id='group', bootstrap_servers=['localhost:9092'], auto_offset_reset='earliest', enable_auto_commit=False, session_timeout_ms=10000, max_poll_interval_ms=10000) msg_count_recv = 0 for _ in range(msg_count): msg = next(consumer) msg_count_recv += 1 assert msg_count == msg_count_recv, f"Expected to have {msg_count}, but received {msg_count_recv}" return passed(), None
def __validate_test_execution(self, name, scoped, test_data, scope_messages): for validator in self.__test_execution_validators: if validator.should_validate(name, scoped): logging.debug(f"Test execution {name}. Applying validator {validator.name}") res = validator.validate(test_data, scope_messages) if not res.passed: logging.warning(f"Test execution validator {validator.name} failed on {name}. Error: {res.error}") return res return passed()
def __validate_test_set(self, name, result): for validator in self.__test_set_validators: if validator.should_validate(name): logging.debug(f"Test set {name}. Applying validator {validator.name}") res = validator.validate(result) if not res.passed: logging.warning(f"Test set validator {validator.name} failed on {name}. Error: {res.error}") return res return passed()
def do_run(self, scoped) -> Tuple[TestResult, Any]: logging.info( f"Connecting to Splunk. User {config.username}, Password {config.password}" ) service = client.connect(username=config.username, password=config.password) index_name = f"test_{random_string(4)}" logging.info(f"Creating test index '{index_name}'") index = service.indexes.create(index_name) events_num = 100000 logging.info(f"Sending {events_num} events to Splunk") with index.attach() as sock: sock.settimeout(60) for i in range(events_num): sock.send(f"This is my test event {i}! \n".encode('utf-8')) self.__assert_same_number_of_events(service, events_num, index_name) self.__assert_transposed_results(service, index_name) return passed(), None