Exemplo n.º 1
0
 def test_action_on_event(self):
     with job_config('task_1'):
         o1 = ops.user_define_operation(processor=None, a='a', name='1')
     with job_config('task_2'):
         o2 = ops.user_define_operation(processor=None, b='b', name='2')
     ops.action_on_event(job_name='task_1',
                         sender='task_2',
                         event_key='a',
                         event_value='a')
     self.assertEqual(1, len(current_graph().edges))
     edge: ControlEdge = current_graph().edges.get('task_1')[0]
     self.assertEqual('task_1', edge.destination)
     events = edge.scheduling_rule.event_condition.events
     event = next(iter(events))
     self.assertEqual('task_2', event.sender)
     self.assertEqual('a', event.event_key)
     self.assertEqual('a', event.event_value)
Exemplo n.º 2
0
 def test_push_model(self):
     with job_config('task_1'):
         ops.push_model(pushing_model_processor=None,
                        model_info=ModelMeta(name='model'),
                        name='a')
     self.assertEqual(1, len(current_graph().nodes))
     n = self.get_node_by_name('a')
     self.assertEqual('model', n.node_config.get('model_info').name)
Exemplo n.º 3
0
 def test_transform(self):
     with job_config('task_1'):
         o = ops.read_dataset(read_dataset_processor=None,
                              dataset_info=DatasetMeta(name='dataset'))
         t = ops.transform(input=o, transform_processor=None)
         ops.write_dataset(input=t,
                           dataset_info=DatasetMeta(name='dataset'))
     self.assertEqual(3, len(current_graph().nodes))
     self.assertEqual(2, len(current_graph().edges))
Exemplo n.º 4
0
    def test_action_on_status(self):
        with job_config('task_1'):
            o1 = ops.user_define_operation(processor=None, a='a', name='1')
        with job_config('task_2'):
            o2 = ops.user_define_operation(processor=None, b='b', name='2')
        ops.action_on_job_status(job_name='task_1',
                                 upstream_job_name='task_2',
                                 upstream_job_status=Status.FINISHED,
                                 action=JobAction.START)
        self.assertEqual(1, len(current_graph().edges))
        edge: ControlEdge = current_graph().edges.get('task_1')[0]
        self.assertEqual('task_1', edge.destination)

        events = edge.scheduling_rule.event_condition.events
        event = next(iter(events))
        self.assertEqual('task_2', event.sender)
        self.assertEqual(AIFlowInternalEventType.JOB_STATUS_CHANGED,
                         event.event_type)
        self.assertEqual(JobAction.START, edge.scheduling_rule.action)
Exemplo n.º 5
0
 def test_user_define_operation(self):
     with job_config('task_1'):
         o = ops.user_define_operation(processor=None, a='a', name='1')
         ops.user_define_operation(input=o, b='b', name='2')
     self.assertEqual(2, len(current_graph().nodes))
     self.assertEqual(1, len(current_graph().edges))
     node_0 = list(current_graph().nodes.values())[0]
     node_1 = list(current_graph().nodes.values())[1]
     self.assertEqual('mock', node_0.config.job_type)
     self.assertEqual('mock', node_1.config.job_type)
     self.assertEqual('a', self.get_node_by_name('1').node_config.get('a'))
     self.assertEqual('b', self.get_node_by_name('2').node_config.get('b'))
Exemplo n.º 6
0
 def test_model_validate(self):
     with job_config('task_1'):
         o = ops.read_dataset(read_dataset_processor=None,
                              dataset_info=DatasetMeta(name='dataset'))
         t = ops.model_validate(input=o,
                                model_validation_processor=None,
                                model_info=ModelMeta(name='model'),
                                name='a')
     self.assertEqual(2, len(current_graph().nodes))
     self.assertEqual(1, len(current_graph().edges))
     n = self.get_node_by_name('a')
     self.assertEqual('model', n.node_config.get('model_info').name)
Exemplo n.º 7
0
 def test_read_write_dataset(self):
     with job_config('task_1'):
         o = ops.read_dataset(read_dataset_processor=None,
                              dataset_info=DatasetMeta(name='source'))
         ops.write_dataset(input=o, dataset_info=DatasetMeta(name='sink'))
     self.assertEqual(2, len(current_graph().nodes))
     self.assertEqual(1, len(current_graph().edges))
     node_list = list(current_graph().nodes.values())
     for node in node_list:
         if isinstance(node, ReadDatasetNode):
             self.assertEqual('source',
                              node.node_config.get('dataset').name)
         elif isinstance(node, WriteDatasetNode):
             self.assertEqual('sink', node.node_config.get('dataset').name)
         self.assertEqual('mock', node.config.job_type)
Exemplo n.º 8
0
 def test_train(self):
     with job_config('task_1'):
         o = ops.read_dataset(read_dataset_processor=None,
                              dataset_info=DatasetMeta(name='dataset'))
         t = ops.train(input=o,
                       training_processor=None,
                       output_num=1,
                       model_info=ModelMeta(name='model'),
                       name='a')
         ops.write_dataset(input=t,
                           dataset_info=DatasetMeta(name='dataset'))
     self.assertEqual(3, len(current_graph().nodes))
     self.assertEqual(2, len(current_graph().edges))
     n = self.get_node_by_name('a')
     self.assertEqual('model', n.node_config.get('model_info').name)
Exemplo n.º 9
0
 def test_job_context(self):
     workflow_config = current_workflow_config()
     workflow_config.job_configs['job_1'] = JobConfig(job_name='job_1')
     with job_config('job_1') as jc:
         self.assertEqual(jc.job_name, current_job_name())