test_decorators.py 870 B

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