def test_remove_old_entries(self): # noinspection PyTypeChecker log_manager = ExecuteLogManager() now = datetime.now(pytz.utc) message11 = u'Message 1' start1 = now - timedelta(days=13) log_manager.started(start1) log_manager.log_entry(message11 + ' 1', 'info') log_manager.finished(start1, None) start2 = now - timedelta(days=12) log_manager.started(start2) log_manager.log_entry(message11 + ' 2', 'info') log_manager.finished(start2, None) start3 = now - timedelta(days=11) log_manager.started(start3) log_manager.log_entry(message11 + ' 3', 'info') log_manager.finished(start3, None) # This should be deleted as well it was exactly 10 days before start4 = now - timedelta(days=10) log_manager.started(start4) log_manager.log_entry(message11 + ' 4', 'info') log_manager.finished(start4, None) start5 = now - timedelta(days=5) log_manager.started(start5) log_manager.log_entry(message11 + ' 5', 'info') log_manager.log_entry(message11 + ' 6', 'info') log_manager.finished(start5, None) log_manager.remove_old_entries(10) entries, count = log_manager.get_log_entries(0, 10) self.assertEqual(count, 1) self.assertEqual(len(entries), 1) self.assertEqual(entries[0]['start_time'], start5) self.assertEqual(entries[0]['finish_time'], start5) execute_id = entries[0]['id'] details = log_manager.get_execute_log_details(execute_id) self.assertEqual(len(details), 2) self.assertEqual(details[0]['level'], 'info') self.assertEqual(details[0]['message'], message11 + ' 5') self.assertEqual(details[1]['level'], 'info') self.assertEqual(details[1]['message'], message11 + ' 6')
def test_remove_old_entries(self): log_manager = ExecuteLogManager() now = datetime.now(pytz.utc) message11 = u'Message 1' start1 = now - timedelta(days=13) log_manager.started(start1) log_manager.log_entry(message11 + ' 1', 'info') log_manager.finished(start1, None) start2 = now - timedelta(days=12) log_manager.started(start2) log_manager.log_entry(message11 + ' 2', 'info') log_manager.finished(start2, None) start3 = now - timedelta(days=11) log_manager.started(start3) log_manager.log_entry(message11 + ' 3', 'info') log_manager.finished(start3, None) # This should be deleted as well it was exactly 10 days before start4 = now - timedelta(days=10) log_manager.started(start4) log_manager.log_entry(message11 + ' 4', 'info') log_manager.finished(start4, None) start5 = now - timedelta(days=5) log_manager.started(start5) log_manager.log_entry(message11 + ' 5', 'info') log_manager.log_entry(message11 + ' 6', 'info') log_manager.finished(start5, None) log_manager.remove_old_entries(10) entries, count = log_manager.get_log_entries(0, 10) self.assertEqual(count, 1) self.assertEqual(len(entries), 1) self.assertEqual(entries[0]['start_time'], start5) self.assertEqual(entries[0]['finish_time'], start5) execute_id = entries[0]['id'] details = log_manager.get_execute_log_details(execute_id) self.assertEqual(len(details), 2) self.assertEqual(details[0]['level'], 'info') self.assertEqual(details[0]['message'], message11 + ' 5') self.assertEqual(details[1]['level'], 'info') self.assertEqual(details[1]['message'], message11 + ' 6')
def test_remove_old_entries(self): inner_logger = Mock() settings_manager_mock = Mock() settings_manager_mock.remove_logs_interval = 10 log_manager = ExecuteLogManager() log_manager.remove_old_entries = Mock() # noinspection PyTypeChecker db_logger = DbLoggerWrapper(inner_logger, log_manager, settings_manager_mock) finish_time_1 = datetime.now(pytz.utc) db_logger.started(finish_time_1) db_logger.info(u"Message 1") db_logger.finished(finish_time_1, None) inner_logger.started.assert_called_once_with(finish_time_1) inner_logger.finished.assert_called_once_with(finish_time_1, None) inner_logger.info.assert_called_once_with("Message 1") inner_logger.downloaded.assert_not_called() inner_logger.failed.assert_not_called() # noinspection PyUnresolvedReferences log_manager.remove_old_entries.assert_called_once_with(10)
def test_remove_old_entries_keep_all(self): # noinspection PyTypeChecker log_manager = ExecuteLogManager() now = datetime.now(pytz.utc) message11 = u'Message 1' start1 = now - timedelta(days=9) log_manager.started(start1) log_manager.log_entry(message11 + ' 1', 'info') log_manager.finished(start1, None) start2 = now - timedelta(days=8) log_manager.started(start2) log_manager.log_entry(message11 + ' 2', 'info') log_manager.finished(start2, None) log_manager.remove_old_entries(10) entries, count = log_manager.get_log_entries(0, 10) self.assertEqual(count, 2) self.assertEqual(len(entries), 2) self.assertEqual(entries[0]['start_time'], start2) self.assertEqual(entries[0]['finish_time'], start2) self.assertEqual(entries[1]['start_time'], start1) self.assertEqual(entries[1]['finish_time'], start1) execute_id = entries[0]['id'] details = log_manager.get_execute_log_details(execute_id) self.assertEqual(len(details), 1) self.assertEqual(details[0]['level'], 'info') self.assertEqual(details[0]['message'], message11 + ' 2') execute_id = entries[1]['id'] details = log_manager.get_execute_log_details(execute_id) self.assertEqual(len(details), 1) self.assertEqual(details[0]['level'], 'info') self.assertEqual(details[0]['message'], message11 + ' 1')
def test_remove_old_entries_keep_all(self): log_manager = ExecuteLogManager() now = datetime.now(pytz.utc) message11 = u'Message 1' start1 = now - timedelta(days=9) log_manager.started(start1) log_manager.log_entry(message11 + ' 1', 'info') log_manager.finished(start1, None) start2 = now - timedelta(days=8) log_manager.started(start2) log_manager.log_entry(message11 + ' 2', 'info') log_manager.finished(start2, None) log_manager.remove_old_entries(10) entries, count = log_manager.get_log_entries(0, 10) self.assertEqual(count, 2) self.assertEqual(len(entries), 2) self.assertEqual(entries[0]['start_time'], start2) self.assertEqual(entries[0]['finish_time'], start2) self.assertEqual(entries[1]['start_time'], start1) self.assertEqual(entries[1]['finish_time'], start1) execute_id = entries[0]['id'] details = log_manager.get_execute_log_details(execute_id) self.assertEqual(len(details), 1) self.assertEqual(details[0]['level'], 'info') self.assertEqual(details[0]['message'], message11 + ' 2') execute_id = entries[1]['id'] details = log_manager.get_execute_log_details(execute_id) self.assertEqual(len(details), 1) self.assertEqual(details[0]['level'], 'info') self.assertEqual(details[0]['message'], message11 + ' 1')