Ejemplo n.º 1
0
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"]
    }]
Ejemplo n.º 2
0
    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
Ejemplo n.º 3
0
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)