1from __future__ import absolute_import, unicode_literals 2 3import warnings 4 5import pytest 6 7from celery.task import base 8 9 10def add(x, y): 11 return x + y 12 13 14@pytest.mark.usefixtures('depends_on_current_app') 15class test_decorators: 16 17 def test_task_alias(self): 18 from celery import task 19 assert task.__file__ 20 assert task(add) 21 22 def setup(self): 23 with warnings.catch_warnings(record=True): 24 from celery import decorators 25 self.decorators = decorators 26 27 def assert_compat_decorator(self, decorator, type, **opts): 28 task = decorator(**opts)(add) 29 assert task(8, 8) == 16 30 assert isinstance(task, type) 31 32 def test_task(self): 33 self.assert_compat_decorator(self.decorators.task, base.BaseTask) 34 35 def test_periodic_task(self): 36 self.assert_compat_decorator( 37 self.decorators.periodic_task, base.BaseTask, run_every=1, 38 ) 39