def test_get_size(self): screenshot_size = 10 blackbox_size = 20 attached_file_size = 30 system_logs_size = 40 FeedbackFactory.create_batch(10, screenshot_size=screenshot_size, blackbox_size=blackbox_size, attached_file_size=attached_file_size, system_logs_size=system_logs_size) size = Feedback.objects.get_size() self.assertEqual(size, (screenshot_size + blackbox_size + attached_file_size + system_logs_size) * 10)
def test_feedbacks(self): gpm['Feedback__limit_size'] = 1 feedback_size = 10*1024*1023 FeedbackFactory.create_batch(200, screenshot_size=feedback_size, system_logs_size=0, attached_file_size=0, blackbox_size=0) self.assertEqual(Feedback.objects.all().count(), 200) del_count = 98 deleted = list(Feedback.objects.values_list('id', 'created')) deleted = map(lambda x: dict(id=x[0], element_created=x[1].strftime("%d. %B %Y %I:%M%p")), deleted)[:del_count] result = delete_size_is_exceeded('feedback', 'Feedback') self.assertDictEqual(result, dict(count=del_count, size=del_count * feedback_size, elements=deleted)) self.assertEqual(Feedback.objects.all().count(), 102)
def test_feedbacks(self): old_date = timezone.now() - timezone.timedelta(days=5) gpm['Feedback__limit_storage_days'] = 2 FeedbackFactory.create_batch(10, created=old_date) Feedback.objects.update(created=old_date) self.assertEqual(Feedback.objects.all().count(), 10) deleted = list(Feedback.objects.values_list('id', 'created')) deleted = map(lambda x: dict(id=x[0], element_created=x[1].strftime("%d. %B %Y %I:%M%p")), deleted) result = delete_older_than('feedback', 'Feedback') self.assertDictEqual(result, dict(count=10, size=0, elements=deleted)) self.assertEqual(Feedback.objects.all().count(), 0)
def test_feedbacks(self): old_date = timezone.now() - timezone.timedelta(days=5) gpm["Feedback__limit_storage_days"] = 2 FeedbackFactory.create_batch(10, created=old_date) Feedback.objects.update(created=old_date) self.assertEqual(Feedback.objects.all().count(), 10) created_to_string = lambda x: "Created: %s" % x.strftime("%d. %B %Y %I:%M%p") deleted = list(Feedback.objects.values_list("id", "created")) deleted = map(lambda x: (x[0], created_to_string(x[1])), deleted) result = delete_older_than("feedback", "Feedback") self.assertDictEqual(result, dict(count=10, size=0, elements=deleted)) self.assertEqual(Feedback.objects.all().count(), 0)
def test_feedbacks(self, mocked_get_logger): gpm['Feedback__limit_storage_days'] = 2 with freeze_time("2012-12-21 12:00:00"): feedbacks = FeedbackFactory.create_batch(10) deleted_feedback = feedbacks[-1] self.assertEqual(Feedback.objects.all().count(), 10) extra_meta = dict(count=10, reason='old', meta=True, log_id='36446dc3-ae7c-42ad-ae4e-6a826dcf0a00', model='Feedback', size='0 bytes') log_extra_msg = add_extra_to_log_message('Automatic cleanup', extra=extra_meta) extra = dict(Feedback_id=deleted_feedback.id, element_created=deleted_feedback.created.strftime( "%d. %B %Y %I:%M%p"), log_id='36446dc3-ae7c-42ad-ae4e-6a826dcf0a00') log_msg = add_extra_to_log_message('Automatic cleanup element', extra=extra) mocked_logger = mocked_get_logger.return_value with patch('uuid.uuid4') as mocked_uuid4: mocked_uuid4.side_effect = (uuid.UUID( '36446dc3-ae7c-42ad-ae4e-6a826dcf0a%02d' % x) for x in range(100)) auto_delete_older_than() self.assertEqual(mocked_logger.info.call_count, 11) mocked_logger.info.assert_any_call(log_extra_msg) mocked_logger.info.assert_any_call(log_msg)
def test_feedbacks(self): gpm["Feedback__limit_size"] = 1 feedback_size = 10 * 1024 * 1023 FeedbackFactory.create_batch( 500, screenshot_size=feedback_size, system_logs_size=0, attached_file_size=0, blackbox_size=0 ) self.assertEqual(Feedback.objects.all().count(), 500) del_count = 398 created_to_string = lambda x: "Created: %s" % x.strftime("%d. %B %Y %I:%M%p") deleted = list(Feedback.objects.values_list("id", "created"))[:del_count] deleted = map(lambda x: (x[0], created_to_string(x[1])), deleted) result = delete_size_is_exceeded("feedback", "Feedback") self.assertDictEqual(result, dict(count=del_count, size=del_count * feedback_size, elements=deleted)) self.assertEqual(Feedback.objects.all().count(), 102)
def test_feedbacks(self): old_date = timezone.now() - timezone.timedelta(days=5) gpm['Feedback__limit_storage_days'] = 2 FeedbackFactory.create_batch(10, created=old_date) Feedback.objects.update(created=old_date) self.assertEqual(Feedback.objects.all().count(), 10) deleted = list(Feedback.objects.values_list('id', 'created')) deleted = map( lambda x: dict(id=x[0], element_created=x[1].strftime("%d. %B %Y %I:%M%p")), deleted) result = delete_older_than('feedback', 'Feedback') self.assertDictEqual(result, dict(count=10, size=0, elements=deleted)) self.assertEqual(Feedback.objects.all().count(), 0)
def test_feedbacks(self): gpm['Feedback__limit_size'] = 1 feedback_size = 10 * 1024 * 1023 FeedbackFactory.create_batch(200, screenshot_size=feedback_size, system_logs_size=0, attached_file_size=0, blackbox_size=0) self.assertEqual(Feedback.objects.all().count(), 200) del_count = 98 deleted = list(Feedback.objects.values_list('id', 'created')) deleted = map( lambda x: dict(id=x[0], element_created=x[1].strftime("%d. %B %Y %I:%M%p")), deleted)[:del_count] result = delete_size_is_exceeded('feedback', 'Feedback') self.assertDictEqual( result, dict(count=del_count, size=del_count * feedback_size, elements=deleted)) self.assertEqual(Feedback.objects.all().count(), 102)
def test_feedbacks(self, mocked_get_logger): gpm['Feedback__limit_size'] = 1 feedback_size = 100 * 1024 * 1023 feedbacks = FeedbackFactory.create_batch(20, screenshot_size=feedback_size, system_logs_size=0, attached_file_size=0, blackbox_size=0) deleted_feedback = feedbacks[7] self.assertEqual(Feedback.objects.count(), 20) extra_meta = dict(count=10, reason='manual', meta=True, log_id='36446dc3-ae7c-42ad-ae4e-6a826dcf0a00', model='Feedback', limit_duplicated=None, limit_size=1, limit_days=None, size='999.0 MB') log_extra_msg = add_extra_to_log_message('Manual cleanup', extra=extra_meta) extra = dict(Feedback_id=deleted_feedback.id, element_created=deleted_feedback.created.strftime( "%d. %B %Y %I:%M%p"), log_id='36446dc3-ae7c-42ad-ae4e-6a826dcf0a00') log_msg = add_extra_to_log_message('Manual cleanup element', extra=extra) mocked_logger = mocked_get_logger.return_value with patch('uuid.uuid4') as mocked_uuid4: mocked_uuid4.side_effect = (uuid.UUID( '36446dc3-ae7c-42ad-ae4e-6a826dcf0a%02d' % x) for x in range(100)) deferred_manual_cleanup(['feedback', 'Feedback'], limit_size=1) self.assertEqual(mocked_logger.info.call_count, 11) mocked_logger.info.assert_any_call(log_extra_msg) mocked_logger.info.assert_any_call(log_msg)
def test_feedbacks(self, mocked_get_logger): gpm['Feedback__limit_size'] = 1 feedback_size = 10*1024*1023 feedbacks = FeedbackFactory.create_batch(200, screenshot_size=feedback_size, system_logs_size=0, attached_file_size=0, blackbox_size=0) deleted_feedback = feedbacks[97] self.assertEqual(Feedback.objects.all().count(), 200) extra_meta = dict(count=98, reason='size_is_exceeded', meta=True, log_id='36446dc3-ae7c-42ad-ae4e-6a826dcf0a00', model='Feedback', size='979.0 MB') log_extra_msg = add_extra_to_log_message('Automatic cleanup', extra=extra_meta) extra = dict(Feedback_id=deleted_feedback.id, element_created=deleted_feedback.created.strftime("%d. %B %Y %I:%M%p"), log_id='36446dc3-ae7c-42ad-ae4e-6a826dcf0a00') log_msg = add_extra_to_log_message('Automatic cleanup element', extra=extra) mocked_logger = mocked_get_logger.return_value with patch('uuid.uuid4') as mocked_uuid4: mocked_uuid4.side_effect = (uuid.UUID('36446dc3-ae7c-42ad-ae4e-6a826dcf0a%02d' % x) for x in range(100)) auto_delete_size_is_exceeded() self.assertEqual(mocked_logger.info.call_count, 99) mocked_logger.info.assert_any_call(log_extra_msg) mocked_logger.info.assert_any_call(log_msg)
def test_feedbacks(self, mocked_get_logger): gpm['Feedback__limit_size'] = 1 feedback_size = 100*1024*1023 feedbacks = FeedbackFactory.create_batch(20, screenshot_size=feedback_size, system_logs_size=0, attached_file_size=0, blackbox_size=0) deleted_feedback = feedbacks[7] self.assertEqual(Feedback.objects.count(), 20) extra_meta = dict(count=10, reason='manual', meta=True, log_id='36446dc3-ae7c-42ad-ae4e-6a826dcf0a00', model='Feedback', limit_duplicated=None, limit_size=1, limit_days=None, size='999.0 MB') log_extra_msg = add_extra_to_log_message('Manual cleanup', extra=extra_meta) extra = dict(Feedback_id=deleted_feedback.id, element_created=deleted_feedback.created.strftime("%d. %B %Y %I:%M%p"), log_id='36446dc3-ae7c-42ad-ae4e-6a826dcf0a00') log_msg = add_extra_to_log_message('Manual cleanup element', extra=extra) mocked_logger = mocked_get_logger.return_value with patch('uuid.uuid4') as mocked_uuid4: mocked_uuid4.side_effect = (uuid.UUID('36446dc3-ae7c-42ad-ae4e-6a826dcf0a%02d' % x) for x in range(100)) deferred_manual_cleanup(['feedback', 'Feedback'], limit_size=1) self.assertEqual(mocked_logger.info.call_count, 11) mocked_logger.info.assert_any_call(log_extra_msg) mocked_logger.info.assert_any_call(log_msg)
def test_feedbacks(self, mocked_get_logger): gpm['Feedback__limit_storage_days'] = 2 with freeze_time("2012-12-21 12:00:00"): feedbacks = FeedbackFactory.create_batch(10) deleted_feedback = feedbacks[-1] self.assertEqual(Feedback.objects.all().count(), 10) extra_meta = dict(count=10, reason='old', meta=True, log_id='36446dc3-ae7c-42ad-ae4e-6a826dcf0a00', model='Feedback', size='0 bytes') log_extra_msg = add_extra_to_log_message('Automatic cleanup', extra=extra_meta) extra = dict(Feedback_id=deleted_feedback.id, element_created=deleted_feedback.created.strftime("%d. %B %Y %I:%M%p"), log_id='36446dc3-ae7c-42ad-ae4e-6a826dcf0a00') log_msg = add_extra_to_log_message('Automatic cleanup element', extra=extra) mocked_logger = mocked_get_logger.return_value with patch('uuid.uuid4') as mocked_uuid4: mocked_uuid4.side_effect = (uuid.UUID('36446dc3-ae7c-42ad-ae4e-6a826dcf0a%02d' % x) for x in range(100)) auto_delete_older_than() self.assertEqual(mocked_logger.info.call_count, 11) mocked_logger.info.assert_any_call(log_extra_msg) mocked_logger.info.assert_any_call(log_msg)