コード例 #1
0
 def test_map_inputs_from_job(self):
     inputs = [
         'input1',
         {
             'ws': 'my_workspace',
             'foo': 'bar'
         },
         'some_ref/obj_id',
         [
             'ref/num_1',
             'ref/num_2',
             'num_3'
         ],
         123
     ]
     app_spec = {
         'behavior': {
             'kb_service_input_mapping': [
                 {
                     'target_position': 0,
                     'input_parameter': 'an_input'
                 },
                 {
                     'target_position': 1,
                     'target_property': 'ws',
                     'input_parameter': 'workspace'
                 },
                 {
                     'target_position': 1,
                     'target_property': 'foo',
                     'input_parameter': 'baz'
                 },
                 {
                     'target_position': 2,
                     'input_parameter': 'ref_input',
                     'target_type_transform': 'ref'
                 },
                 {
                     'target_position': 3,
                     'input_parameter': 'a_list',
                     'target_type_transform': 'list<ref>'
                 },
                 {
                     'target_position': 4,
                     'input_parameter': 'a_num',
                     'target_type_transform': 'int'
                 }
             ],
         }
     }
     expected = {
         'an_input': 'input1',
         'workspace': 'my_workspace',
         'baz': 'bar',
         'ref_input': 'obj_id',
         'a_list': ['num_1', 'num_2', 'num_3'],
         'a_num': 123
     }
     self.assertDictEqual(map_inputs_from_job(inputs, app_spec), expected)
コード例 #2
0
ファイル: job.py プロジェクト: psdehal/narrative
    def map_viewer_params(Job, job_state, job_inputs, app_id, app_tag):
        # get app spec.
        if job_state is None or job_state['job_state'] != 'completed':
            return None

        spec = SpecManager().get_spec(app_id, app_tag)
        (output_widget, widget_params) = map_outputs_from_state(
            job_state, map_inputs_from_job(job_inputs, spec), spec)
        return {'name': output_widget, 'tag': app_tag, 'params': widget_params}
コード例 #3
0
    def map_viewer_params(cls, job_state, job_inputs, app_id, app_tag):
        # get app spec.
        if job_state is None or job_state.get("status", "") != "completed":
            return None

        spec = SpecManager().get_spec(app_id, app_tag)
        (output_widget, widget_params) = map_outputs_from_state(
            job_state, map_inputs_from_job(job_inputs, spec), spec)
        return {"name": output_widget, "tag": app_tag, "params": widget_params}
コード例 #4
0
ファイル: test_app_util.py プロジェクト: kbase/narrative
 def test_map_inputs_from_job(self):
     inputs = [
         "input1",
         {
             "ws": "my_workspace",
             "foo": "bar"
         },
         "some_ref/obj_id",
         ["ref/num_1", "ref/num_2", "num_3"],
         123,
     ]
     app_spec = {
         "behavior": {
             "kb_service_input_mapping": [
                 {
                     "target_position": 0,
                     "input_parameter": "an_input"
                 },
                 {
                     "target_position": 1,
                     "target_property": "ws",
                     "input_parameter": "workspace",
                 },
                 {
                     "target_position": 1,
                     "target_property": "foo",
                     "input_parameter": "baz",
                 },
                 {
                     "target_position": 2,
                     "input_parameter": "ref_input",
                     "target_type_transform": "ref",
                 },
                 {
                     "target_position": 3,
                     "input_parameter": "a_list",
                     "target_type_transform": "list<ref>",
                 },
                 {
                     "target_position": 4,
                     "input_parameter": "a_num",
                     "target_type_transform": "int",
                 },
             ],
         }
     }
     expected = {
         "an_input": "input1",
         "workspace": "my_workspace",
         "baz": "bar",
         "ref_input": "obj_id",
         "a_list": ["num_1", "num_2", "num_3"],
         "a_num": 123,
     }
     self.assertDictEqual(map_inputs_from_job(inputs, app_spec), expected)
コード例 #5
0
ファイル: job.py プロジェクト: briehl/narrative
    def map_viewer_params(Job, job_state, job_inputs, app_id, app_tag):
        # get app spec.
        if job_state is None or job_state['job_state'] != 'completed':
            return None

        spec = SpecManager().get_spec(app_id, app_tag)
        (output_widget, widget_params) = map_outputs_from_state(job_state, map_inputs_from_job(job_inputs, spec), spec)
        return {
            'name': output_widget,
            'tag': app_tag,
            'params': widget_params
        }
コード例 #6
0
ファイル: test_job.py プロジェクト: kbase/narrative
def get_widget_info(job_id):
    state = get_test_job(job_id)
    if state.get("status") != COMPLETED_STATUS:
        return None
    job_input = state.get("job_input", {})
    app_id = job_input.get("app_id", JOB_ATTR_DEFAULTS["app_id"])
    params = job_input.get("params", JOB_ATTR_DEFAULTS["params"])
    tag = job_input.get("narrative_cell_info", {}).get("tag", JOB_ATTR_DEFAULTS["tag"])
    spec = get_test_spec(tag, app_id)
    with mock.patch("biokbase.narrative.app_util.clients.get", get_mock_client):
        output_widget, widget_params = map_outputs_from_state(
            state,
            map_inputs_from_job(params, spec),
            spec,
        )
    return {
        "name": output_widget,
        "tag": tag,
        "params": widget_params,
    }
コード例 #7
0
ファイル: job.py プロジェクト: psdehal/narrative
 def _get_output_info(self, state):
     spec = self.app_spec()
     return map_outputs_from_state(
         state, map_inputs_from_job(self.parameters(), spec), spec)
コード例 #8
0
ファイル: test_app_util.py プロジェクト: briehl/narrative
 def test_map_inputs_from_job(self):
     inputs = [
         'input1',
         {
             'ws': 'my_workspace',
             'foo': 'bar',
             'auth_token': 'abcde'
         },
         'some_ref/obj_id',
         [
             'ref/num_1',
             'ref/num_2',
             'num_3'
         ],
         123
     ]
     app_spec = {
         'behavior': {
             'kb_service_input_mapping': [
                 {
                     'target_position': 0,
                     'input_parameter': 'an_input'
                 },
                 {
                     'target_position': 1,
                     'target_property': 'ws',
                     'input_parameter': 'workspace'
                 },
                 {
                     'target_position': 1,
                     'target_property': 'foo',
                     'input_parameter': 'baz'
                 },
                 {
                     'target_position': 1,
                     'narrative_system_variable': 'token',
                     'target_property': 'auth_token'
                 },
                 {
                     'target_position': 2,
                     'input_parameter': 'ref_input',
                     'target_type_transform': 'ref'
                 },
                 {
                     'target_position': 3,
                     'input_parameter': 'a_list',
                     'target_type_transform': 'list<ref>'
                 },
                 {
                     'target_position': 4,
                     'input_parameter': 'a_num',
                     'target_type_transform': 'int'
                 }
             ],
         }
     }
     expected = {
         'an_input': 'input1',
         'workspace': 'my_workspace',
         'baz': 'bar',
         'ref_input': 'obj_id',
         'a_list': ['num_1', 'num_2', 'num_3'],
         'a_num': 123
     }
     self.assertDictEqual(map_inputs_from_job(inputs, app_spec), expected)
コード例 #9
0
ファイル: job.py プロジェクト: briehl/narrative
 def _get_output_info(self, state):
     spec = self.app_spec()
     return map_outputs_from_state(state, map_inputs_from_job(self.parameters(), spec), spec)