class TestReportResponse(unittest.TestCase): def setUp(self): load_test_fixture('fixtures/test-report-response.json') self.analyzer = Analyzer() def test_error_response(self): # Run the analyzer report method self.analyzer.report({'report_id': '12345'}) # Get the output output = self.analyzer.fpoutput.getvalue().strip() json_output = json.loads(output) self.assertEqual(json_output.get('success'), True) self.assertEqual(json_output.get('errorMessage', None), None) self.assertEqual(json_output['full']['report_id'], '12345')
class TestReportResponse(unittest.TestCase): def setUp(self): load_test_fixture('fixtures/test-report-response.json') self.analyzer = Analyzer() def test_report_response(self): # Run the analyzer report method self.analyzer.report({'report_id': '12345'}) # Get the output output = self.analyzer.fpoutput.getvalue().strip() json_output = json.loads(output) self.assertEqual(json_output.get('success'), True) self.assertEqual(json_output.get('errorMessage', None), None) self.assertEqual(json_output['full']['report_id'], '12345')
class AnalyzerExtractorNoResultTest(unittest.TestCase): def setUp(self): sys.stdin = StringIO(json.dumps({"data": "8.8.8.8", "dataType": "ip"})) sys.stdout = StringIO() self.analyzer = Analyzer() def test_output(self): # Run report method self.analyzer.report({'message': '8.8.8.8 was not found in database.'}) # Grab the output output = self.analyzer.fpoutput.getvalue().strip() json_output = json.loads(output) # Check for empty artifact list self.assertEqual(json_output['artifacts'], [], 'Artifact list should be empty.')
class AnalyzerExtractorOutputTest(unittest.TestCase): def setUp(self): sys.stdin = StringIO(json.dumps({"data": "8.8.8.8", "dataType": "ip"})) sys.stdout = StringIO() self.analyzer = Analyzer() def test_output(self): # Run the report method self.analyzer.report({'result': '1.2.3.4'}) # Grab the output output = self.analyzer.fpoutput.getvalue().strip() json_output = json.loads(output) # Checks self.assertNotIn(self.analyzer.get_data(), output) self.assertEqual(json_output['artifacts'][0]['value'], '1.2.3.4') self.assertEqual(json_output['artifacts'][0]['type'], 'ip')
class AnalyzerExtractorNoResultTest(unittest.TestCase): def setUp(self): sys.stdin = StringIO(json.dumps({ "data": "8.8.8.8", "dataType": "ip" })) sys.stdout = StringIO() self.analyzer = Analyzer() def test_output(self): # Run report method self.analyzer.report({ 'message': '8.8.8.8 was not found in database.' }) # Grab the output output = self.analyzer.fpoutput.getvalue().strip() json_output = json.loads(output) # Check for empty artifact list self.assertEqual(json_output['artifacts'], [], 'Artifact list should be empty.')
class AnalyzerExtractorOutputTest(unittest.TestCase): def setUp(self): sys.stdin = StringIO(json.dumps({ "data": "8.8.8.8", "dataType": "ip" })) sys.stdout = StringIO() self.analyzer = Analyzer() def test_output(self): # Run the report method self.analyzer.report({'result': '1.2.3.4'}) # Grab the output output = self.analyzer.fpoutput.getvalue().strip() json_output = json.loads(output) # Checks self.assertNotIn(self.analyzer.get_data(), output) self.assertEqual(json_output['artifacts'][0]['value'], '1.2.3.4') self.assertEqual(json_output['artifacts'][0]['type'], 'ip')