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
'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
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."""