test_task_abortable.py 838 B

12345678910111213141516171819202122232425262728293031
  1. import unittest2 as unittest
  2. from celery.contrib.abortable import AbortableTask, AbortableAsyncResult
  3. class MyAbortableTask(AbortableTask):
  4. def run(self, **kwargs):
  5. return True
  6. class TestAbortableTask(unittest.TestCase):
  7. def test_async_result_is_abortable(self):
  8. t = MyAbortableTask()
  9. result = t.apply_async()
  10. tid = result.task_id
  11. self.assertIsInstance(t.AsyncResult(tid), AbortableAsyncResult)
  12. def test_is_not_aborted(self):
  13. t = MyAbortableTask()
  14. result = t.apply_async()
  15. tid = result.task_id
  16. self.assertFalse(t.is_aborted(task_id=tid))
  17. def test_abort_yields_aborted(self):
  18. t = MyAbortableTask()
  19. result = t.apply_async()
  20. result.abort()
  21. tid = result.task_id
  22. self.assertTrue(t.is_aborted(task_id=tid))