view wiki/tests/test_tasks.py @ 1210:c4f7f77d55b2 modernize

Add unit test for wiki task.
author Brian Neal <bgneal@gmail.com>
date Mon, 03 Feb 2025 16:06:31 -0600
parents
children
line wrap: on
line source
"""
Tests for the wiki application tasks.

"""
from django.test import TestCase
from mock import call, patch, ANY, Mock

from wiki.tasks import expire_cookies


class ExpireCookiesTaskTestCase(TestCase):
    @patch('wiki.tasks.get_redis_connection')
    def test_expire_cookies_task(self, connection_mock):
        redis = Mock()
        redis.zcard.return_value = 42
        redis.zremrangebyscore.return_value = 4
        connection_mock.return_value = redis

        task = expire_cookies.s().apply()

        self.assertEquals(redis.mock_calls, [
            call.zcard('wiki_cookie_keys'),
            call.zremrangebyscore('wiki_cookie_keys', 0.0, ANY),
        ])