def test_convertSeconds_succeeds(self): self.assertEqual('Approximately 0 seconds left.', TimeUtils.get_human_readable_countdown(0)) self.assertEqual('Approximately 1 seconds left.', TimeUtils.get_human_readable_countdown(1)) self.assertEqual('Approximately 59 seconds left.', TimeUtils.get_human_readable_countdown(59))
def test_convertMinutes_succeeds(self): self.assertEqual('Approximately 1 minute left.', TimeUtils.get_human_readable_countdown(60)) self.assertEqual('Approximately 1 minute left.', TimeUtils.get_human_readable_countdown(61)) self.assertEqual('Approximately 2 minutes left.', TimeUtils.get_human_readable_countdown(120)) self.assertEqual('Approximately 59 minutes left.', TimeUtils.get_human_readable_countdown(3600 - 60))
def test_is_the_same_day_timestamps(self): print('TimeUtils - test_is_the_same_day_timestamps:') TIMESTAMP1 = 1419242557 # 22 Dec 2014 - 10:02:37 TIMESTAMP2 = 1419249757 # 22 Dec 2014 - 12:02:37 self.assertTrue(TimeUtils.is_same_day(TIMESTAMP1, TIMESTAMP2)) TIMESTAMP1 = 1419242557 # 22 Dec 2014 - 10:02:37 TIMESTAMP2 = 1419336157 # 23 Dec 2014 - 12:02:37 self.assertFalse(TimeUtils.is_same_day(TIMESTAMP1, TIMESTAMP2))
def contains_same_timestamps(file1, file2): with open(file1, 'rb') as fd1: data1 = fd1.read().split('\n') data1.remove('') with open(file2, 'rb') as fd2: data2 = fd2.read().split('\n') data2.remove('') cmp = lambda x1, x2: len(x1) if len(x1) <= len(x2) else len(x2) for i in range(0, cmp(data1, data2) - 1): t_stamp1 = TimeUtils.get_time_from_log_msg(data1[i]) # We need UTC string from the message t_stamp2 = TimeUtils.get_time_from_log_msg(data2[i]) # We need UTC string from the message if t_stamp1 == t_stamp2: return True # Files contain at least 1 entry of the same timestamp return False
def test_parse_time_from_msg_to_timestamp(self): print('TimeUtils - test_parse_time_from_msg_to_timestamp:') TIME = '1419266852' MSG = 'This is a test message: ' + TIME + '. Time is in the middle.' TIMESTAMP = 1419266852L timestamp2 = TimeUtils.get_time_from_log_msg(MSG) self.assertEqual(timestamp2, TIMESTAMP)
def test_time_diff_timestamps(self): print('TimeUtils - test_time_diff_timestamps:') TIMESTAMP1 = 1419249757 # 22 Dec 2014 - 12:02:37 TIMESTAMP2 = 1419249757 # 22 Dec 2014 - 12:02:37 self.assertEqual(TimeUtils.get_diff(TIMESTAMP1, TIMESTAMP2), (0, 0, 0, 0)) # Days, hours, minutes, seconds TIMESTAMP1 = 1419249757 # 22 Dec 2014 - 12:02:37 TIMESTAMP2 = 1419249758 # 22 Dec 2014 - 12:02:38 self.assertEqual(TimeUtils.get_diff(TIMESTAMP1, TIMESTAMP2), (0, 0, 0, 1)) # Days, hours, minutes, seconds TIMESTAMP1 = 1419249757 # 22 Dec 2014 - 12:02:37 TIMESTAMP2 = 1419249818 # 22 Dec 2014 - 12:03:38 self.assertEqual(TimeUtils.get_diff(TIMESTAMP1, TIMESTAMP2), (0, 0, 1, 1)) # Days, hours, minutes, seconds TIMESTAMP1 = 1419249757 # 22 Dec 2014 - 12:02:37 TIMESTAMP2 = 1419253418 # 22 Dec 2014 - 13:03:38 self.assertEqual(TimeUtils.get_diff(TIMESTAMP1, TIMESTAMP2), (0, 1, 1, 1)) # Days, hours, minutes, seconds TIMESTAMP1 = 1419249757 # 22 Dec 2014 - 12:02:37 TIMESTAMP2 = 1419339818 # 23 Dec 2014 - 13:03:38 self.assertEqual(TimeUtils.get_diff(TIMESTAMP1, TIMESTAMP2), (1, 1, 1, 1)) # Days, hours, minutes, seconds TIMESTAMP1 = 1419249757 # Mon, 22 Dec 2014 12:02:37 GMT TIMESTAMP2 = 1419249697 # Mon, 22 Dec 2014 12:01:37 GMT self.assertEqual(TimeUtils.get_diff(TIMESTAMP1, TIMESTAMP2), (-1, 23, 59, 0)) # Days, hours, minutes, seconds
def test_convertHours_succeeds(self): self.assertEqual('Approximately 1 hour left.', TimeUtils.get_human_readable_countdown(3600)) self.assertEqual('Approximately 1 hour, 1 minute left.', TimeUtils.get_human_readable_countdown(3600 + 60)) self.assertEqual('Approximately 1 hour, 59 minutes left.', TimeUtils.get_human_readable_countdown(7200 - 60)) self.assertEqual('Approximately 2 hours left.', TimeUtils.get_human_readable_countdown(7200)) self.assertEqual('Approximately 2 hours, 1 minute left.', TimeUtils.get_human_readable_countdown(7200 + 60)) self.assertEqual('Approximately 2 hours, 2 minutes left.', TimeUtils.get_human_readable_countdown(7200 + 120)) self.assertEqual('Approximately 2 hours, 59 minutes left.', TimeUtils.get_human_readable_countdown(3 * 3600 - 60)) self.assertEqual('Approximately 24 hours left.', TimeUtils.get_human_readable_countdown(24 * 3600))
def generate_huge_message(char='A', size=512000): return TimeUtils.get_utc_time_str() + ' - ' + char * size
def generate_message(i, predef_time=None): if predef_time is None: time_str = str(TimeUtils.get_current_time_as_timestamp_as_ms()) else: time_str = predef_time return time_str + ' - Message - ' + str(i) + ' - ' + str(random.random()) + '\n'
def test_parse_time_from_msg_to_utc_string(self): print('TimeUtils - test_parse_time_from_msg_to_utc_string:') TIME = 1419266852L MSG = '1419266852 This is a test message' self.assertEqual(TimeUtils.get_time_from_log_msg(MSG), TIME)
def test_get_utc_current_time_string(self): print('TimeUtils - test_get_utc_current_time_string:') time_str = TimeUtils.get_utc_time_str() pattern = re.compile(UTC_STR_PATTERN, re.IGNORECASE) print('Current time as UTC string: ' + time_str) self.assertTrue(pattern.match(time_str))