def test_handler_activation_error_lifecycle(self): def handler(activation): raise ValueError('expected') flow_task = self.init_node(flow.Handler(handler)) act = HandlerActivation() act.initialize(flow_task, TaskStub()) # by default errors are propogated self.assertRaises(ValueError, act.perform) # disable gate error propagation with Context(propagate_exception=False): act.perform() self.assertEqual(act.task.status, STATUS.ERROR) act.retry() self.assertEqual(act.task.status, STATUS.ERROR) # undo act.undo() self.assertEqual(act.task.status, STATUS.NEW) act.cancel() self.assertEqual(act.task.status, STATUS.CANCELED)
def test_handler_activation_error_lifecycle(self): def handler(activation): raise ValueError('expected') flow_task = self.init_node(flow.Handler(handler)) act = HandlerActivation() act.initialize(flow_task, TaskStub()) # by default errors are propogated self.assertRaises(ValueError, act.perform) # disable gate error propogation with Context(propagate_exception=False): act.perform() self.assertEqual(act.task.status, STATUS.ERROR) act.retry() self.assertEqual(act.task.status, STATUS.ERROR) # undo act.undo() self.assertEqual(act.task.status, STATUS.NEW) act.cancel() self.assertEqual(act.task.status, STATUS.CANCELED)
def test_handler_activation_lifecycle(self): def handler(activation): pass flow_task = self.init_node(flow.Handler(handler)) act = HandlerActivation() act.initialize(flow_task, TaskStub()) # execute act.perform() self.assertEqual(act.task.status, STATUS.DONE) # undo act.undo() self.assertEqual(act.task.status, STATUS.NEW) act.cancel() self.assertEqual(act.task.status, STATUS.CANCELED)