test_task_cancelable.py 907 B

1234567891011121314151617181920212223242526272829303132
  1. import unittest2 as unittest
  2. from celery.contrib.cancelable import CANCELLED
  3. from celery.contrib.cancelable import CancelableTask, CancelableAsyncResult
  4. class MyCancelableTask(CancelableTask):
  5. def run(self, **kwargs):
  6. return True
  7. class TestCancelableTask(unittest.TestCase):
  8. def test_async_result_is_cancelable(self):
  9. t = MyCancelableTask()
  10. result = t.apply_async()
  11. tid = result.task_id
  12. self.assertIsInstance(t.AsyncResult(tid), CancelableAsyncResult)
  13. def test_is_not_cancelled(self):
  14. t = MyCancelableTask()
  15. result = t.apply_async()
  16. tid = result.task_id
  17. self.assertFalse(t.is_cancelled(task_id=tid))
  18. def test_cancel_yields_cancelled(self):
  19. t = MyCancelableTask()
  20. result = t.apply_async()
  21. result.cancel()
  22. tid = result.task_id
  23. self.assertTrue(t.is_cancelled(task_id=tid))