def test_reputation_events_for_source_b64(self): with patch('db.mongo.Mongo') as mock: instance = mock.return_value enter = instance.__enter__.return_value enter.find_all_event_data_for_ip.return_value = [ { 'weight': 3, 'timestamp': 4, 'filename': 'ZZZ', 'source': 'SpamCop', 'data': 'AAA' }, # NOP SOURCE { 'weight': 7, 'timestamp': 5, 'filename': 'XXX', 'source': 'AOL', 'data': 'SGVsbG8gd29ybGQ=' } ] result = reputation.get_reputation_events_for_source( '5.5.5.5', 'AOL', 3) enter.find_all_event_data_for_ip.assert_called_with( '5.5.5.5', 3, True) self.assertEqual(1, len(result)) self.assertEqual("Hello world", result[0]['data'])
def get_reputation_details_for_source(addr, source): """ Retrieve details about events for a given source and a given ip. Those details consist in an array of events and for each event, the raw data that created this event. A timestamp can be passed using `start_date` parameter. """ try: start_date = _get_start_date() except: return {"error": "Expected start_date to be an integer."}, 400 return reputation_service.get_reputation_events_for_source(addr, source, start_date), 200
def get_reputation_details_for_source(addr, source): """ Retrieve details about events for a given source and a given ip. Those details consist in an array of events and for each event, the raw data that created this event. A timestamp can be passed using `start_date` parameter. """ try: start_date = _get_start_date() except: return {"error": "Expected start_date to be an integer."}, 400 return reputation_service.get_reputation_events_for_source( addr, source, start_date), 200
def test_reputation_events_for_source_b64(self): with patch('mongo.mongo.Mongo') as mock: instance = mock.return_value enter = instance.__enter__.return_value enter.find_all_event_data_for_ip.return_value = [ {'weight': 3, 'timestamp': 4, 'filename': 'ZZZ', 'source': 'SpamCop', 'data': 'AAA'}, # NOP SOURCE {'weight': 7, 'timestamp': 5, 'filename': 'XXX', 'source': 'AOL', 'data': 'SGVsbG8gd29ybGQ='} ] result = reputation.get_reputation_events_for_source('5.5.5.5', 'AOL', 3) enter.find_all_event_data_for_ip.assert_called_with('5.5.5.5', 3, True) self.assertEquals(1, len(result)) self.assertEqual("Hello world", result[0]['data'])
def test_reputation_events_for_source(self): with patch('mongo.mongo.Mongo') as mock: instance = mock.return_value enter = instance.__enter__.return_value enter.find_all_event_data_for_ip.return_value = [ {'weight': 3, 'timestamp': 4, 'filename': 'ZZZ', 'source': 'SpamCop', 'data': 'AAA'}, {'weight': 5, 'timestamp': 5, 'filename': 'YYY', 'source': 'SpamCop', 'data': 'BBB'}, {'weight': 7, 'timestamp': 6, 'filename': 'XXX', 'source': 'AOL', 'data': 'CCC'} # NOP SOURCE ] result = reputation.get_reputation_events_for_source('5.5.5.5', shortened_names['SpamCop'], 3) enter.find_all_event_data_for_ip.assert_called_with('5.5.5.5', 3, True) self.assertEquals(2, len(result)) self.assertEqual(['YYY', 'ZZZ'], sorted([r['filename'] for r in result]))