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

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

Issue 2124973003: These are the database objects used while finding the regression range. 1/3 (Closed) Base URL: https://chromium.googlesource.com/infra/infra.git@master
Patch Set: added init Created 4 years, 4 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
« no previous file with comments | « appengine/findit/model/flake/test/master_flake_analysis_test.py ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 from datetime import datetime
5 import unittest
6
7 from model import analysis_status
8 from model.base_analysis import BaseAnalysis
9
10 from google.appengine.ext import ndb
11
12
13 class _DummyModel(BaseAnalysis):
14
15 @staticmethod
16 def Create(key_string):
17 key = ndb.Key('_DummyModel', key_string)
18 return _DummyModel(key=key)
19
20 # Complains when we modify properties of DummyModel
21 # pylint: disable=attribute-defined-outside-init
22 class BaseModelTest(unittest.TestCase):
23
24 def setUp(self):
25 self.dummy_model = _DummyModel.Create('dummy_key')
26
27 def testBaseAnalysisStatusIsCompleted(self):
28 for status in (analysis_status.COMPLETED, analysis_status.ERROR):
29 self.dummy_model.status = status
30 self.assertTrue(self.dummy_model.completed)
31
32 def testBaseAnalysisStatusIsNotCompleted(self):
33 for status in (analysis_status.PENDING, analysis_status.RUNNING):
34 self.dummy_model.status = status
35 self.assertFalse(self.dummy_model.completed)
36
37 def testBaseAnalysisDurationWhenNotCompleted(self):
38 self.dummy_model.status = analysis_status.RUNNING
39 self.assertIsNone(self.dummy_model.duration)
40
41 def testBaseAnalysisDurationWhenStartTimeNotSet(self):
42 self.dummy_model.status = analysis_status.COMPLETED
43 self.dummy_model.end_time = datetime(2015, 07, 30, 21, 15, 30, 40)
44 self.assertIsNone(self.dummy_model.duration)
45
46 def testBaseAnalysisDurationWhenEndTimeNotSet(self):
47 self.dummy_model.status = analysis_status.COMPLETED
48 self.dummy_model.start_time = datetime(2015, 07, 30, 21, 15, 30, 40)
49 self.assertIsNone(self.dummy_model.duration)
50
51 def testBaseAnalysisDurationWhenCompleted(self):
52
53 self.dummy_model.status = analysis_status.COMPLETED
54 self.dummy_model.start_time = datetime(2015, 07, 30, 21, 15, 30, 40)
55 self.dummy_model.end_time = datetime(2015, 07, 30, 21, 16, 15, 50)
56 self.assertEqual(45, self.dummy_model.duration)
57
58 def testBaseAnalysisStatusIsFailed(self):
59 self.dummy_model.status = analysis_status.ERROR
60 self.assertTrue(self.dummy_model.failed)
61
62 def testBaseAnalysisStatusIsNotFailed(self):
63 for status in (analysis_status.PENDING, analysis_status.RUNNING,
64 analysis_status.COMPLETED):
65
66 self.dummy_model.status = status
67 self.assertFalse(self.dummy_model.failed)
68
69 def testBaseAnalysisStatusDescriptionPending(self):
70 self.dummy_model.status = analysis_status.PENDING
71 self.assertEqual('Pending', self.dummy_model.status_description)
72
73 def testBaseAnalysisStatusDescriptionRunning(self):
74 self.dummy_model.status = analysis_status.RUNNING
75 self.assertEqual('Running', self.dummy_model.status_description)
76
77 def testBaseAnalysisStatusDescriptionCompleted(self):
78 self.dummy_model.status = analysis_status.COMPLETED
79 self.assertEqual('Completed', self.dummy_model.status_description)
80
81 def testBaseAnalysisStatusDescriptionError(self):
82 self.dummy_model.status = analysis_status.ERROR
83 self.assertEqual('Error', self.dummy_model.status_description)
OLDNEW
« no previous file with comments | « appengine/findit/model/flake/test/master_flake_analysis_test.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698