test_decorators.py 934 B

123456789101112131415161718192021222324252627282930313233
  1. from __future__ import absolute_import
  2. from __future__ import with_statement
  3. from celery.task import base
  4. from celery.tests.compat import catch_warnings
  5. from celery.tests.utils import Case
  6. def add(x, y):
  7. return x + y
  8. class test_decorators(Case):
  9. def setUp(self):
  10. with catch_warnings(record=True):
  11. from celery import decorators
  12. self.decorators = decorators
  13. def assertCompatDecorator(self, decorator, type, **opts):
  14. task = decorator(**opts)(add)
  15. self.assertEqual(task(8, 8), 16)
  16. self.assertTrue(task.accept_magic_kwargs)
  17. self.assertIsInstance(task, type)
  18. def test_task(self):
  19. self.assertCompatDecorator(self.decorators.task, base.Task)
  20. def test_periodic_task(self):
  21. self.assertCompatDecorator(self.decorators.periodic_task,
  22. base.PeriodicTask,
  23. run_every=1)