From 77eda34120d72f0c4d995bc05baa7e38e23264d5 Mon Sep 17 00:00:00 2001 From: Travis McPeak Date: Tue, 20 Dec 2016 11:31:00 -0800 Subject: [PATCH] Removing 'stats' from JSON output formatter This commit removes 'stats' from the JSON output formatter. The same information is available in the metrics section and duplicating the data is pointless. Closes-Bug: #1643723 Change-Id: Ia80a177fdc03c9769c35c824d8d907c93da2ebf7 --- bandit/formatters/json.py | 40 +----------------------------- tests/unit/formatters/test_json.py | 3 --- 2 files changed, 1 insertion(+), 42 deletions(-) diff --git a/bandit/formatters/json.py b/bandit/formatters/json.py index 2e3d3d1..ab53585 100644 --- a/bandit/formatters/json.py +++ b/bandit/formatters/json.py @@ -68,21 +68,6 @@ This formatter outputs the issues in JSON. "test_name": "blacklist_calls", "test_id": "B301" } - ], - "stats": [ - { - "filename": "examples/yaml_load.py", - "issue totals": { - "HIGH": 0, - "LOW": 0, - "MEDIUM": 1, - "UNDEFINED": 0 - }, - "score": { - "CONFIDENCE": 10, - "SEVERITY": 5 - } - } ] } @@ -99,9 +84,6 @@ import logging import operator import sys -import six - -from bandit.core import constants from bandit.core import test_properties LOG = logging.getLogger(__name__) @@ -118,31 +100,11 @@ def report(manager, fileobj, sev_level, conf_level, lines=-1): :param lines: Number of lines to report, -1 for all ''' - stats = dict(zip(manager.files_list, manager.scores)) - machine_output = dict({'results': [], 'errors': [], 'stats': []}) + machine_output = dict({'results': [], 'errors': []}) for (fname, reason) in manager.skipped: machine_output['errors'].append({'filename': fname, 'reason': reason}) - for filer, score in six.iteritems(stats): - totals = {} - rank = constants.RANKING - sev_idx = rank.index(sev_level) - for i in range(sev_idx, len(rank)): - severity = rank[i] - severity_value = constants.RANKING_VALUES[severity] - try: - sc = score['SEVERITY'][i] / severity_value - except ZeroDivisionError: - sc = 0 - totals[severity] = sc - - machine_output['stats'].append({ - 'filename': filer, - 'score': {'SEVERITY': sum(i for i in score['SEVERITY']), - 'CONFIDENCE': sum(i for i in score['CONFIDENCE'])}, - 'issue totals': totals}) - results = manager.get_issue_list(sev_level=sev_level, conf_level=conf_level) diff --git a/tests/unit/formatters/test_json.py b/tests/unit/formatters/test_json.py index ae73fc5..001ef98 100644 --- a/tests/unit/formatters/test_json.py +++ b/tests/unit/formatters/test_json.py @@ -93,7 +93,4 @@ class JsonFormatterTests(testtools.TestCase): self.assertEqual(self.context['linerange'], data['results'][0]['line_range']) self.assertEqual(self.check_name, data['results'][0]['test_name']) - self.assertEqual('binding.py', data['stats'][0]['filename']) - self.assertEqual({'CONFIDENCE': 0, 'SEVERITY': 0}, - data['stats'][0]['score']) self.assertIn('candidates', data['results'][0])