def test_node_wrapper(mock_read_config): """Verify that the node_wrapper returns the default node information.""" result = cluster.get_node_wrapper() assert result.affected_items == [{ 'cluster': default_config["name"], 'node': default_config["node_name"], 'type': default_config["node_type"] }]
def get_error_info(self, e) -> Dict: """Build a response given an Exception. Parameters ---------- e : Exception Returns ------- dict Dict where keys are nodes and values are error information. """ try: common.rbac.set(self.rbac_permissions) node_wrapper = get_node_wrapper() node = node_wrapper.affected_items[0]['node'] except exception.WazuhException as rbac_exception: if rbac_exception.code == 4000: node = 'unknown-node' else: raise rbac_exception except IndexError: raise list(node_wrapper.failed_items.keys())[0] error_message = e.message if isinstance( e, exception.WazuhException) else exception.GENERIC_ERROR_MSG result = {node: {'error': error_message}} # Give log path only in case of WazuhInternalError if not isinstance(e, exception.WazuhError): log_filename = None for h in self.logger.handlers or self.logger.parent.handlers: if hasattr(h, 'baseFilename'): log_filename = os.path.join( 'WAZUH_HOME', os.path.relpath(h.baseFilename, start=common.wazuh_path)) result[node]['logfile'] = log_filename return result
def test_node_wrapper_exception(mock_get_node): """Verify the exceptions raised in get_node_wrapper.""" result = cluster.get_node_wrapper() assert list(result.failed_items.keys())[0] == WazuhError(1001)