mirror of
https://gitlab.com/allianceauth/allianceauth.git
synced 2025-07-22 02:32:29 +02:00
44 lines
1.7 KiB
Python
44 lines
1.7 KiB
Python
from unittest import mock
|
|
|
|
from django.test import override_settings, TestCase
|
|
|
|
from allianceauth.tests.auth_utils import AuthUtils
|
|
from allianceauth.services.tasks import validate_services, update_groups_for_user
|
|
|
|
|
|
@override_settings(CELERY_ALWAYS_EAGER=True, CELERY_EAGER_PROPAGATES_EXCEPTIONS=True)
|
|
class ServicesTasksTestCase(TestCase):
|
|
def setUp(self):
|
|
self.member = AuthUtils.create_user('auth_member')
|
|
|
|
@mock.patch('allianceauth.services.tasks.ServicesHook')
|
|
def test_validate_services(self, services_hook):
|
|
# given
|
|
svc = mock.Mock()
|
|
svc.validate_user.return_value = None
|
|
services_hook.get_services.return_value = [svc]
|
|
# when
|
|
validate_services.delay(self.member.pk)
|
|
# then
|
|
self.assertTrue(services_hook.get_services.called)
|
|
self.assertTrue(svc.validate_user.called)
|
|
args, _ = svc.validate_user.call_args
|
|
self.assertEqual(self.member, args[0]) # Assert correct user is passed to service hook function
|
|
|
|
@mock.patch('allianceauth.services.tasks.ServicesHook')
|
|
def test_update_groups_for_user(self, services_hook):
|
|
# given
|
|
svc = mock.Mock()
|
|
svc.validate_user.return_value = None
|
|
services_hook.get_services.return_value = [svc]
|
|
# when
|
|
update_groups_for_user.delay(self.member.pk)
|
|
# then
|
|
self.assertTrue(services_hook.get_services.called)
|
|
self.assertTrue(svc.validate_user.called)
|
|
args, _ = svc.validate_user.call_args
|
|
self.assertEqual(self.member, args[0]) # Assert correct user
|
|
self.assertTrue(svc.update_groups.called)
|
|
args, _ = svc.update_groups.call_args
|
|
self.assertEqual(self.member, args[0]) # Assert correct user
|