get_decoders_parents, get_file, put_file) from wazuh import decoder as decoder_framework from wazuh.tests.util import RBAC_bypasser wazuh.rbac.decorators.expose_resources = RBAC_bypasser del sys.modules['wazuh.rbac.orm'] @pytest.mark.asyncio @patch('api.controllers.decoder_controller.DistributedAPI.distribute_function', return_value=AsyncMock()) @patch('api.controllers.decoder_controller.remove_nones_to_dict') @patch('api.controllers.decoder_controller.DistributedAPI.__init__', return_value=None) @patch('api.controllers.decoder_controller.raise_if_exc', return_value=CustomAffectedItems()) async def test_get_decoders(mock_exc, mock_dapi, mock_remove, mock_dfunc, mock_request=MagicMock()): """Verify 'get_decoders' endpoint is working as expected.""" result = await get_decoders(request=mock_request) f_kwargs = { 'names': None, 'offset': 0, 'limit': None, 'select': None, 'sort_by': ['filename', 'position'], 'sort_ascending': True, 'search_text': None,
import wazuh.rbac.decorators from api.controllers.cdb_list_controller import (delete_file, get_file, get_lists, get_lists_files, put_file) from wazuh import cdb_list from wazuh.tests.util import RBAC_bypasser wazuh.rbac.decorators.expose_resources = RBAC_bypasser del sys.modules['wazuh.rbac.orm'] @pytest.mark.asyncio @patch('api.controllers.cdb_list_controller.DistributedAPI.distribute_function', return_value=AsyncMock()) @patch('api.controllers.cdb_list_controller.remove_nones_to_dict') @patch('api.controllers.cdb_list_controller.DistributedAPI.__init__', return_value=None) @patch('api.controllers.cdb_list_controller.raise_if_exc', return_value=CustomAffectedItems()) async def test_get_lists(mock_exc, mock_dapi, mock_remove, mock_dfunc, mock_request=MagicMock()): """Verify 'get_lists' endpoint is working as expected.""" result = await get_lists(request=mock_request) f_kwargs = {'offset': 0, 'select': None, 'limit': None, 'sort_by': ['relative_dirname', 'filename'], 'sort_ascending': True, 'search_text': None, 'complementary_search': None, 'filename': None, 'relative_dirname': None, } mock_dapi.assert_called_once_with(f=cdb_list.get_lists, f_kwargs=mock_remove.return_value,
with patch('wazuh.common.wazuh_uid'): with patch('wazuh.common.wazuh_gid'): sys.modules['wazuh.rbac.orm'] = MagicMock() import wazuh.rbac.decorators from api.controllers.active_response_controller import run_command from wazuh import active_response from wazuh.tests.util import RBAC_bypasser wazuh.rbac.decorators.expose_resources = RBAC_bypasser del sys.modules['wazuh.rbac.orm'] @pytest.mark.asyncio @patch('api.controllers.active_response_controller.DistributedAPI.distribute_function', return_value=AsyncMock()) @patch('api.controllers.active_response_controller.remove_nones_to_dict') @patch('api.controllers.active_response_controller.DistributedAPI.__init__', return_value=None) @patch('api.controllers.active_response_controller.raise_if_exc', return_value=CustomAffectedItems()) async def test_run_command(mock_exc, mock_dapi, mock_remove, mock_dfunc, mock_request=MagicMock()): """Verify 'run_command' endpoint is working as expected.""" with patch('api.controllers.active_response_controller.Body'): with patch('api.controllers.active_response_controller.ActiveResponseModel.get_kwargs', return_value=AsyncMock()) as mock_getkwargs: result = await run_command(request=mock_request) mock_dapi.assert_called_once_with(f=active_response.run_command, f_kwargs=mock_remove.return_value, request_type='distributed_master', is_async=False, wait_for_complete=False, logger=ANY, broadcasting=True, rbac_permissions=mock_request['token_info']['rbac_policies'] )
get_api_config, get_conf_validation, get_configuration, get_info, get_log, get_log_summary, get_manager_config_ondemand, get_stats, get_stats_analysisd, get_stats_hourly, get_stats_remoted, get_stats_weekly, get_status, put_restart, update_configuration) from wazuh import manager from wazuh.core import common from wazuh.tests.util import RBAC_bypasser wazuh.rbac.decorators.expose_resources = RBAC_bypasser del sys.modules['wazuh.rbac.orm'] @pytest.mark.asyncio @patch('api.controllers.manager_controller.DistributedAPI.distribute_function', return_value=AsyncMock()) @patch('api.controllers.manager_controller.remove_nones_to_dict') @patch('api.controllers.manager_controller.DistributedAPI.__init__', return_value=None) @patch('api.controllers.manager_controller.raise_if_exc', return_value=CustomAffectedItems()) async def test_get_status(mock_exc, mock_dapi, mock_remove, mock_dfunc, mock_request=MagicMock()): """Verify 'get_status' endpoint is working as expected.""" result = await get_status(request=mock_request) mock_dapi.assert_called_once_with(f=manager.get_status, f_kwargs=mock_remove.return_value, request_type='local_any', is_async=False, wait_for_complete=False, logger=ANY, rbac_permissions=mock_request['token_info']['rbac_policies'] ) mock_exc.assert_called_once_with(mock_dfunc.return_value) mock_remove.assert_called_once_with({}) assert isinstance(result, web_response.Response)