def test_resume_node_appointment__resume_subprocess(self): root_pipeline = PipelineObject() can_be_wake_process_1 = MockPipelineProcess(can_be_waked=True, root_pipeline=root_pipeline) can_be_wake_process_2 = MockPipelineProcess(can_be_waked=True, root_pipeline=root_pipeline) can_be_wake_process_3 = MockPipelineProcess(can_be_waked=True, root_pipeline=root_pipeline) can_not_be_wake_process_1 = MockPipelineProcess(root_pipeline=root_pipeline) can_not_be_wake_process_2 = MockPipelineProcess(root_pipeline=root_pipeline) exists_return = [can_be_wake_process_1, can_be_wake_process_2, can_be_wake_process_3, can_not_be_wake_process_1, can_not_be_wake_process_2] subprocess_to_be_transit = {can_be_wake_process_1.id, can_be_wake_process_2.id, can_be_wake_process_3.id} can_be_waked_ids = [can_be_wake_process_1.id, can_be_wake_process_2.id, can_be_wake_process_3.id] with patch(PIPELINE_SUBPROCESS_RELATIONSHIP_GET_RELATE_PROCESS, MagicMock(return_value=MockQuerySet(exists_return=exists_return, first_return=can_be_wake_process_1, qs=exists_return))): act_result = api.resume_node_appointment(self.node_id) self.assertTrue(act_result.result) Status.objects.recover_from_block.assert_called_once_with(root_pipeline.id, subprocess_to_be_transit) PipelineProcess.objects.batch_process_ready.assert_called_once_with(process_id_list=can_be_waked_ids, pipeline_id=root_pipeline.id)
def test_resume_node_appointment__resume_not_subprocess_transit_fail(self): act_result = api.resume_node_appointment(self.node_id) Status.objects.transit.assert_called_once_with(id=self.node_id, to_state=states.READY, appoint=True) self.assertFalse(act_result.result)
def test_resume_node_appointment__resume_not_subprocess(self): process = MockPipelineProcess() with patch(PIPELINE_PROCESS_FILTER, MagicMock(return_value=MockQuerySet(exists_return=True, first_return=process))): act_result = api.resume_node_appointment(self.node_id) self.assertTrue(act_result.result) Status.objects.transit.assert_called_once_with(id=self.node_id, to_state=states.READY, appoint=True) Status.objects.recover_from_block.assert_called_once_with(process.root_pipeline.id, process.subprocess_stack) PipelineProcess.objects.process_ready.assert_called_once_with(process_id=process.id)
def resume_activity(act_id): return api.resume_node_appointment(act_id)
def test_resume_node_appointment__fail_with_invalid_node(self): act_result = api.resume_node_appointment(self.node_id) self.assertFalse(act_result.result)