def test_execute__no_results(self, mock_upload, mock_scan): mock_scan.return_value = [] scanner = NmapperService() # mocking out _get_target_ips scanner.api = MagicMock() mock_response = MagicMock() mock_response.json.return_value = { 'meta': { 'total_count': 1 }, 'objects': [{ 'id': 1, 'is_all': True, 'is_enabled': True, 'scan_targets': ['192.0.2.1', '192.0.2.2'] }] } scanner.api.get_data.return_value = mock_response scanner.execute() mock_scan.assert_any_call(['192.0.2.1'], None) mock_scan.assert_any_call(['192.0.2.2'], None) self.assertEquals(mock_upload.call_count, 0)
def test_execute__no_results(self, mock_upload, mock_scan): mock_scan.return_value = [] scanner = NmapperService() # mocking out _get_target_ips scanner.api = MagicMock() mock_response = MagicMock() mock_response.json.return_value = { 'meta': {'total_count': 1}, 'objects': [ { 'id': 1, 'is_all': True, 'is_enabled': True, 'scan_targets': ['192.0.2.1', '192.0.2.2'] } ] } scanner.api.get_data.return_value = mock_response scanner.execute() mock_scan.assert_any_call(['192.0.2.1'], None) mock_scan.assert_any_call(['192.0.2.2'], None) self.assertEquals(mock_upload.call_count, 0)
def test__upload_results(self): scanner = NmapperService() scanner.api = MagicMock() scanner.api.send_file.return_value = 's3://path' now = datetime(2015, 11, 4) scanner._upload_results('myfile', now) scanner.api.send_file.assert_called_once_with( 'logs', 'myfile', now, suffix='nmap') scanner.api.send_signal.assert_called_once_with( 'logs', { 'path': 's3://path', 'log_type': 'observations', }, )
def test__upload_results(self): scanner = NmapperService() scanner.api = MagicMock() scanner.api.send_file.return_value = 's3://path' now = datetime(2015, 11, 4) scanner._upload_results('myfile', now) scanner.api.send_file.assert_called_once_with('logs', 'myfile', now, suffix='nmap') scanner.api.send_signal.assert_called_once_with( 'logs', { 'path': 's3://path', 'log_type': 'observations', }, )
def test_execute(self, mock_upload, mock_scan): mock_scan.return_value = [{'some': 'json'}, {'more': 'json'}] actual_results = [] def _dummy_upload(self, filename, now): with open(filename) as f: actual_results.append(f.read()) mock_upload.side_effect = _dummy_upload scanner = NmapperService() # mocking out _get_target_ips scanner.api = MagicMock() mock_response = MagicMock() mock_response.json.return_value = { 'meta': { 'total_count': 1 }, 'objects': [{ 'id': 1, 'is_all': True, 'is_enabled': True, 'scan_targets': ['192.0.2.1', '192.0.2.2'] }] } scanner.api.get_data.return_value = mock_response now = datetime(2015, 11, 4) scanner.execute(now) utcnow = now.replace(tzinfo=utc) mock_scan.assert_any_call(['192.0.2.1'], utcnow) mock_scan.assert_any_call(['192.0.2.2'], utcnow) self.assertEquals(mock_upload.call_count, 2) expected_contents = ''.join( [json.dumps(s) + '\n' for s in mock_scan.return_value]) self.assertEquals(len(actual_results), 2) self.assertEquals(actual_results[0], expected_contents) self.assertEquals(actual_results[1], expected_contents)
def test_execute(self, mock_upload, mock_scan): mock_scan.return_value = [{'some': 'json'}, {'more': 'json'}] actual_results = [] def _dummy_upload(self, filename, now): with open(filename) as f: actual_results.append(f.read()) mock_upload.side_effect = _dummy_upload scanner = NmapperService() # mocking out _get_target_ips scanner.api = MagicMock() mock_response = MagicMock() mock_response.json.return_value = { 'meta': {'total_count': 1}, 'objects': [ { 'id': 1, 'is_all': True, 'is_enabled': True, 'scan_targets': ['192.0.2.1', '192.0.2.2'] } ] } scanner.api.get_data.return_value = mock_response now = datetime(2015, 11, 4) scanner.execute(now) utcnow = now.replace(tzinfo=utc) mock_scan.assert_any_call(['192.0.2.1'], utcnow) mock_scan.assert_any_call(['192.0.2.2'], utcnow) self.assertEquals(mock_upload.call_count, 2) expected_contents = ''.join([json.dumps(s) + '\n' for s in mock_scan.return_value]) self.assertEquals(len(actual_results), 2) self.assertEquals(actual_results[0], expected_contents) self.assertEquals(actual_results[1], expected_contents)