Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(109)

Unified Diff: appengine/findit/handlers/flake/test/check_flake_test.py

Issue 2416303002: [Findit] Adding support for triaging suspected builds from flake analysis (Closed)
Patch Set: Rebase Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: appengine/findit/handlers/flake/test/check_flake_test.py
diff --git a/appengine/findit/handlers/flake/test/check_flake_test.py b/appengine/findit/handlers/flake/test/check_flake_test.py
index 873572dbf6e487a36a9159c81036abc781a75235..9900c7a3de2552ae5bb344523d64b232ffa29601 100644
--- a/appengine/findit/handlers/flake/test/check_flake_test.py
+++ b/appengine/findit/handlers/flake/test/check_flake_test.py
@@ -3,11 +3,14 @@
# found in the LICENSE file.
import datetime
+import mock
import re
import webapp2
import webtest
+from google.appengine.api import users
+
from handlers.flake import check_flake
from model.flake.master_flake_analysis import DataPoint
from model.flake.master_flake_analysis import MasterFlakeAnalysis
@@ -104,8 +107,50 @@ class CheckFlakeTest(wf_testcase.WaterfallTestCase):
'iterations_to_rerun': 100,
'pending_time': '00:00:05',
'duration': '00:59:55',
- 'suspected_flake_build_number': 100,
+ 'suspected_flake': {
+ 'build_number': 100,
+ 'triage_result': 0
+ },
+ 'version_number': 1,
+ 'show_debug_info': False
}
self.assertEquals(200, response.status_int)
self.assertEqual(expected_check_flake_result, response.json_body)
+
+ @mock.patch.object(users, 'is_current_user_admin', return_value=True)
+ def testGetTriageHistory(self, _):
+ master_name = 'm'
+ builder_name = 'b'
+ build_number = '123'
+ step_name = 's'
+ test_name = 't'
+ suspected_flake_build_number = 123
+ triage_result = 2
+ user_name = 'test'
+
+ analysis = MasterFlakeAnalysis.Create(
+ master_name, builder_name, build_number, step_name, test_name)
+ analysis.status = analysis_status.COMPLETED
+ analysis.suspected_flake_build_number = 100
+ analysis.Save()
+ analysis.UpdateTriageResult(
+ triage_result, {'build_number': suspected_flake_build_number}, 'test')
+
+ response = self.test_app.get('/waterfall/check-flake', params={
+ 'master_name': master_name,
+ 'builder_name': builder_name,
+ 'build_number': build_number,
+ 'step_name': step_name,
+ 'test_name': test_name,
+ 'format': 'json'})
+
+ # Because TriagedResult uses auto_now=True, a direct dict comparison will
+ # always fail. Instead only compare the relevant fields for trige_history.
+ triage_history = response.json_body.get('triage_history')
+ self.assertEqual(len(triage_history), 1)
+ self.assertEqual(triage_history[0].get('triage_result'), 'Correct')
+ self.assertEqual(triage_history[0].get('user_name'), user_name)
+ self.assertEqual(
+ triage_history[0].get('suspect_info', {}).get('build_number'),
+ suspected_flake_build_number)
« no previous file with comments | « appengine/findit/handlers/flake/check_flake.py ('k') | appengine/findit/handlers/flake/triage_flake_analysis.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698