test_compat_utils.py 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. from __future__ import absolute_import
  2. import celery
  3. from celery.app.task import Task as ModernTask
  4. from celery.task.base import Task as CompatTask
  5. from celery.tests.case import AppCase, depends_on_current_app
  6. @depends_on_current_app
  7. class test_MagicModule(AppCase):
  8. def test_class_property_set_without_type(self):
  9. self.assertTrue(ModernTask.__dict__['app'].__get__(CompatTask()))
  10. def test_class_property_set_on_class(self):
  11. self.assertIs(ModernTask.__dict__['app'].__set__(None, None),
  12. ModernTask.__dict__['app'])
  13. def test_class_property_set(self):
  14. class X(CompatTask):
  15. pass
  16. ModernTask.__dict__['app'].__set__(X(), self.app)
  17. self.assertIs(X.app, self.app)
  18. def test_dir(self):
  19. self.assertTrue(dir(celery.messaging))
  20. def test_direct(self):
  21. self.assertTrue(celery.task)
  22. def test_app_attrs(self):
  23. self.assertEqual(celery.task.control.broadcast,
  24. celery.current_app.control.broadcast)
  25. def test_decorators_task(self):
  26. @celery.decorators.task
  27. def _test_decorators_task():
  28. pass
  29. def test_decorators_periodic_task(self):
  30. @celery.decorators.periodic_task(run_every=3600)
  31. def _test_decorators_ptask():
  32. pass