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)
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}
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}
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)
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 }
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, }
def _get_output_info(self, state): spec = self.app_spec() return map_outputs_from_state( state, map_inputs_from_job(self.parameters(), spec), spec)
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)
def _get_output_info(self, state): spec = self.app_spec() return map_outputs_from_state(state, map_inputs_from_job(self.parameters(), spec), spec)