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

Side by Side Diff: appengine/findit/model/test/base_triaged_model_test.py

Issue 2416303002: [Findit] Adding support for triaging suspected builds from flake analysis (Closed)
Patch Set: Addressing comments 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 unified diff | Download patch
OLDNEW
(Empty)
1 # Copyright 2016 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
4
5 import mock
6 import unittest
7
8 from google.appengine.api import users
9
10 from model.base_triaged_model import TriagedModel
11 from model.base_triaged_model import TriageResult
12
13
14 class _DummyModel(TriagedModel):
15 completed = True
16
17
18 class TriagedModelTest(unittest.TestCase):
19
20 def testUpdateTriageResult(self):
21 triage_result = 1
22 suspect_info = 'abcd'
23 user_name = 'test'
24
25 model = _DummyModel()
26 model.UpdateTriageResult(1, suspect_info, user_name)
27 self.assertEqual(len(model.triage_history), 1)
28 self.assertEqual(model.triage_history[0].triage_result, triage_result)
29 self.assertEqual(model.triage_history[0].suspect_info, suspect_info)
30 self.assertEqual(model.triage_history[0].user_name, user_name)
31
32 @mock.patch.object(users, 'is_current_user_admin', return_value=True)
33 def testGetTriageHistoryAsAdmin(self, _):
34 suspect_info = {
35 'build_number': 123
36 }
37 user_name = 'test'
38
39 model = _DummyModel()
40 result = TriageResult()
41 result.triage_result = 1
42 result.user_name = user_name
43 result.suspect_info = suspect_info
44 model.triage_history.append(result)
45
46 triage_history = TriagedModel.GetTriageHistory(model)
47
48 # Because TriageResult's triage_time uses auto_now=True, a direct dict
49 # comparison will always fail. Instead compare each relevant field
50 # individually.
51 self.assertEqual(len(triage_history), 1)
52 self.assertEqual(triage_history[0].get('user_name'), user_name)
53 self.assertEqual(triage_history[0].get('triage_result'), 'Incorrect')
54 self.assertEqual(triage_history[0].get('suspect_info'), suspect_info)
55
56 @mock.patch.object(users, 'is_current_user_admin', return_value=False)
57 def testGetTriageHistoryAsNonadmin(self, _):
58 suspect_info = {
59 'build_number': 123
60 }
61 user_name = 'test'
62
63 model = _DummyModel()
64 result = TriageResult()
65 result.triage_result = 1
66 result.user_name = user_name
67 result.suspect_info = suspect_info
68 model.triage_history.append(result)
69
70 self.assertIsNone(TriagedModel.GetTriageHistory(model))
71
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698