def retrieve_list_by_id(self, id, parsed_args): """Retrieve a list of sub resources from Tacker server""" tacker_client = self.get_client() tacker_client.format = parsed_args.request_format _extra_values = tackerV10.parse_args_to_dict(self.values_specs) tackerV10._merge_args(self, parsed_args, _extra_values, self.values_specs) search_opts = self.args2search_opts(parsed_args) search_opts.update(_extra_values) if self.pagination_support: page_size = parsed_args.page_size if page_size: search_opts.update({'limit': page_size}) if self.sorting_support: keys = parsed_args.sort_key if keys: search_opts.update({'sort_key': keys}) dirs = parsed_args.sort_dir len_diff = len(keys) - len(dirs) if len_diff > 0: dirs += ['asc'] * len_diff elif len_diff < 0: dirs = dirs[:len(keys)] if dirs: search_opts.update({'sort_dir': dirs}) obj_lister = getattr(tacker_client, "list_vnf_resources") data = obj_lister(id, **search_opts) return data.get('resources', [])
def test_list_of_dict_arg(self): _specs = [ '--tag=t', '--arg1', 'type=dict', 'list=true', 'key1=value1,key2=value2' ] arg1 = tackerV10.parse_args_to_dict(_specs)['arg1'] self.assertEqual('value1', arg1[0]['key1']) self.assertEqual('value2', arg1[0]['key2'])
def test_dict_arg_with_attribute_named_type(self): _specs = ['--tag=t', '--arg1', 'type=dict', 'type=value1,key2=value2'] arg1 = tackerV10.parse_args_to_dict(_specs)['arg1'] self.assertEqual('value1', arg1['type']) self.assertEqual('value2', arg1['key2'])
def test_arg(self): _specs = ['--tag=t', '--arg1', 'value1'] self.assertEqual('value1', tackerV10.parse_args_to_dict(_specs)['arg1'])
def test_goodarg_with_minus_number(self): _specs = ['--arg1', 'value1', '-1', '-1.0'] _mydict = tackerV10.parse_args_to_dict(_specs) self.assertEqual(['value1', '-1', '-1.0'], _mydict['arg1'])
def test_nargs(self): _specs = ['--tag', 'x', 'y', '--arg1', 'value1'] _mydict = tackerV10.parse_args_to_dict(_specs) self.assertIn('x', _mydict['tag']) self.assertIn('y', _mydict['tag'])
def test_bool_false(self): _specs = ['--my_bool', 'type=bool', 'false', '--arg1', 'value1'] _mydict = tackerV10.parse_args_to_dict(_specs) self.assertFalse(_mydict['my_bool'])
def test_default_bool(self): _specs = ['--my_bool', '--arg1', 'value1'] _mydict = tackerV10.parse_args_to_dict(_specs) self.assertTrue(_mydict['my_bool'])
def test_clear_action(self): _specs = ['--anyarg', 'action=clear'] args = tackerV10.parse_args_to_dict(_specs) self.assertIsNone(args['anyarg'])
def test_list_of_dict_arg(self): _specs = ['--tag=t', '--arg1', 'type=dict', 'list=true', 'key1=value1,key2=value2'] arg1 = tackerV10.parse_args_to_dict(_specs)['arg1'] self.assertEqual('value1', arg1[0]['key1']) self.assertEqual('value2', arg1[0]['key2'])
def test_empty(self): _mydict = tackerV10.parse_args_to_dict([]) self.assertEqual({}, _mydict)