def test_get_rootcheck_agent_filters(mock_connect, mock_send, mock_info, filters, total_expected_items): """Checks if the number of items returned is as expected when using different filters. Parameters ---------- filters : dict Strings to filter by. total_expected_items : int Number of expected items to be returned. """ result = rootcheck.get_rootcheck_agent(agent_list=['001'], filters=filters).render()['data'] assert result['total_affected_items'] == total_expected_items
def test_get_rootcheck_agent_query(mock_connect, mock_send, mock_info, query, total_expected_items): """Checks if the number of items returned is as expected when using query parameter. Parameters ---------- query : str Query to be applied in the database total_expected_items : int Number of expected items to be returned. """ result = rootcheck.get_rootcheck_agent(agent_list=['001'], q=query, filters={ 'status': 'all' }).render()['data'] assert result['total_affected_items'] == total_expected_items
def test_get_rootcheck_agent_sort(mock_connect, mock_send, mock_info, sort, first_item): """Checks if the the first item returned is expected when using sort parameter Parameters ---------- sort : str Field and order to sort by first_item : int Expected string to be contained in the log of the first returned element. """ result = rootcheck.get_rootcheck_agent(agent_list=['001'], sort=parse_api_param(sort, 'sort'), filters={ 'status': 'all' }).render()['data'] assert first_item in result['affected_items'][0]['log']
def test_get_rootcheck_agent_search(mock_connect, mock_send, mock_info, search, total_expected_items): """Checks if the number of items returned is as expected when using the search parameter. Parameters ---------- search : str String to be searched in the database. total_expected_items : int Number of expected items to be returned. """ result = rootcheck.get_rootcheck_agent(agent_list=['001'], search=parse_api_param( search, 'search'), filters={ 'status': 'all' }).render()['data'] assert result['total_affected_items'] == total_expected_items
def test_get_rootcheck_agent_distinct(mock_connect, mock_send, mock_info, select, distinct, total_expected_items): """Checks if the number of items returned is as expected when using distinct and select parameters. Parameters ---------- select : list Fields to be returned. distinct : bool Whether to apply distinct filter. total_expected_items : int Number of expected items to be returned. """ result = rootcheck.get_rootcheck_agent(agent_list=['001'], select=select, distinct=distinct, filters={ 'status': 'all' }).render()['data'] assert result['total_affected_items'] == total_expected_items
def test_get_rootcheck_agent_select(mock_connect, mock_send, mock_info, select): """Check that only selected elements are returned Parameters ---------- select : list Fields to be returned. """ result = rootcheck.get_rootcheck_agent(agent_list=['001'], select=select, filters={ 'status': 'all' }).render()['data'] select = select if select else list(WazuhDBQueryRootcheck.fields.keys()) # Check returned keys are specified inside 'select' field for item in result['affected_items']: for key in item.keys(): assert key in select
def test_get_rootcheck_agent(mock_connect, mock_send, mock_info, limit): """Check if limit is correctly applied to get_rootcheck_agent() function Parameters ---------- limit : int Number of items to be returned. """ result = rootcheck.get_rootcheck_agent(agent_list=['001'], limit=limit, filters={ 'status': 'all' }).render()['data'] limit = limit if limit else 6 assert len(result['affected_items'] ) == limit and result['total_affected_items'] == 6 assert len( result['failed_items']) == 0 and result['total_failed_items'] == 0 # Check returned keys are allowed (they exist in core/rootcheck -> fields) for item in result['affected_items']: for key in item.keys(): assert key in WazuhDBQueryRootcheck.fields