Пример #1
0
                                                        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,
Пример #2
0
        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,
Пример #3
0
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']
                                              )
Пример #4
0
            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)