import unittest import json import CweCheckerParser class TestCweCheckerParser(unittest.TestCase): def setUp(self): self.parser = CweCheckerParser.Parser('RESULT_PATH') def test_parser(self): input_data = json.loads("""{ "binary": "test/artificial_samples/build/cwe_190_x86_gcc.out", "time": 1564552342.0, "warnings": [ { "name": "CWE190", "version": "0.1", "addresses": [ "0x6BC:32u" ], "symbols": [ "malloc" ], "other": [], "description": "(Integer Overflow or Wraparound) Potential overflow due to multiplication at 0x6BC:32u (malloc)" }]}""") expected_res = 'CWE190' res = self.parser._parse_cwe_warnings(input_data) self.assertEqual(len(res), 1) self.assertEqual(res[0].name, expected_res)