Esempio n. 1
0
 def test_mark_as_revoked__chord(self):
     b = BaseBackend(app=self.app)
     b._store_result = Mock()
     request = Mock(name='request')
     request.errbacks = []
     b.on_chord_part_return = Mock()
     b.mark_as_revoked('id', 'revoked', request=request)
     b.on_chord_part_return.assert_called_with(request, states.REVOKED, ANY)
Esempio n. 2
0
 def test_mark_as_failure__errback(self):
     b = BaseBackend(app=self.app)
     b._store_result = Mock()
     request = Mock(name='request')
     request.errbacks = [self.errback.subtask(args=[2, 3], immutable=True)]
     exc = KeyError()
     b.mark_as_failure('id', exc, request=request)
     assert self.errback.last_result == 5
Esempio n. 3
0
 def test_mark_as_failure__chord(self):
     b = BaseBackend(app=self.app)
     b._store_result = Mock()
     request = Mock(name='request')
     request.errbacks = []
     b.on_chord_part_return = Mock()
     exc = KeyError()
     b.mark_as_failure('id', exc, request=request)
     b.on_chord_part_return.assert_called_with(request, states.FAILURE, exc)
Esempio n. 4
0
    def test_unregistered_task_can_be_used_as_error_callback(self, mock_group):
        b = BaseBackend(app=self.app)
        b._store_result = Mock()

        request = Mock(name='request')
        request.errbacks = [signature('doesnotexist',
                                      immutable=True)]
        exc = KeyError()
        b.mark_as_failure('id', exc, request=request)
        mock_group.assert_called_once_with(request.errbacks, app=self.app)
Esempio n. 5
0
 def test_mark_as_failure__bound_errback(self):
     b = BaseBackend(app=self.app)
     b._store_result = Mock()
     request = Mock(name='request')
     request.errbacks = [
         self.bound_errback.subtask(args=[1], immutable=True)]
     exc = KeyError()
     group = self.patching('celery.backends.base.group')
     b.mark_as_failure('id', exc, request=request)
     group.assert_called_with(request.errbacks, app=self.app)
     group.return_value.apply_async.assert_called_with(
         (request.id, ), parent_id=request.id, root_id=request.root_id)
Esempio n. 6
0
    def test_class_based_task_can_be_used_as_error_callback(self, mock_group):
        b = BaseBackend(app=self.app)
        b._store_result = Mock()

        class TaskBasedClass(Task):
            def run(self):
                pass

        TaskBasedClass = self.app.register_task(TaskBasedClass())

        request = Mock(name='request')
        request.errbacks = [TaskBasedClass.subtask(args=[], immutable=True)]
        exc = KeyError()
        b.mark_as_failure('id', exc, request=request)
        mock_group.assert_called_once_with(request.errbacks, app=self.app)