コード例 #1
0
    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)
コード例 #2
0
    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)
コード例 #3
0
    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)
コード例 #4
0
    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)