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

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 tests for models and gpylinted everything Created 4 years, 5 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 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
21 class BaseModelTest(unittest.TestCase):
22
23 def setUp(self):
24 self.dummy_model = _DummyModel.Create('dummy_key')
25
26 def testBaseAnalysisStatusIsCompleted(self):
27 for status in (analysis_status.COMPLETED, analysis_status.ERROR):
28 self.dummy_model.status = status
29 self.assertTrue(self.dummy_model.completed)
30
31 def testBaseAnalysisStatusIsNotCompleted(self):
32 for status in (analysis_status.PENDING, analysis_status.RUNNING):
33 self.dummy_model.status = status
34 self.assertFalse(self.dummy_model.completed)
35
36 def testBaseAnalysisDurationWhenNotCompleted(self):
37 self.dummy_model.status = analysis_status.RUNNING
38 self.assertIsNone(self.dummy_model.duration)
39
40 def testBaseAnalysisDurationWhenStartTimeNotSet(self):
41 self.dummy_model.status = analysis_status.COMPLETED
42 self.dummy_model.end_time = datetime(2015, 07, 30, 21, 15, 30, 40)
43 self.assertIsNone(self.dummy_model.duration)
44
45 def testBaseAnalysisDurationWhenEndTimeNotSet(self):
46 self.dummy_model.status = analysis_status.COMPLETED
47 self.dummy_model.start_time = datetime(2015, 07, 30, 21, 15, 30, 40)
48 self.assertIsNone(self.dummy_model.duration)
49
50 def testBaseAnalysisDurationWhenCompleted(self):
51
52 self.dummy_model.status = analysis_status.COMPLETED
53 self.dummy_model.start_time = datetime(2015, 07, 30, 21, 15, 30, 40)
54 self.dummy_model.end_time = datetime(2015, 07, 30, 21, 16, 15, 50)
55 self.assertEqual(45, self.dummy_model.duration)
56
57 def testBaseAnalysisStatusIsFailed(self):
58 self.dummy_model.status = analysis_status.ERROR
59 self.assertTrue(self.dummy_model.failed)
60
61 def testBaseAnalysisStatusIsNotFailed(self):
62 for status in (analysis_status.PENDING, analysis_status.RUNNING,
63 analysis_status.COMPLETED):
64
65 self.dummy_model.status = status
66 self.assertFalse(self.dummy_model.failed)
67
68 def testBaseAnalysisStatusDescription(self):
69 self.dummy_model.status = analysis_status.PENDING
70 self.assertEqual('Pending', self.dummy_model.status_description)
71 self.dummy_model.status = analysis_status.RUNNING
72 self.assertEqual('Running', self.dummy_model.status_description)
73 self.dummy_model.status = analysis_status.COMPLETED
74 self.assertEqual('Completed', self.dummy_model.status_description)
lijeffrey 2016/07/27 21:28:30 same here, you may want to break this test into se
75 self.dummy_model.status = analysis_status.ERROR
76 self.assertEqual('Error', self.dummy_model.status_description)
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698