示例#1
0
    def test_execute_PBConnectionLost(self):
        error = pb.PBConnectionLost()
        worker = Mock(spec=["workerId", "run"])
        worker.run.side_effect = error

        task = Mock(spec=["call", "retryable", "priority"])
        task.retryable = True

        handler = Mock()
        dfr = self.running.execute(worker, task)
        dfr.addErrback(handler)

        handler.assert_not_called()
        self.assertIsInstance(dfr, defer.Deferred)
        worker.run.assert_called_once_with(task.call)
        self.patches["_handle_start"].assert_called_once_with(
            task, worker.workerId,
        )
        self.patches["_handle_retry"].assert_called_once_with(task, error)
        self.worklist.pushfront.assert_called_once_with(
            task.priority, task,
        )
        self.workers.layoff.assert_called_once_with(worker)

        self.logger.error.assert_not_called()
        self.worklist.push.assert_not_called()
        self.patches["_handle_success"].assert_not_called()
        self.patches["_handle_failure"].assert_not_called()
        self.patches["_handle_error"].assert_not_called()
 def makePBConnectionLostFailure(self):
     return failure.Failure(pb.PBConnectionLost("gone"))
示例#3
0
 def remote_print(message):
     worker1.master_persp.broker.transport.loseConnection()
     raise pb.PBConnectionLost("fake!")
示例#4
0
 def remote_print(what):
     raise pb.PBConnectionLost("fake!")