コード例 #1
0
def test_DistributedAPI_check_wazuh_status_exception(node_info_mock, status_value):
    """Test exceptions from `check_wazuh_status` method from class DistributedAPI."""
    statuses = {process: status_value for process in sorted(get_manager_status())}
    with patch('wazuh.core.manager.get_manager_status',
               return_value=statuses):
        dapi = DistributedAPI(f=agent.get_agents_summary_status, logger=logger)
        try:
            dapi.check_wazuh_status()
        except WazuhError as e:
            assert e.code == 1017
            assert statuses
            assert e._extra_message['node_name'] == 'random_node'
            extra_message = ', '.join([f'{key}->{statuses[key]}' for key in dapi.basic_services if key in statuses])
            assert e._extra_message['not_ready_daemons'] == extra_message
コード例 #2
0
                'request_type': 'distributed_master',
                'f_kwargs': {
                    'node_list': '*'
                },
                'broadcasting': True,
                'nodes': ['master']
            }
            raise_if_exc_routine(dapi_kwargs=dapi_kwargs)


@pytest.mark.parametrize(
    'api_request',
    [agent.get_agents_summary_status, wazuh.core.manager.status])
@patch('wazuh.core.manager.get_manager_status',
       return_value={process: 'running'
                     for process in get_manager_status()})
def test_DistributedAPI_check_wazuh_status(status_mock, api_request):
    """Test `check_wazuh_status` method from class DistributedAPI."""
    dapi = DistributedAPI(f=api_request, logger=logger)
    data = dapi.check_wazuh_status()
    assert data is None


@pytest.mark.parametrize('status_value', ['failed', 'restarting', 'stopped'])
@patch('wazuh.core.cluster.cluster.get_node',
       return_value={'node': 'random_node'})
def test_DistributedAPI_check_wazuh_status_exception(node_info_mock,
                                                     status_value):
    """Test exceptions from `check_wazuh_status` method from class DistributedAPI."""
    statuses = {
        process: status_value
コード例 #3
0
            expected.affected_items = []
            with patch('wazuh.agent.get_agents_in_group', return_value=expected):
                dapi_kwargs = {'f': manager.status, 'logger': logger, 'request_type': 'distributed_master',
                               'f_kwargs': {'group_id': 'noexist'}, 'nodes': ['master']}
                raise_if_exc_routine(dapi_kwargs=dapi_kwargs, expected_error=1755)

            dapi_kwargs = {'f': manager.status, 'logger': logger, 'request_type': 'distributed_master',
                           'f_kwargs': {'node_list': '*'}, 'broadcasting': True, 'nodes': ['master']}
            raise_if_exc_routine(dapi_kwargs=dapi_kwargs, expected_error=1755)


@pytest.mark.parametrize('api_request', [
    agent.get_agents_summary_status,
    wazuh.core.manager.status
])
@patch('wazuh.core.manager.get_manager_status', return_value={process: 'running' for process in get_manager_status()})
def test_DistributedAPI_check_wazuh_status(status_mock, api_request):
    """Test `check_wazuh_status` method from class DistributedAPI."""
    dapi = DistributedAPI(f=api_request, logger=logger)
    data = dapi.check_wazuh_status()
    assert data is None


@pytest.mark.parametrize('status_value', [
    'failed',
    'restarting',
    'stopped'
])
@patch('wazuh.core.cluster.cluster.get_node', return_value={'node': 'random_node'})
def test_DistributedAPI_check_wazuh_status_exception(node_info_mock, status_value):
    """Test exceptions from `check_wazuh_status` method from class DistributedAPI."""