| Index: appengine/findit/handlers/crash/test/fracas_result_feedback_test.py
|
| diff --git a/appengine/findit/handlers/crash/test/fracas_result_feedback_test.py b/appengine/findit/handlers/crash/test/fracas_result_feedback_test.py
|
| index a5f099f4ebc53ca34ef8e935f9b40257f459e2af..3d60fe90b4322015b6c6e838b89bd4e6aeb39b2b 100644
|
| --- a/appengine/findit/handlers/crash/test/fracas_result_feedback_test.py
|
| +++ b/appengine/findit/handlers/crash/test/fracas_result_feedback_test.py
|
| @@ -2,6 +2,9 @@
|
| # Use of this source code is governed by a BSD-style license that can be
|
| # found in the LICENSE file.
|
|
|
| +import calendar
|
| +from datetime import datetime
|
| +
|
| from google.appengine.api import users
|
| import webapp2
|
|
|
| @@ -10,6 +13,7 @@ from testing_utils import testing
|
| from common import time_util
|
| from handlers.crash import fracas_result_feedback
|
| from model import analysis_status
|
| +from model import triage_status
|
| from model.crash.fracas_crash_analysis import FracasCrashAnalysis
|
|
|
|
|
| @@ -70,14 +74,27 @@ class FracasResultFeedbackTest(testing.AppengineTestCase):
|
| 'channel': analysis.channel,
|
| 'platform': analysis.platform,
|
| 'regression_range': analysis.result.get('regression_range'),
|
| + 'culprit_regression_range': analysis.culprit_regression_range,
|
| 'historical_metadata': analysis.historical_metadata,
|
| 'stack_trace': analysis.stack_trace,
|
| 'suspected_cls': analysis.result.get('suspected_cls'),
|
| + 'culprit_cls': analysis.culprit_cls,
|
| 'suspected_project': analysis.result.get('suspected_project'),
|
| + 'culprit_project': analysis.culprit_project,
|
| 'suspected_components': analysis.result.get('suspected_components'),
|
| + 'culprit_components': analysis.culprit_components,
|
| 'request_time': time_util.FormatDatetime(analysis.requested_time),
|
| 'analysis_completed': analysis.completed,
|
| 'analysis_failed': analysis.failed,
|
| + 'triage_history': fracas_result_feedback._GetTriageHistory(analysis),
|
| + 'analysis_correct': {
|
| + 'regression_range': analysis.regression_range_triage_status,
|
| + 'suspected_cls': analysis.suspected_cls_triage_status,
|
| + 'suspected_project': analysis.suspected_project_triage_status,
|
| + 'suspected_components': analysis.suspected_components_triage_status,
|
| + },
|
| + 'note': analysis.note,
|
| + 'key': analysis.key.urlsafe(),
|
| }
|
|
|
| def testDisplayAnanlysisResult(self):
|
| @@ -86,3 +103,23 @@ class FracasResultFeedbackTest(testing.AppengineTestCase):
|
| 'key=%s' % self.analysis.key.urlsafe())
|
| self.assertEqual(200, response_json.status_int)
|
| self.assertEqual(expected_result, response_json.json_body)
|
| +
|
| + def testDisplayTriageHistory(self):
|
| +
|
| + def _MockIsCurrectUserAdmin(*_):
|
| + return True
|
| +
|
| + self.mock(users, 'is_current_user_admin', _MockIsCurrectUserAdmin)
|
| +
|
| + self.analysis.triage_history = [{
|
| + 'triage_timestamp': calendar.timegm(datetime.utcnow().timetuple()),
|
| + 'result_property': 'regression_range',
|
| + 'user_name': 'test',
|
| + 'triage_status': triage_status.TRIAGED_CORRECT
|
| + }]
|
| + self.analysis.put()
|
| + expected_result = self._GenerateDisplayData()
|
| + response_json = self.test_app.get('/fracas-result-feedback?format=json&'
|
| + 'key=%s' % self.analysis.key.urlsafe())
|
| + self.assertEqual(200, response_json.status_int)
|
| + self.assertEqual(expected_result, response_json.json_body)
|
|
|