annotate core/tests/test_tasks.py @ 1212:d18db8bfe17a modernize tip

Add unit tests for forums tasks.
author Brian Neal <bgneal@gmail.com>
date Thu, 06 Feb 2025 21:31:05 -0600
parents b492d640c285
children
rev   line source
bgneal@1211 1 """
bgneal@1211 2 Tests for the core tasks.
bgneal@1211 3
bgneal@1211 4 """
bgneal@1211 5 from django.test import TestCase
bgneal@1211 6 from mock import call, patch
bgneal@1211 7
bgneal@1211 8 from core.tasks import cleanup
bgneal@1211 9 from core.tasks import max_users
bgneal@1211 10 from core.tasks import send_mail
bgneal@1211 11
bgneal@1211 12
bgneal@1211 13 class CoreTasksTestCase(TestCase):
bgneal@1211 14 @patch('core.tasks.django.core.mail.EmailMessage')
bgneal@1211 15 def test_send_mail(self, email_mock):
bgneal@1211 16
bgneal@1211 17 kwargs = {'a': 1, 'b': 2, 'c':3}
bgneal@1211 18 send_mail.s(**kwargs).apply()
bgneal@1211 19
bgneal@1211 20 self.assertEquals(email_mock.mock_calls, [
bgneal@1211 21 call(**kwargs),
bgneal@1211 22 call().send(),
bgneal@1211 23 ])
bgneal@1211 24
bgneal@1211 25 """
bgneal@1211 26 Can't get this to work... :(
bgneal@1211 27 @patch('django.contrib.sessions.management.commands.clearsessions')
bgneal@1211 28 @patch('forums.management.commands.forum_cleanup')
bgneal@1211 29 def test_cleanup(self, forum_cleanup_mock, clearsessions_mock):
bgneal@1211 30
bgneal@1211 31 cleanup.s().apply()
bgneal@1211 32
bgneal@1211 33 self.assertEquals(clearsessions.mock_calls, [
bgneal@1211 34 # TODO
bgneal@1211 35 ])
bgneal@1211 36 self.assertEquals(forum_cleanup_mock.mock_calls, [
bgneal@1211 37 # TODO
bgneal@1211 38 ])
bgneal@1211 39 """
bgneal@1211 40
bgneal@1211 41 @patch('core.tasks.core.whos_online')
bgneal@1211 42 def test_max_users(self, whos_online_mock):
bgneal@1211 43
bgneal@1211 44 max_users.s().apply()
bgneal@1211 45
bgneal@1211 46 self.assertEquals(whos_online_mock.mock_calls, [
bgneal@1211 47 call.max_users(),
bgneal@1211 48 ])