예제 #1
0
    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')
예제 #2
0
    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')
예제 #3
0
    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)
예제 #4
0
    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')
예제 #5
0
    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')
예제 #6
0
    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)