OLD | NEW |
1 # Copyright 2015 The Chromium Authors. All rights reserved. | 1 # Copyright 2015 The Chromium Authors. All rights reserved. |
2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 import unittest | 5 import unittest |
6 | 6 |
7 import mock | 7 import mock |
8 import webapp2 | 8 import webapp2 |
9 import webtest | 9 import webtest |
10 | 10 |
11 from google.appengine.ext import ndb | 11 from google.appengine.ext import ndb |
12 | 12 |
13 from dashboard import auto_triage | 13 from dashboard import auto_triage |
| 14 from dashboard import issue_tracker_service |
14 from dashboard import testing_common | 15 from dashboard import testing_common |
15 from dashboard import utils | 16 from dashboard import utils |
16 from dashboard.models import anomaly | 17 from dashboard.models import anomaly |
17 from dashboard.models import bug_data | 18 from dashboard.models import bug_data |
18 from dashboard.models import sheriff | 19 from dashboard.models import sheriff |
19 | 20 |
20 | 21 |
| 22 @mock.patch('apiclient.discovery.build', mock.MagicMock()) |
| 23 @mock.patch.object(utils, 'ServiceAccountCredentials', mock.MagicMock()) |
21 @mock.patch.object(utils, 'TickMonitoringCustomMetric', mock.MagicMock()) | 24 @mock.patch.object(utils, 'TickMonitoringCustomMetric', mock.MagicMock()) |
22 class AutoTriageTest(testing_common.TestCase): | 25 class AutoTriageTest(testing_common.TestCase): |
23 | 26 |
24 def setUp(self): | 27 def setUp(self): |
25 super(AutoTriageTest, self).setUp() | 28 super(AutoTriageTest, self).setUp() |
26 app = webapp2.WSGIApplication( | 29 app = webapp2.WSGIApplication( |
27 [('/auto_triage', auto_triage.AutoTriageHandler)]) | 30 [('/auto_triage', auto_triage.AutoTriageHandler)]) |
28 self.testapp = webtest.TestApp(app) | 31 self.testapp = webtest.TestApp(app) |
29 | 32 |
30 def _AddTestData(self, series, sheriff_key, | 33 def _AddTestData(self, series, sheriff_key, |
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
128 49, 50, 51, 50, 51, 49, 51, 50, 50, 49, | 131 49, 50, 51, 50, 51, 49, 51, 50, 50, 49, |
129 ] | 132 ] |
130 test_key = self._AddTestData(values, sheriff_key) | 133 test_key = self._AddTestData(values, sheriff_key) |
131 anomaly_key = self._AddAnomalyForTest( | 134 anomaly_key = self._AddAnomalyForTest( |
132 sheriff_key, test_key, revision=11, median_before=50, median_after=55, | 135 sheriff_key, test_key, revision=11, median_before=50, median_after=55, |
133 bug_id=-1) | 136 bug_id=-1) |
134 self.testapp.post('/auto_triage') | 137 self.testapp.post('/auto_triage') |
135 self.assertFalse(anomaly_key.get().recovered) | 138 self.assertFalse(anomaly_key.get().recovered) |
136 | 139 |
137 @mock.patch.object( | 140 @mock.patch.object( |
138 utils, 'ServiceAccountCredentials', mock.MagicMock()) | 141 issue_tracker_service.IssueTrackerService, 'AddBugComment') |
139 @mock.patch.object( | |
140 auto_triage.issue_tracker_service.IssueTrackerService, 'AddBugComment') | |
141 def testPost_AllAnomaliesRecovered_AddsComment(self, add_bug_comment_mock): | 142 def testPost_AllAnomaliesRecovered_AddsComment(self, add_bug_comment_mock): |
142 sheriff_key = sheriff.Sheriff(email='a@google.com', id='sheriff_key').put() | 143 sheriff_key = sheriff.Sheriff(email='a@google.com', id='sheriff_key').put() |
143 values = [ | 144 values = [ |
144 49, 50, 51, 50, 51, 49, 51, 50, 50, 49, | 145 49, 50, 51, 50, 51, 49, 51, 50, 50, 49, |
145 55, 54, 55, 56, 54, 56, 57, 56, 55, 56, | 146 55, 54, 55, 56, 54, 56, 57, 56, 55, 56, |
146 49, 50, 51, 50, 51, 49, 51, 50, 50, 49, | 147 49, 50, 51, 50, 51, 49, 51, 50, 50, 49, |
147 ] | 148 ] |
148 test_key = self._AddTestData(values, sheriff_key) | 149 test_key = self._AddTestData(values, sheriff_key) |
149 anomaly_key = self._AddAnomalyForTest( | 150 anomaly_key = self._AddAnomalyForTest( |
150 sheriff_key, test_key, revision=11, median_before=50, median_after=55, | 151 sheriff_key, test_key, revision=11, median_before=50, median_after=55, |
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
212 series, sheriff_key, improvement_direction=anomaly.DOWN) | 213 series, sheriff_key, improvement_direction=anomaly.DOWN) |
213 anomaly_key = self._AddAnomalyForTest( | 214 anomaly_key = self._AddAnomalyForTest( |
214 sheriff_key, test_key, revision=362399, | 215 sheriff_key, test_key, revision=362399, |
215 median_before=78275468.8, median_after=79630313.6) | 216 median_before=78275468.8, median_after=79630313.6) |
216 self.testapp.post('/auto_triage') | 217 self.testapp.post('/auto_triage') |
217 self.assertTrue(anomaly_key.get().recovered) | 218 self.assertTrue(anomaly_key.get().recovered) |
218 | 219 |
219 | 220 |
220 if __name__ == '__main__': | 221 if __name__ == '__main__': |
221 unittest.main() | 222 unittest.main() |
OLD | NEW |