update help() in api
This commit is contained in:
@ -17,7 +17,7 @@ ICON = u'\u2937'
|
||||
OPTIONS_TYPE = {'str': {'type': str,
|
||||
'option': StrOption}
|
||||
}
|
||||
PROPERTIES = ['hidden', 'disabled']
|
||||
PROPERTIES = ['hidden', 'disabled', 'mandatory']
|
||||
PROPERTIES_LIST = ['prop1', 'prop2']
|
||||
|
||||
OWNER = 'user'
|
||||
@ -1068,7 +1068,7 @@ def autocheck_option_get(api, pathread, pathwrite, confread, confwrite, **kwargs
|
||||
name = pathread.rsplit('.', 1)[1]
|
||||
else:
|
||||
name = pathread
|
||||
assert api.option.get(pathread).impl_getname() == name
|
||||
assert api.unrestraint.option(pathread).option.name() == name
|
||||
|
||||
|
||||
@autocheck
|
||||
@ -1088,28 +1088,28 @@ def autocheck_find(api, pathread, pathwrite, confread, confwrite, **kwargs):
|
||||
name = pathread.rsplit('.', 1)[1]
|
||||
else:
|
||||
name = pathread
|
||||
option = _getoption(api.option.get(pathread))
|
||||
option = _getoption(api.unrestraint.option(pathread).option.get())
|
||||
|
||||
def do(conf):
|
||||
if not kwargs.get('permissive', False) and not kwargs.get('propertyerror', False):
|
||||
assert option == _getoption(api.config(conf).option.find_first(name))
|
||||
assert option == _getoption(api.forcepermissive.config(conf).option.find_first(name))
|
||||
assert option == _getoption(api.config(conf).option.find(name, first=True))
|
||||
assert option == _getoption(api.forcepermissive.config(conf).option.find(name, first=True))
|
||||
elif kwargs.get('permissive', False):
|
||||
raises(AttributeError, "api.config(conf).option.find_first(name)")
|
||||
assert option == _getoption(api.forcepermissive.config(conf).option.find_first(name))
|
||||
raises(AttributeError, "api.config(conf).option.find(name, first=True)")
|
||||
assert option == _getoption(api.forcepermissive.config(conf).option.find(name, first=True))
|
||||
else:
|
||||
raises(AttributeError, "api.config(conf).option.find_first(name)")
|
||||
raises(AttributeError, "api.forcepermissive.config(conf).option.find_first(name)")
|
||||
assert option == _getoption(api.unrestraint.config(conf).option.find_first(name))
|
||||
raises(AttributeError, "api.config(conf).option.find(name, first=True)")
|
||||
raises(AttributeError, "api.forcepermissive.config(conf).option.find(name, first=True)")
|
||||
assert option == _getoption(api.unrestraint.config(conf).option.find(name, first=True))
|
||||
assert [option] == _getoptions(api.unrestraint.config(conf).option.find(name))
|
||||
assert pathread == api.unrestraint.config(conf).option.find_first(name, 'path')
|
||||
assert pathread == api.unrestraint.config(conf).option.find(name, 'path', first=True)
|
||||
assert [pathread] == api.unrestraint.config(conf).option.find(name, 'path')
|
||||
do(confread)
|
||||
if confread != confwrite:
|
||||
do(confwrite)
|
||||
|
||||
|
||||
def check_all(cfg, paths, path, meta, multi, default, default_multi, require, consistency, callback, symlink, weakrefs, **kwargs):
|
||||
def check_all(cfg, paths_, path, meta, multi, default, default_multi, require, consistency, callback, symlink, weakrefs, **kwargs):
|
||||
def _build_make_dict():
|
||||
dico = {}
|
||||
dico_value = {}
|
||||
@ -1132,7 +1132,7 @@ def check_all(cfg, paths, path, meta, multi, default, default_multi, require, co
|
||||
is_master = False
|
||||
dyns = []
|
||||
has_value = False
|
||||
for cpath, options in paths.items():
|
||||
for cpath, options in paths_.items():
|
||||
if options is None:
|
||||
break
|
||||
if '.' in cpath:
|
||||
@ -1172,7 +1172,7 @@ def check_all(cfg, paths, path, meta, multi, default, default_multi, require, co
|
||||
kwargs['default'] = None
|
||||
if is_dyn and dyns:
|
||||
idx = 0
|
||||
for cpath in list(paths.keys())[len(dyns):]:
|
||||
for cpath in list(paths_.keys())[len(dyns):]:
|
||||
if dyns[idx]:
|
||||
dico[cpath] = default_value
|
||||
if symlink:
|
||||
@ -1227,7 +1227,7 @@ def check_all(cfg, paths, path, meta, multi, default, default_multi, require, co
|
||||
dico[cpath + 'extraoptconsistency'] = value
|
||||
dico_value[cpath + 'extraoptconsistency'] = value
|
||||
if is_master:
|
||||
for cpath in list(paths.keys())[len(dyns):]:
|
||||
for cpath in list(paths_.keys())[len(dyns):]:
|
||||
if cpath.endswith('.first') or cpath.endswith('.firstval1') or cpath.endswith('.firstval2'):
|
||||
second_path = cpath.rsplit('.', 1)[0] + '.second'
|
||||
third_path = cpath.rsplit('.', 1)[0] + '.third'
|
||||
@ -1698,6 +1698,8 @@ def paths(request):
|
||||
|
||||
def test_options(paths):
|
||||
def get_kwargs_option(options, kwargs, od=False):
|
||||
if options.get('mandatory', False):
|
||||
kwargs['mandatory'] = True
|
||||
if options.get('hidden', False) is True:
|
||||
kwargs['permissive'] = True
|
||||
if not od:
|
@ -163,8 +163,8 @@ def test_config_impl_get_path_by_opt():
|
||||
descr = make_description()
|
||||
config = Config(descr)
|
||||
api = getapi(config)
|
||||
dummy = api.option.get('gc.dummy')
|
||||
boo = api.option.get('bool')
|
||||
dummy = api.option('gc.dummy').option.get()
|
||||
boo = api.option('bool').option.get()
|
||||
unknown = IntOption('test', '')
|
||||
unknown
|
||||
assert config.cfgimpl_get_description().impl_get_path_by_opt(boo) == 'bool'
|
||||
|
@ -165,17 +165,17 @@ def test_find_in_config():
|
||||
api.permissive.set(frozenset(['hidden']))
|
||||
ret = api.option.find('dummy')
|
||||
assert len(ret) == 1
|
||||
_is_same_opt(ret[0], api.option.get('gc.dummy'))
|
||||
_is_same_opt(ret[0], api.option('gc.dummy').option.get())
|
||||
#
|
||||
ret = api.option.find_first('dummy')
|
||||
_is_same_opt(ret, api.option.get('gc.dummy'))
|
||||
ret = api.option.find('dummy', first=True)
|
||||
_is_same_opt(ret, api.option('gc.dummy').option.get())
|
||||
#
|
||||
ret = api.option.find('float')
|
||||
assert len(ret) == 2
|
||||
_is_same_opt(ret[0], api.option.get('gc.float'))
|
||||
_is_same_opt(ret[1], api.option.get('float'))
|
||||
_is_same_opt(ret[0], api.option('gc.float').option.get())
|
||||
_is_same_opt(ret[1], api.option('float').option.get())
|
||||
#
|
||||
_is_same_opt(api.option.find_first('bool'), api.option.get('gc.gc2.bool'))
|
||||
_is_same_opt(api.option.find('bool', first=True), api.option('gc.gc2.bool').option.get())
|
||||
#_is_same_opt(conf.find_first(byname='bool', byvalue=True), conf.unwrap_from_path('bool'))
|
||||
#_is_same_opt(conf.find_first(byname='dummy'), conf.unwrap_from_path('gc.dummy'))
|
||||
#_is_same_opt(conf.find_first(byname='float'), conf.unwrap_from_path('gc.float'))
|
||||
@ -385,3 +385,12 @@ def test_invalid_option():
|
||||
raises(ValueError, "BroadcastOption('a', '', multi=True, default_multi='string')")
|
||||
raises(ValueError, "DomainnameOption('a', '', multi=True, default_multi='string')")
|
||||
raises(ValueError, "DomainnameOption('a', '', multi=True, default_multi=1)")
|
||||
|
||||
|
||||
def test_help():
|
||||
stro = StrOption('s', '', multi=True)
|
||||
od1 = OptionDescription('o', '', [stro])
|
||||
od2 = OptionDescription('o', '', [od1])
|
||||
cfg = Config(od2)
|
||||
api = getapi(cfg)
|
||||
api.help(_display=False, _valid=True)
|
||||
|
@ -639,8 +639,8 @@ def test_find_dyndescription_context():
|
||||
od2 = OptionDescription('od', '', [od])
|
||||
api = getapi(Config(od2))
|
||||
api.option('od.dodval1.stval1').value.set('yes')
|
||||
assert api.option.find_first('stval1', type='value') == "yes"
|
||||
assert isinstance(api.option.find_first('stval1', type='option'), DynSymLinkOption)
|
||||
assert api.option.find('stval1', type='value', first=True) == "yes"
|
||||
assert isinstance(api.option.find('stval1', type='option', first=True), DynSymLinkOption)
|
||||
#assert api.option.find(bytype=StrOption, type='path') == ['od.dodval1.stval1', 'od.dodval2.stval2', 'od.val1']
|
||||
#opts = api.option.find(byvalue='yes')
|
||||
#assert len(opts) == 1
|
||||
|
@ -127,7 +127,7 @@ def test_contexts():
|
||||
def test_find():
|
||||
api = make_metaconfig()
|
||||
assert [1] == api.option.find('i2', type='value')
|
||||
assert 1 == api.option.find_first('i2', type='value')
|
||||
assert 1 == api.option.find('i2', type='value', first=True)
|
||||
assert api.option.make_dict() == {'od1.i4': 2, 'od1.i1': None, 'od1.i3': None,
|
||||
'od1.i2': 1, 'od1.i5': [2]}
|
||||
|
||||
@ -203,15 +203,15 @@ def test_meta_meta_set():
|
||||
conf1 = meta.getconfig('conf1')
|
||||
conf2 = meta.getconfig('conf2')
|
||||
assert api.config('meta.conf1').option('od1.i1').value.get() == api.config('meta.conf2').option('od1.i1').value.get() == 7
|
||||
assert [conf1, conf2] == api.config.find_first('i1', byvalue=7).cfgimpl_get_children()
|
||||
assert [conf1, conf2] == api.config.find('i1', byvalue=7, first=True).cfgimpl_get_children()
|
||||
api.config('meta.conf1').option('od1.i1').value.set(8)
|
||||
assert [conf1, conf2] == api.config.find_first('i1').cfgimpl_get_children()
|
||||
assert [conf2] == api.config.find_first('i1', byvalue=7).cfgimpl_get_children()
|
||||
assert [conf1] == api.config.find_first('i1', byvalue=8).cfgimpl_get_children()
|
||||
assert [conf1, conf2] == api.config.find_first('i5', byvalue=2).cfgimpl_get_children()
|
||||
raises(AttributeError, "api.config.find_first('i1', byvalue=10)")
|
||||
raises(AttributeError, "api.config.find_first('not', byvalue=10)")
|
||||
raises(AttributeError, "api.config.find_first('i6')")
|
||||
assert [conf1, conf2] == api.config.find('i1', first=True).cfgimpl_get_children()
|
||||
assert [conf2] == api.config.find('i1', byvalue=7, first=True).cfgimpl_get_children()
|
||||
assert [conf1] == api.config.find('i1', byvalue=8, first=True).cfgimpl_get_children()
|
||||
assert [conf1, conf2] == api.config.find('i5', byvalue=2, first=True).cfgimpl_get_children()
|
||||
raises(AttributeError, "api.config.find('i1', byvalue=10, first=True)")
|
||||
raises(AttributeError, "api.config.find('not', byvalue=10, first=True)")
|
||||
raises(AttributeError, "api.config.find('i6', first=True)")
|
||||
raises(ValueError, "api.value.set('od1.i6', 7, only_config=True, force_default=True)")
|
||||
raises(ValueError, "api.value.set('od1.i6', 7, only_config=True, force_default_if_same=True)")
|
||||
raises(ValueError, "api.value.set('od1.i6', 7, only_config=True, force_dont_change_value=True)")
|
||||
@ -246,7 +246,7 @@ def test_group_find_firsts():
|
||||
conf2 = Config(od2, session_id='conf2')
|
||||
grp = GroupConfig([conf1, conf2])
|
||||
api = getapi(grp)
|
||||
assert [conf1, conf2] == api.config.find_first('i1').cfgimpl_get_children()
|
||||
assert [conf1, conf2] == api.config.find('i1', first=True).cfgimpl_get_children()
|
||||
|
||||
|
||||
def test_group_group():
|
||||
@ -295,13 +295,13 @@ def test_meta_master_slaves():
|
||||
conf2 = Config(od, session_id='conf2')
|
||||
api = getapi(MetaConfig([conf1, conf2]))
|
||||
api.property.read_only()
|
||||
assert [conf1, conf2] == api.config.find_first('ip_admin_eth0').cfgimpl_get_children()
|
||||
assert [conf1, conf2] == api.config.find_first('netmask_admin_eth0').cfgimpl_get_children()
|
||||
assert [conf1, conf2] == api.config.find('ip_admin_eth0', first=True).cfgimpl_get_children()
|
||||
assert [conf1, conf2] == api.config.find('netmask_admin_eth0', first=True).cfgimpl_get_children()
|
||||
api.property.read_write()
|
||||
raises(AttributeError, "api.config.find_first('netmask_admin_eth0')")
|
||||
assert [conf1, conf2] == api.unrestraint.config.find_first('netmask_admin_eth0').cfgimpl_get_children()
|
||||
raises(AttributeError, "api.config.find('netmask_admin_eth0', first=True)")
|
||||
assert [conf1, conf2] == api.unrestraint.config.find('netmask_admin_eth0', first=True).cfgimpl_get_children()
|
||||
api.property.read_only()
|
||||
assert [conf1, conf2] == api.config.find_first('netmask_admin_eth0').cfgimpl_get_children()
|
||||
assert [conf1, conf2] == api.config.find('netmask_admin_eth0', first=True).cfgimpl_get_children()
|
||||
|
||||
|
||||
def test_meta_master_slaves_value2():
|
||||
|
@ -384,8 +384,8 @@ def test_access_by_get():
|
||||
descr = make_description()
|
||||
api = getapi(Config(descr))
|
||||
raises(AttributeError, "api.option.find('idontexist')")
|
||||
assert api.option.find_first('wantref', type='value') is False
|
||||
assert api.option.find_first('dummy', type='value') is False
|
||||
assert api.option.find('wantref', type='value', first=True) is False
|
||||
assert api.option.find('dummy', type='value', first=True) is False
|
||||
|
||||
|
||||
def test_access_by_get_whith_hide():
|
||||
|
@ -52,7 +52,7 @@ def test_base_config():
|
||||
api.property.read_write()
|
||||
assert api.option('creole.general.activer_proxy_client').value.get() is False
|
||||
assert api.option('creole.general.nom_machine').value.get() == "eoleng"
|
||||
assert api.option.find_first('nom_machine', type='value') == "eoleng"
|
||||
assert api.option.find('nom_machine', type='value', first=True) == "eoleng"
|
||||
result = {'general.numero_etab': None, 'general.nombre_interfaces': 1,
|
||||
'general.serveur_ntp': [], 'interface1.ip_admin_eth0.ip_admin_eth0': None,
|
||||
'general.mode_conteneur_actif': False, 'general.time_zone': 'Paris',
|
||||
|
Reference in New Issue
Block a user