test_compat_utils.py 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  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. self.assertTrue(_test_decorators_task.accept_magic_kwargs)
  30. def test_decorators_periodic_task(self):
  31. @celery.decorators.periodic_task(run_every=3600)
  32. def _test_decorators_ptask():
  33. pass
  34. self.assertTrue(_test_decorators_ptask.accept_magic_kwargs)