def test_create_context_debotscore(params, rate, expected_score, mocker): expected_output = {'Indicator': '88.88.88.88', 'Score': expected_score, 'Type': 'ip', 'Vendor': 'ThreatConnect'} indicator = deepcopy(IP_INDICATOR) indicator[0]['rating'] = float(rate) mocker.patch.object(demisto, 'params', return_value=params) output = create_context(indicator, True)[0].get('DBotScore', [{}])[0] assert output == expected_output, f'expected_output({indicator}, True)[0].get(\'DBotScore\')\n\treturns: {output}' \ f'\n\tinstead: {expected_output}'
def test_create_context(indicators, expected_output, mocker): params = { "defaultOrg": "Demisto Inc.", "freshness": 7, "rating": 0, "confidence": 0 } mocker.patch.object(demisto, 'params', return_value=params) output = create_context(indicators) assert output == expected_output, f'expected_output({indicators})\n\treturns: {output}\n\tinstead: {expected_output}'
def test_create_context_debotscore_samilar_indicator(mocker): indicator = deepcopy(IP_INDICATOR) indicator.extend(deepcopy(IP_INDICATOR)) indicator[0]['confidence'] = 0 mocker.patch.object(demisto, 'params', return_value={"defaultOrg": "Demisto Inc.", "freshness": 7, "rating": 0, "confidence": 50}) # passing 2 ip indicators with the same address, one of them should gets the score 2 and the second one the score 3 context, _ = create_context(indicator, True) # validate there is one indicator with the highest score - 3 assert context assert len(context['DBotScore']) == 1 assert context['DBotScore'][0]['Indicator'] == '88.88.88.88' assert context['DBotScore'][0]['Score'] == 3
def test_create_context(indicators, expected_output, params, mocker): mocker.patch.object(demisto, 'params', return_value=params) output = create_context(indicators) assert output == expected_output, f'expected_output({indicators})\n\treturns: ' \ f'{output}\n\tinstead: {expected_output}'