def configure_environment_standalone_daemons(request): """Configure a custom environment for testing with specific Wazuh daemons only. Stopping wazuh-service is needed.""" def remove_logs(): """Remove all Wazuh logs""" for root, dirs, files in os.walk(WAZUH_LOGS_PATH): for file in files: os.remove(os.path.join(root, file)) # Stop wazuh-service and ensure all daemons are stopped control_service('stop') check_daemon_status(running=False) # Remove all remaining Wazuh sockets delete_sockets() # Start selected daemons in debug mode and ensure they are running for daemon in getattr(request.module, 'used_daemons'): control_service('start', daemon=daemon, debug_mode=True) check_daemon_status(running=True, daemon=daemon) # Clear all Wazuh logs truncate_file(LOG_FILE_PATH) # Call extra functions before yield if hasattr(request.module, 'extra_configuration_before_yield'): func = getattr(request.module, 'extra_configuration_before_yield') func() yield # Call extra functions after yield if hasattr(request.module, 'extra_configuration_after_yield'): func = getattr(request.module, 'extra_configuration_after_yield') func() # Stop selected daemons for daemon in getattr(request.module, 'used_daemons'): control_service('stop', daemon=daemon) # Remove all remaining Wazuh sockets delete_sockets() # Remove all Wazuh logs remove_logs()
help='Specify how many modified events will be expected. Default 4080.', action='store') parser.add_argument('-d', '--debug', dest='debug_level', default='ERROR', choices=list_of_choices, help='Specify debug level. Default "ERROR".', action='store') return parser.parse_args() if __name__ == '__main__': log_level = {'DEBUG': 10, 'ERROR': 40} options = get_script_arguments() events = options.n_events modified = options.dropped_events logger.setLevel(log_level[options.debug_level]) try: mitm = generate_analysisd_yaml(n_events=events, modify_events=modified) mitm.shutdown() except (TimeoutError, FileNotFoundError): logger.error( 'Could not generate the YAML. Please clean the environment.') delete_sockets() finally: kill_daemons() control_service('start')