| OLD | NEW |
| 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') |
| OLD | NEW |