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

Side by Side Diff: appengine/findit/common/test/time_util_test.py

Issue 2391063002: [Findit] Fix flaky tests due to importing pytz. (Closed)
Patch Set: Fix nit. 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
« no previous file with comments | « no previous file | appengine/findit/common/time_util.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright 2014 The Chromium Authors. All rights reserved. 1 # Copyright 2014 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 mock
5 import unittest 6 import unittest
6 7
7 from common import time_util 8 from common import time_util
8 from datetime import datetime 9 from datetime import datetime
9 from datetime import timedelta 10 from datetime import timedelta
10 11
11 import pytz
12
13 12
14 class DiffTest(unittest.TestCase): 13 class DiffTest(unittest.TestCase):
15 def testRemoveMicrosecondsFromDelta(self): 14 def testRemoveMicrosecondsFromDelta(self):
16 date1 = datetime(2016, 5, 1, 1, 1, 1, 1) 15 date1 = datetime(2016, 5, 1, 1, 1, 1, 1)
17 date2 = datetime(2016, 5, 1, 1, 1, 1, 2) 16 date2 = datetime(2016, 5, 1, 1, 1, 1, 2)
18 delta = date2 - date1 17 delta = date2 - date1
19 18
20 self.assertEqual( 19 self.assertEqual(
21 time_util.RemoveMicrosecondsFromDelta(delta).microseconds, 20 time_util.RemoveMicrosecondsFromDelta(delta).microseconds,
22 0) 21 0)
23 22
24 def testFormatTimedelta(self): 23 def testFormatTimedelta(self):
25 self.assertIsNone(time_util.FormatTimedelta(None)) 24 self.assertIsNone(time_util.FormatTimedelta(None))
26 self.assertEqual(time_util.FormatTimedelta(timedelta(0, 1)), 25 self.assertEqual(time_util.FormatTimedelta(timedelta(0, 1)),
27 '00:00:01') 26 '00:00:01')
28 self.assertEqual(time_util.FormatTimedelta(timedelta(0, 60)), 27 self.assertEqual(time_util.FormatTimedelta(timedelta(0, 60)),
29 '00:01:00') 28 '00:01:00')
30 self.assertEqual(time_util.FormatTimedelta(timedelta(0, 3600)), 29 self.assertEqual(time_util.FormatTimedelta(timedelta(0, 3600)),
31 '01:00:00') 30 '01:00:00')
32 self.assertEqual(time_util.FormatTimedelta(timedelta(0, 0, 1)), 31 self.assertEqual(time_util.FormatTimedelta(timedelta(0, 0, 1)),
33 '00:00:00') 32 '00:00:00')
34 33
35 def testFormatDatetime(self): 34 def testFormatDatetime(self):
36 self.assertIsNone(time_util.FormatDatetime(None)) 35 self.assertIsNone(time_util.FormatDatetime(None))
37 self.assertEqual( 36 self.assertEqual(
38 time_util.FormatDatetime(datetime(2016, 1, 2, 1, 2, 3)), 37 time_util.FormatDatetime(datetime(2016, 1, 2, 1, 2, 3)),
39 '2016-01-02 01:02:03 UTC') 38 '2016-01-02 01:02:03 UTC')
40 39
41 def testGetDateTimeInTimezone(self): 40 @mock.patch('common.time_util.pytz')
42 utc_datetime = datetime(2016, 9, 27, 20, 46, 18, 1, pytz.utc) 41 def testGetDateTimeInTimezoneWithGivenDatetime(self, mocked_pytz_module):
43 result_pst_datetime = time_util.GetDatetimeInTimezone( 42 mocked_datetime = mock.MagicMock()
44 'US/Pacific', utc_datetime) 43 mocked_datetime.astimezone.return_value = 'expected'
45 expected_pst_datetime = datetime(2016, 9, 27, 13, 46, 18, 1, 44
46 pytz.timezone('US/Pacific')) 45 self.assertEqual('expected',
47 self.assertEqual(result_pst_datetime.date(), expected_pst_datetime.date()) 46 time_util.GetDatetimeInTimezone('PST', mocked_datetime))
48 self.assertEqual(result_pst_datetime.time(), expected_pst_datetime.time()) 47 mocked_pytz_module.timezone.assert_called_with('PST')
OLDNEW
« no previous file with comments | « no previous file | appengine/findit/common/time_util.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698