Skip to content

Commit 17c1098

Browse files
committed
Add tests for logging
1 parent 693a3d1 commit 17c1098

File tree

3 files changed

+49
-1
lines changed

3 files changed

+49
-1
lines changed

background_task/tests/test_settings.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,3 +29,19 @@
2929

3030
USE_TZ = True
3131
BACKGROUND_TASK_RUN_ASYNC = False
32+
33+
LOGGING = {
34+
'version': 1,
35+
'disable_existing_loggers': False,
36+
'handlers': {
37+
'console': {
38+
'class': 'logging.StreamHandler',
39+
},
40+
},
41+
'loggers': {
42+
'background_task': {
43+
'handlers': ['console'],
44+
'level': 'INFO',
45+
},
46+
},
47+
}

background_task/tests/test_tasks.py

Lines changed: 32 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# -*- coding: utf-8 -*-
2-
import sys
32
import time
43
from datetime import timedelta, datetime
4+
from mock import patch
55

66
from django.contrib.auth.models import User
77
from django.test import override_settings
@@ -796,3 +796,34 @@ def test_priority(self):
796796
run_next_task()
797797
self.assertTrue(CompletedTask.objects.filter(priority=self.high_priority_task.priority).exists())
798798
self.assertTrue(CompletedTask.objects.filter(priority=self.low_priority_task.priority).exists())
799+
800+
801+
class LoggingTestCase(TransactionTestCase):
802+
803+
def setUp(self):
804+
@tasks.background()
805+
def succeeding_task():
806+
return 0/1
807+
808+
@tasks.background()
809+
def failing_task():
810+
return 0/0
811+
812+
self.succeeding_task = succeeding_task
813+
self.failing_task = failing_task
814+
815+
@patch('background_task.tasks.logger')
816+
def test_success_logging(self, mock_logger):
817+
self.succeeding_task()
818+
run_next_task()
819+
self.assertFalse(mock_logger.warning.called)
820+
self.assertFalse(mock_logger.error.called)
821+
self.assertFalse(mock_logger.critical.called)
822+
823+
@patch('background_task.tasks.logger')
824+
def test_error_logging(self, mock_logger):
825+
self.failing_task()
826+
run_next_task()
827+
self.assertFalse(mock_logger.warning.called)
828+
self.assertTrue(mock_logger.error.called)
829+
self.assertFalse(mock_logger.critical.called)

requirements-test.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
mock

0 commit comments

Comments
 (0)