Added signals to results output

Currently, no signals are printed with the output, so now, the slugs of signals
associated with each issue are now printed in the results output. We may
revisit this to add strengths and tags should they be needed in the future.

Change-Id: Ib58127a9d6bb296b9731668e957c15e5c2ef71f4
This commit is contained in:
michael.dong@rackspace.com 2016-07-28 12:16:49 -05:00
parent 545faf1c6d
commit 58d3db7bf4
4 changed files with 18 additions and 2 deletions

View File

@ -54,7 +54,13 @@ class JSONFormatter(object):
defect_obj = {
'description': issue.description,
'severity': sev_rating
'severity': sev_rating,
'signals': {
'init_signals': [s.slug for s in issue.init_signals],
'test_signals': [s.slug for s in issue.test_signals],
'diff_signals': [s.slug for s in issue.diff_signals]
}
}
if defect_type not in severity_counter_dict:

View File

@ -41,7 +41,8 @@ class Issue(object):
"""
def __init__(self, defect_type, severity, description, confidence,
request=None, response=None, impacted_parameter=None):
request=None, response=None, impacted_parameter=None,
init_signals=[], test_signals=[], diff_signals=[]):
self.defect_type = defect_type
self.severity = severity
self.description = description
@ -49,6 +50,9 @@ class Issue(object):
self.request = request
self.response = response
self.impacted_parameter = None
self.init_signals = init_signals
self.test_signals = test_signals
self.diff_signals = diff_signals
def as_dict(self):
"""Convert the issue to a dict of values for outputting.

View File

@ -214,6 +214,9 @@ class BaseTestCase(unittest.TestCase):
url_components = urlparse(self.init_resp.url)
issue.target = url_components.netloc
issue.path = url_components.path
issue.init_signals = self.init_signals
issue.test_signals = self.test_signals
issue.diff_signals = self.diff_signals
self.failures.append(issue)

View File

@ -208,6 +208,9 @@ class BaseFuzzTestCase(base.BaseTestCase):
url_components = urlparse(self.init_resp.url)
issue.target = url_components.netloc
issue.path = url_components.path
issue.init_signals = self.init_signals
issue.test_signals = self.test_signals
issue.diff_signals = self.diff_signals
if 'content-type' in self.init_req.headers:
issue.content_type = self.init_req.headers['content-type']
else: