remove _cache_paths (path is now directly in option)
better TiramisuAPI support
This commit is contained in:
@ -70,6 +70,299 @@ def autocheck(func):
|
||||
return wrapper
|
||||
|
||||
|
||||
def _autocheck_default_value(cfg, path, conf, **kwargs):
|
||||
"""set and get values
|
||||
"""
|
||||
# check if is a multi, a master or a slave
|
||||
multi = cfg.unrestraint.option(path).option.ismulti()
|
||||
submulti_ = cfg.unrestraint.option(path).option.issubmulti()
|
||||
isslave = cfg.unrestraint.option(path).option.isslave()
|
||||
|
||||
# set default value (different if value is multi or not)
|
||||
empty_value = kwargs['default']
|
||||
|
||||
# test default value (should be empty)
|
||||
# cannot test for slave (we cannot get all values for a slave)
|
||||
with warnings.catch_warnings(record=True) as w:
|
||||
if not isslave:
|
||||
if not kwargs.get('permissive', False) and not kwargs.get('propertyerror', False):
|
||||
assert cfg.config(conf).option(path).value.get() == empty_value
|
||||
assert cfg.config(conf).forcepermissive.option(path).value.get() == empty_value
|
||||
elif not kwargs.get('propertyerror', False):
|
||||
raises(PropertiesOptionError, "cfg.config(conf).option(path).value.get()")
|
||||
assert cfg.config(conf).forcepermissive.option(path).value.get() == empty_value
|
||||
else:
|
||||
raises(PropertiesOptionError, "cfg.config(conf).option(path).value.get()")
|
||||
raises(PropertiesOptionError, "cfg.config(conf).forcepermissive.option(path).value.get()")
|
||||
else:
|
||||
if not kwargs.get('permissive', False) and not kwargs.get('propertyerror', False):
|
||||
assert cfg.config(conf).option(path, 0).value.get() == empty_value
|
||||
assert cfg.config(conf).option(path, 1).value.get() == empty_value
|
||||
assert cfg.config(conf).forcepermissive.option(path, 0).value.get() == empty_value
|
||||
assert cfg.config(conf).forcepermissive.option(path, 1).value.get() == empty_value
|
||||
elif not kwargs.get('propertyerror', False):
|
||||
raises(PropertiesOptionError, "cfg.config(conf).option(path, 0).value.get()")
|
||||
assert cfg.config(conf).forcepermissive.option(path, 0).value.get() == empty_value
|
||||
assert cfg.config(conf).forcepermissive.option(path, 1).value.get() == empty_value
|
||||
else:
|
||||
raises(PropertiesOptionError, "cfg.config(conf).option(path, 0).value.get()")
|
||||
raises(PropertiesOptionError, "cfg.config(conf).forcepermissive.option(path, 0).value.get()")
|
||||
|
||||
|
||||
def _set_value(cfg, pathwrite, conf, **kwargs):
|
||||
set_permissive = kwargs.get('set_permissive', True)
|
||||
multi = cfg.unrestraint.option(pathwrite).option.ismulti()
|
||||
submulti_ = cfg.unrestraint.option(pathwrite).option.issubmulti()
|
||||
ismaster = cfg.unrestraint.option(pathwrite).option.ismaster()
|
||||
isslave = cfg.unrestraint.option(pathwrite).option.isslave()
|
||||
if not multi:
|
||||
first_value = FIRST_VALUE
|
||||
elif submulti_ is False:
|
||||
if not isslave:
|
||||
first_value = LIST_FIRST_VALUE
|
||||
else:
|
||||
second_value = LIST_SECOND_VALUE[1]
|
||||
|
||||
else:
|
||||
if not isslave:
|
||||
first_value = SUBLIST_FIRST_VALUE
|
||||
else:
|
||||
second_value = SUBLIST_SECOND_VALUE[1]
|
||||
|
||||
# for slave should have an index and good length
|
||||
# for master must append, not set
|
||||
with warnings.catch_warnings(record=True) as w:
|
||||
if ismaster:
|
||||
if not kwargs.get('permissive', False) and not kwargs.get('propertyerror', False):
|
||||
raises(APIError, "cfg.config(conf).option(pathwrite, 0).value.set(first_value[0])")
|
||||
if not set_permissive:
|
||||
cfg.config(conf).option(pathwrite).value.set([first_value[0]])
|
||||
else:
|
||||
cfg.config(conf).forcepermissive.option(pathwrite).value.set([first_value[0]])
|
||||
elif not kwargs.get('propertyerror', False):
|
||||
raises(PropertiesOptionError, "cfg.config(conf).option(pathwrite).value.set([first_value[0]])")
|
||||
if set_permissive:
|
||||
cfg.config(conf).forcepermissive.option(pathwrite).value.set([first_value[0]])
|
||||
else:
|
||||
raises(PropertiesOptionError, "cfg.config(conf).option(pathwrite).value.set([first_value[0]])")
|
||||
raises(PropertiesOptionError,
|
||||
"cfg.config(conf).forcepermissive.option(pathwrite).value.set([first_value[0]])")
|
||||
if len(first_value) > 1:
|
||||
raises(APIError, "cfg.config(conf).unrestraint.option(pathwrite).value.set(first_value[1])")
|
||||
elif isslave:
|
||||
if not kwargs.get('permissive', False) and not kwargs.get('propertyerror', False):
|
||||
if not set_permissive:
|
||||
cfg.config(conf).option(pathwrite, 1).value.set(second_value)
|
||||
else:
|
||||
cfg.config(conf).forcepermissive.option(pathwrite, 1).value.set(second_value)
|
||||
elif not kwargs.get('propertyerror', False):
|
||||
raises(PropertiesOptionError, "cfg.config(conf).option(pathwrite, 1).value.set(second_value)")
|
||||
if set_permissive:
|
||||
cfg.config(conf).forcepermissive.option(pathwrite, 1).value.set(second_value)
|
||||
else:
|
||||
raises(PropertiesOptionError, "cfg.config(conf).option(pathwrite, 1).value.set(second_value)")
|
||||
raises(PropertiesOptionError,
|
||||
"cfg.config(conf).forcepermissive.option(pathwrite, 1).value.set(second_value)")
|
||||
raises(APIError,
|
||||
"cfg.config(conf).unrestraint.option(pathwrite).value.set([second_value, second_value])")
|
||||
|
||||
else:
|
||||
if not kwargs.get('permissive', False) and not kwargs.get('propertyerror', False):
|
||||
if not set_permissive:
|
||||
cfg.config(conf).option(pathwrite).value.set(first_value)
|
||||
else:
|
||||
cfg.config(conf).forcepermissive.option(pathwrite).value.set(first_value)
|
||||
elif not kwargs.get('propertyerror', False):
|
||||
raises(PropertiesOptionError, "cfg.config(conf).option(pathwrite).value.set(first_value)")
|
||||
if set_permissive:
|
||||
cfg.config(conf).forcepermissive.option(pathwrite).value.set(first_value)
|
||||
else:
|
||||
raises(PropertiesOptionError, "cfg.config(conf).option(pathwrite).value.set(first_value)")
|
||||
raises(PropertiesOptionError, "cfg.config(conf).forcepermissive.option(pathwrite).value.set(first_value)")
|
||||
#FIXME raises(APIError, "cfg.config(conf).unrestraint.option(pathwrite).value.set(first_value)")
|
||||
|
||||
|
||||
def _getproperties(multi, isslave, kwargs):
|
||||
# define properties
|
||||
properties = copy(PROPERTIES_LIST)
|
||||
if multi and not isslave:
|
||||
default_props = ['empty']
|
||||
properties.append('empty')
|
||||
else:
|
||||
default_props = []
|
||||
extra_properties = kwargs.get('extra_properties')
|
||||
if extra_properties:
|
||||
properties.extend(extra_properties)
|
||||
default_props.extend(extra_properties)
|
||||
return default_props, frozenset(properties)
|
||||
|
||||
|
||||
def _check_properties(cfg, mcfg, pathread, conf, kwargs, props_permissive, props):
|
||||
if not cfg.unrestraint.option(pathread).option.isslave():
|
||||
if not kwargs.get('permissive', False) and not kwargs.get('propertyerror', False):
|
||||
assert set(cfg.config(conf).option(pathread).property.get()) == set(props_permissive)
|
||||
assert set(cfg.config(conf).option(pathread).property.get()) == set(props)
|
||||
else:
|
||||
raises(PropertiesOptionError, "cfg.config(conf).option(pathread).property.get()")
|
||||
raises(PropertiesOptionError, "cfg.config(conf).option(pathread).property.get()")
|
||||
if not kwargs.get('propertyerror', False):
|
||||
assert set(cfg.config(conf).forcepermissive.option(pathread).property.get()) == set(props_permissive)
|
||||
assert set(cfg.config(conf).forcepermissive.option(pathread).property.get()) == set(props)
|
||||
else:
|
||||
assert PropertiesOptionError, "cfg.config(conf).forcepermissive.option(pathread).property.get()"
|
||||
assert PropertiesOptionError, "cfg.config(conf).forcepermissive.option(pathread).property.get()"
|
||||
assert set(cfg.config(conf).unrestraint.option(pathread).property.get()) == set(props_permissive)
|
||||
assert set(cfg.config(conf).unrestraint.option(pathread).property.get()) == set(props)
|
||||
else:
|
||||
if not kwargs.get('permissive', False) and not kwargs.get('propertyerror', False):
|
||||
assert set(cfg.config(conf).option(pathread, 0).property.get()) == set(props_permissive)
|
||||
assert set(cfg.config(conf).option(pathread, 0).property.get()) == set(props)
|
||||
#
|
||||
assert set(cfg.config(conf).option(pathread, 1).property.get()) == set(props_permissive)
|
||||
assert set(cfg.config(conf).option(pathread, 1).property.get()) == set(props)
|
||||
else:
|
||||
raises(PropertiesOptionError, "cfg.config(conf).option(pathread, 0).property.get()")
|
||||
raises(PropertiesOptionError, "cfg.config(conf).option(pathread, 0).property.get()")
|
||||
#
|
||||
raises(PropertiesOptionError, "cfg.config(conf).option(pathread, 1).property.get()")
|
||||
raises(PropertiesOptionError, "cfg.config(conf).option(pathread, 1).property.get()")
|
||||
if not kwargs.get('propertyerror', False):
|
||||
assert set(cfg.config(conf).forcepermissive.option(pathread, 0).property.get()) == set(props_permissive)
|
||||
assert set(cfg.config(conf).forcepermissive.option(pathread, 0).property.get()) == set(props)
|
||||
#
|
||||
assert set(cfg.config(conf).forcepermissive.option(pathread, 1).property.get()) == set(props_permissive)
|
||||
assert set(cfg.config(conf).forcepermissive.option(pathread, 1).property.get()) == set(props)
|
||||
else:
|
||||
raises(PropertiesOptionError, "cfg.config(conf).forcepermissive.option(pathread, 0).property.get()")
|
||||
raises(PropertiesOptionError, "cfg.config(conf).forcepermissive.option(pathread, 0).property.get()")
|
||||
#
|
||||
raises(PropertiesOptionError, "cfg.config(conf).forcepermissive.option(pathread, 1).property.get()")
|
||||
raises(PropertiesOptionError, "cfg.config(conf).forcepermissive.option(pathread, 1).property.get()")
|
||||
assert set(cfg.config(conf).unrestraint.option(pathread, 0).property.get()) == set(props_permissive)
|
||||
assert set(cfg.config(conf).unrestraint.option(pathread, 0).property.get()) == set(props)
|
||||
#
|
||||
assert set(cfg.config(conf).unrestraint.option(pathread, 1).property.get()) == set(props_permissive)
|
||||
assert set(cfg.config(conf).unrestraint.option(pathread, 1).property.get()) == set(props)
|
||||
|
||||
|
||||
def _property_permissive(cfg, mcfg, pathread, pathwrite, confread, confwrite, **kwargs):
|
||||
# check if is a multi or a slave
|
||||
multi = cfg.unrestraint.option(pathread).option.ismulti()
|
||||
isslave = cfg.unrestraint.option(pathread).option.isslave()
|
||||
|
||||
# define properties
|
||||
properties = copy(PROPERTIES_LIST)
|
||||
if multi and not isslave:
|
||||
default_props = ['empty']
|
||||
properties.append('empty')
|
||||
else:
|
||||
default_props = []
|
||||
extra_properties = kwargs.get('extra_properties')
|
||||
if extra_properties:
|
||||
properties.extend(extra_properties)
|
||||
default_props.extend(extra_properties)
|
||||
default_props, properties = _getproperties(multi, isslave, kwargs)
|
||||
|
||||
if confwrite == confread:
|
||||
_check_properties(cfg, mcfg, pathread, confwrite, kwargs, default_props, default_props)
|
||||
else:
|
||||
_check_properties(cfg, mcfg, pathread, confread, kwargs, default_props, default_props)
|
||||
|
||||
# set properties with permissive
|
||||
for prop in properties:
|
||||
if not kwargs.get('permissive', False) and not kwargs.get('propertyerror', False):
|
||||
cfg.config(confread).option(pathwrite).property.add(prop)
|
||||
elif not kwargs.get('propertyerror', False):
|
||||
cfg.config(confread).forcepermissive.option(pathwrite).property.add(prop)
|
||||
else:
|
||||
cfg.config(confread).unrestraint.option(pathwrite).property.add(prop)
|
||||
if confwrite == confread:
|
||||
_check_properties(cfg, mcfg, pathread, confwrite, kwargs, properties, properties)
|
||||
else:
|
||||
_check_properties(cfg, mcfg, pathread, confread, kwargs, properties, properties)
|
||||
|
||||
|
||||
def _autocheck_get_value(cfg, pathread, conf, **kwargs):
|
||||
set_permissive = kwargs.get('set_permissive', True)
|
||||
multi = cfg.unrestraint.option(pathread).option.ismulti()
|
||||
submulti_ = cfg.unrestraint.option(pathread).option.issubmulti()
|
||||
isslave = cfg.unrestraint.option(pathread).option.isslave()
|
||||
empty_value = kwargs['default']
|
||||
if not multi:
|
||||
first_value = FIRST_VALUE
|
||||
elif submulti_ is False:
|
||||
if not isslave:
|
||||
first_value = LIST_FIRST_VALUE
|
||||
else:
|
||||
second_value = LIST_SECOND_VALUE[1]
|
||||
|
||||
else:
|
||||
if not isslave:
|
||||
first_value = SUBLIST_FIRST_VALUE
|
||||
else:
|
||||
second_value = SUBLIST_SECOND_VALUE[1]
|
||||
|
||||
# get value after set value without permissive
|
||||
with warnings.catch_warnings(record=True) as w:
|
||||
if isslave:
|
||||
if not kwargs.get('permissive', False) and not kwargs.get('propertyerror', False):
|
||||
assert cfg.config(conf).option(pathread, 0).value.get() == empty_value
|
||||
assert cfg.config(conf).option(pathread, 1).value.get() == second_value
|
||||
assert cfg.config(conf).forcepermissive.option(pathread, 0).value.get() == empty_value
|
||||
assert cfg.config(conf).forcepermissive.option(pathread, 1).value.get() == second_value
|
||||
elif kwargs.get('permissive', False):
|
||||
raises(PropertiesOptionError, "cfg.config(conf).option(pathread, 0).value.get()")
|
||||
assert cfg.config(conf).forcepermissive.option(pathread, 0).value.get() == empty_value
|
||||
if set_permissive:
|
||||
assert cfg.config(conf).forcepermissive.option(pathread, 1).value.get() == second_value
|
||||
else:
|
||||
assert cfg.config(conf).forcepermissive.option(pathread, 1).value.get() == empty_value
|
||||
else:
|
||||
raises(PropertiesOptionError, "cfg.config(conf).option(pathread, 0).value.get()")
|
||||
raises(PropertiesOptionError, "cfg.config(conf).forcepermissive.option(pathread, 0).value.get()")
|
||||
else:
|
||||
if not kwargs.get('permissive', False) and not kwargs.get('propertyerror', False):
|
||||
assert cfg.config(conf).option(pathread).value.get() == first_value
|
||||
assert cfg.config(conf).forcepermissive.option(pathread).value.get() == first_value
|
||||
elif kwargs.get('permissive', False):
|
||||
raises(PropertiesOptionError, "cfg.config(conf).option(pathread).value.get()")
|
||||
if set_permissive:
|
||||
assert cfg.config(conf).forcepermissive.option(pathread).value.get() == first_value
|
||||
else:
|
||||
assert cfg.config(conf).forcepermissive.option(pathread).value.get() == empty_value
|
||||
else:
|
||||
raises(PropertiesOptionError, "cfg.config(conf).option(pathread).value.get()")
|
||||
raises(PropertiesOptionError, "cfg.config(conf).forcepermissive.option(pathread).value.get()")
|
||||
|
||||
|
||||
def _check_owner(cfg, pathread, conf, kwargs, owner, permissive_owner):
|
||||
isslave = cfg.unrestraint.option(pathread).option.isslave()
|
||||
if not isslave:
|
||||
if not kwargs.get('permissive', False) and not kwargs.get('propertyerror', False):
|
||||
assert cfg.config(conf).option(pathread).owner.get() == owner
|
||||
assert cfg.config(conf).forcepermissive.option(pathread).owner.get() == owner
|
||||
elif not kwargs.get('propertyerror', False):
|
||||
raises(PropertiesOptionError, "cfg.config(conf).option(pathread).owner.get()")
|
||||
assert cfg.config(conf).forcepermissive.option(pathread).owner.get() == permissive_owner
|
||||
else:
|
||||
raises(PropertiesOptionError, "cfg.config(conf).option(pathread).owner.get()")
|
||||
raises(PropertiesOptionError, "cfg.config(conf).forcepermissive.option(pathread).owner.get()")
|
||||
else:
|
||||
if not kwargs.get('permissive', False) and not kwargs.get('propertyerror', False):
|
||||
assert cfg.config(conf).option(pathread, 0).owner.get() == 'default'
|
||||
assert cfg.config(conf).forcepermissive.option(pathread, 0).owner.get() == 'default'
|
||||
assert cfg.config(conf).option(pathread, 1).owner.get() == owner
|
||||
assert cfg.config(conf).forcepermissive.option(pathread, 1).owner.get() == owner
|
||||
elif not kwargs.get('propertyerror', False):
|
||||
raises(PropertiesOptionError, "cfg.config(conf).option(pathread, 0).owner.get()")
|
||||
raises(PropertiesOptionError, "cfg.config(conf).option(pathread, 1).owner.get()")
|
||||
assert cfg.config(conf).forcepermissive.option(pathread, 0).owner.get() == 'default'
|
||||
assert cfg.config(conf).forcepermissive.option(pathread, 1).owner.get() == permissive_owner
|
||||
else:
|
||||
raises(PropertiesOptionError, "cfg.config(conf).option(pathread, 0).owner.get()")
|
||||
raises(PropertiesOptionError, "cfg.config(conf).forcepermissive.option(pathread, 0).owner.get()")
|
||||
|
||||
|
||||
@autocheck
|
||||
def autocheck_option_multi(cfg, mcfg, pathread, pathwrite, confread, confwrite, **kwargs):
|
||||
if not kwargs.get('permissive', False) and not kwargs.get('propertyerror', False):
|
||||
@ -110,90 +403,51 @@ def autocheck_default_owner(cfg, mcfg, pathread, pathwrite, confread, confwrite,
|
||||
if not isslave:
|
||||
if not kwargs.get('permissive', False) and not kwargs.get('propertyerror', False):
|
||||
assert cfg.config(conf).option(pathread).owner.get() == 'default'
|
||||
assert cfg.forcepermissive.config(conf).option(pathread).owner.get() == 'default'
|
||||
assert cfg.config(conf).forcepermissive.option(pathread).owner.get() == 'default'
|
||||
#
|
||||
assert cfg.config(conf).option(pathread).owner.isdefault()
|
||||
assert cfg.forcepermissive.config(conf).option(pathread).owner.isdefault()
|
||||
assert cfg.config(conf).forcepermissive.option(pathread).owner.isdefault()
|
||||
elif not kwargs.get('propertyerror', False):
|
||||
raises(PropertiesOptionError, "cfg.config(conf).option(pathread).owner.get()")
|
||||
assert cfg.forcepermissive.config(conf).option(pathread).owner.get() == 'default'
|
||||
assert cfg.config(conf).forcepermissive.option(pathread).owner.get() == 'default'
|
||||
#
|
||||
raises(PropertiesOptionError, "cfg.config(conf).option(pathread).owner.isdefault()")
|
||||
assert cfg.forcepermissive.config(conf).option(pathread).owner.isdefault()
|
||||
assert cfg.config(conf).forcepermissive.option(pathread).owner.isdefault()
|
||||
else:
|
||||
raises(PropertiesOptionError, "cfg.config(conf).option(pathread).owner.get()")
|
||||
raises(PropertiesOptionError, "cfg.forcepermissive.config(conf).option(pathread).owner.get()")
|
||||
raises(PropertiesOptionError, "cfg.config(conf).forcepermissive.option(pathread).owner.get()")
|
||||
#
|
||||
raises(PropertiesOptionError, "cfg.config(conf).option(pathread).owner.isdefault()")
|
||||
raises(PropertiesOptionError, "cfg.forcepermissive.config(conf).option(pathread).owner.isdefault()")
|
||||
raises(PropertiesOptionError, "cfg.config(conf).forcepermissive.option(pathread).owner.isdefault()")
|
||||
#
|
||||
assert cfg.unrestraint.config(conf).option(pathread).owner.get() == 'default'
|
||||
assert cfg.unrestraint.config(conf).option(pathread).owner.isdefault()
|
||||
assert cfg.config(conf).unrestraint.option(pathread).owner.get() == 'default'
|
||||
assert cfg.config(conf).unrestraint.option(pathread).owner.isdefault()
|
||||
else:
|
||||
if not kwargs.get('permissive', False) and not kwargs.get('propertyerror', False):
|
||||
assert cfg.config(conf).option(pathread, 0).owner.get() == 'default'
|
||||
assert cfg.forcepermissive.config(conf).option(pathread, 0).owner.get() == 'default'
|
||||
assert cfg.config(conf).forcepermissive.option(pathread, 0).owner.get() == 'default'
|
||||
#
|
||||
assert cfg.config(conf).option(pathread, 0).owner.isdefault()
|
||||
assert cfg.forcepermissive.config(conf).option(pathread, 0).owner.isdefault()
|
||||
assert cfg.config(conf).forcepermissive.option(pathread, 0).owner.isdefault()
|
||||
elif not kwargs.get('propertyerror', False):
|
||||
raises(PropertiesOptionError, "cfg.config(conf).option(pathread, 0).owner.get()")
|
||||
assert cfg.forcepermissive.config(conf).option(pathread, 0).owner.get() == 'default'
|
||||
assert cfg.config(conf).forcepermissive.option(pathread, 0).owner.get() == 'default'
|
||||
#
|
||||
raises(PropertiesOptionError, "cfg.config(conf).option(pathread, 0).owner.isdefault()")
|
||||
assert cfg.forcepermissive.config(conf).option(pathread, 0).owner.isdefault()
|
||||
assert cfg.config(conf).forcepermissive.option(pathread, 0).owner.isdefault()
|
||||
else:
|
||||
raises(PropertiesOptionError, "cfg.config(conf).option(pathread, 0).owner.get()")
|
||||
raises(PropertiesOptionError, "cfg.forcepermissive.config(conf).option(pathread, 0).owner.get()")
|
||||
raises(PropertiesOptionError, "cfg.config(conf).forcepermissive.option(pathread, 0).owner.get()")
|
||||
#
|
||||
raises(PropertiesOptionError, "cfg.config(conf).option(pathread, 0).owner.isdefault()")
|
||||
raises(PropertiesOptionError, "cfg.forcepermissive.config(conf).option(pathread, 0).owner.isdefault()")
|
||||
assert cfg.unrestraint.config(conf).option(pathread, 0).owner.get() == 'default'
|
||||
assert cfg.unrestraint.config(conf).option(pathread, 0).owner.isdefault()
|
||||
raises(PropertiesOptionError, "cfg.config(conf).forcepermissive.option(pathread, 0).owner.isdefault()")
|
||||
assert cfg.config(conf).unrestraint.option(pathread, 0).owner.get() == 'default'
|
||||
assert cfg.config(conf).unrestraint.option(pathread, 0).owner.isdefault()
|
||||
do(confread)
|
||||
if confread != confwrite:
|
||||
do(confwrite)
|
||||
|
||||
|
||||
def _autocheck_default_value(cfg, path, conf, **kwargs):
|
||||
"""set and get values
|
||||
"""
|
||||
# check if is a multi, a master or a slave
|
||||
multi = cfg.unrestraint.option(path).option.ismulti()
|
||||
submulti_ = cfg.unrestraint.option(path).option.issubmulti()
|
||||
isslave = cfg.unrestraint.option(path).option.isslave()
|
||||
|
||||
# set default value (different if value is multi or not)
|
||||
empty_value = kwargs['default']
|
||||
|
||||
# test default value (should be empty)
|
||||
# cannot test for slave (we cannot get all values for a slave)
|
||||
with warnings.catch_warnings(record=True) as w:
|
||||
if not isslave:
|
||||
if not kwargs.get('permissive', False) and not kwargs.get('propertyerror', False):
|
||||
assert cfg.config(conf).option(path).value.get() == empty_value
|
||||
assert cfg.forcepermissive.config(conf).option(path).value.get() == empty_value
|
||||
elif not kwargs.get('propertyerror', False):
|
||||
raises(PropertiesOptionError, "cfg.config(conf).option(path).value.get()")
|
||||
assert cfg.forcepermissive.config(conf).option(path).value.get() == empty_value
|
||||
else:
|
||||
raises(PropertiesOptionError, "cfg.config(conf).option(path).value.get()")
|
||||
raises(PropertiesOptionError, "cfg.forcepermissive.config(conf).option(path).value.get()")
|
||||
else:
|
||||
if not kwargs.get('permissive', False) and not kwargs.get('propertyerror', False):
|
||||
assert cfg.config(conf).option(path, 0).value.get() == empty_value
|
||||
assert cfg.config(conf).option(path, 1).value.get() == empty_value
|
||||
assert cfg.forcepermissive.config(conf).option(path, 0).value.get() == empty_value
|
||||
assert cfg.forcepermissive.config(conf).option(path, 1).value.get() == empty_value
|
||||
elif not kwargs.get('propertyerror', False):
|
||||
raises(PropertiesOptionError, "cfg.config(conf).option(path, 0).value.get()")
|
||||
assert cfg.forcepermissive.config(conf).option(path, 0).value.get() == empty_value
|
||||
assert cfg.forcepermissive.config(conf).option(path, 1).value.get() == empty_value
|
||||
else:
|
||||
raises(PropertiesOptionError, "cfg.config(conf).option(path, 0).value.get()")
|
||||
raises(PropertiesOptionError, "cfg.forcepermissive.config(conf).option(path, 0).value.get()")
|
||||
|
||||
|
||||
@autocheck
|
||||
def autocheck_default_value(cfg, mcfg, pathread, pathwrite, confread, confwrite, **kwargs):
|
||||
_autocheck_default_value(cfg, pathread, confread, **kwargs)
|
||||
@ -202,79 +456,6 @@ def autocheck_default_value(cfg, mcfg, pathread, pathwrite, confread, confwrite,
|
||||
|
||||
|
||||
|
||||
def _set_value(cfg, pathwrite, conf, **kwargs):
|
||||
set_permissive = kwargs.get('set_permissive', True)
|
||||
multi = cfg.unrestraint.option(pathwrite).option.ismulti()
|
||||
submulti_ = cfg.unrestraint.option(pathwrite).option.issubmulti()
|
||||
ismaster = cfg.unrestraint.option(pathwrite).option.ismaster()
|
||||
isslave = cfg.unrestraint.option(pathwrite).option.isslave()
|
||||
if not multi:
|
||||
first_value = FIRST_VALUE
|
||||
elif submulti_ is False:
|
||||
if not isslave:
|
||||
first_value = LIST_FIRST_VALUE
|
||||
else:
|
||||
second_value = LIST_SECOND_VALUE[1]
|
||||
|
||||
else:
|
||||
if not isslave:
|
||||
first_value = SUBLIST_FIRST_VALUE
|
||||
else:
|
||||
second_value = SUBLIST_SECOND_VALUE[1]
|
||||
|
||||
# for slave should have an index and good length
|
||||
# for master must append, not set
|
||||
with warnings.catch_warnings(record=True) as w:
|
||||
if ismaster:
|
||||
if not kwargs.get('permissive', False) and not kwargs.get('propertyerror', False):
|
||||
raises(APIError, "cfg.config(conf).option(pathwrite, 0).value.set(first_value[0])")
|
||||
if not set_permissive:
|
||||
cfg.config(conf).option(pathwrite).value.set([first_value[0]])
|
||||
else:
|
||||
cfg.forcepermissive.config(conf).option(pathwrite).value.set([first_value[0]])
|
||||
elif not kwargs.get('propertyerror', False):
|
||||
raises(PropertiesOptionError, "cfg.config(conf).option(pathwrite).value.set([first_value[0]])")
|
||||
if set_permissive:
|
||||
cfg.forcepermissive.config(conf).option(pathwrite).value.set([first_value[0]])
|
||||
else:
|
||||
raises(PropertiesOptionError, "cfg.config(conf).option(pathwrite).value.set([first_value[0]])")
|
||||
raises(PropertiesOptionError,
|
||||
"cfg.forcepermissive.config(conf).option(pathwrite).value.set([first_value[0]])")
|
||||
if len(first_value) > 1:
|
||||
raises(APIError, "cfg.unrestraint.config(conf).option(pathwrite).value.set(first_value[1])")
|
||||
elif isslave:
|
||||
if not kwargs.get('permissive', False) and not kwargs.get('propertyerror', False):
|
||||
if not set_permissive:
|
||||
cfg.config(conf).option(pathwrite, 1).value.set(second_value)
|
||||
else:
|
||||
cfg.forcepermissive.config(conf).option(pathwrite, 1).value.set(second_value)
|
||||
elif not kwargs.get('propertyerror', False):
|
||||
raises(PropertiesOptionError, "cfg.config(conf).option(pathwrite, 1).value.set(second_value)")
|
||||
if set_permissive:
|
||||
cfg.forcepermissive.config(conf).option(pathwrite, 1).value.set(second_value)
|
||||
else:
|
||||
raises(PropertiesOptionError, "cfg.config(conf).option(pathwrite, 1).value.set(second_value)")
|
||||
raises(PropertiesOptionError,
|
||||
"cfg.forcepermissive.config(conf).option(pathwrite, 1).value.set(second_value)")
|
||||
raises(APIError,
|
||||
"cfg.unrestraint.config(conf).option(pathwrite).value.set([second_value, second_value])")
|
||||
|
||||
else:
|
||||
if not kwargs.get('permissive', False) and not kwargs.get('propertyerror', False):
|
||||
if not set_permissive:
|
||||
cfg.config(conf).option(pathwrite).value.set(first_value)
|
||||
else:
|
||||
cfg.forcepermissive.config(conf).option(pathwrite).value.set(first_value)
|
||||
elif not kwargs.get('propertyerror', False):
|
||||
raises(PropertiesOptionError, "cfg.config(conf).option(pathwrite).value.set(first_value)")
|
||||
if set_permissive:
|
||||
cfg.forcepermissive.config(conf).option(pathwrite).value.set(first_value)
|
||||
else:
|
||||
raises(PropertiesOptionError, "cfg.config(conf).option(pathwrite).value.set(first_value)")
|
||||
raises(PropertiesOptionError, "cfg.forcepermissive.config(conf).option(pathwrite).value.set(first_value)")
|
||||
#FIXME raises(APIError, "cfg.unrestraint.config(conf).option(pathwrite).value.set(first_value)")
|
||||
|
||||
|
||||
@autocheck
|
||||
def autocheck_set_value(cfg, mcfg, pathread, pathwrite, confread, confwrite, **kwargs):
|
||||
_set_value(cfg, pathwrite, confwrite, **kwargs)
|
||||
@ -299,96 +480,43 @@ def autocheck_get_value_permissive(cfg, mcfg, pathread, pathwrite, confread, con
|
||||
if isslave:
|
||||
if not kwargs.get('permissive', False) and not kwargs.get('propertyerror', False):
|
||||
assert cfg.config(conf).option(pathread, 0).value.get() == empty_value
|
||||
assert cfg.forcepermissive.config(conf).option(pathread, 0).value.get() == empty_value
|
||||
assert cfg.config(conf).forcepermissive.option(pathread, 0).value.get() == empty_value
|
||||
if submulti_:
|
||||
assert cfg.config(conf).option(pathread, 1).value.get() == SUBLIST_SECOND_VALUE[1]
|
||||
assert cfg.forcepermissive.config(conf).option(pathread, 1).value.get() == SUBLIST_SECOND_VALUE[1]
|
||||
assert cfg.config(conf).forcepermissive.option(pathread, 1).value.get() == SUBLIST_SECOND_VALUE[1]
|
||||
else:
|
||||
assert cfg.config(conf).option(pathread, 1).value.get() == LIST_SECOND_VALUE[1]
|
||||
assert cfg.forcepermissive.config(conf).option(pathread, 1).value.get() == LIST_SECOND_VALUE[1]
|
||||
assert cfg.config(conf).forcepermissive.option(pathread, 1).value.get() == LIST_SECOND_VALUE[1]
|
||||
elif kwargs.get('permissive', False):
|
||||
raises(PropertiesOptionError, "assert cfg.config(conf).option(pathread, 0).value.get()")
|
||||
raises(PropertiesOptionError, "assert cfg.config(conf).option(pathread, 1).value.get()")
|
||||
assert cfg.forcepermissive.config(conf).option(pathread, 0).value.get() == empty_value
|
||||
assert cfg.config(conf).forcepermissive.option(pathread, 0).value.get() == empty_value
|
||||
if submulti_:
|
||||
assert cfg.forcepermissive.config(conf).option(pathread, 1).value.get() == SUBLIST_SECOND_VALUE[1]
|
||||
assert cfg.config(conf).forcepermissive.option(pathread, 1).value.get() == SUBLIST_SECOND_VALUE[1]
|
||||
else:
|
||||
assert cfg.forcepermissive.config(conf).option(pathread, 1).value.get() == LIST_SECOND_VALUE[1]
|
||||
assert cfg.config(conf).forcepermissive.option(pathread, 1).value.get() == LIST_SECOND_VALUE[1]
|
||||
else:
|
||||
raises(PropertiesOptionError, "assert cfg.config(conf).option(pathread, 0).value.get()")
|
||||
raises(PropertiesOptionError, "assert cfg.config(conf).option(pathread, 1).value.get()")
|
||||
raises(PropertiesOptionError, "assert cfg.forcepermissive.config(conf).option(pathread, 0).value.get()")
|
||||
raises(PropertiesOptionError, "assert cfg.forcepermissive.config(conf).option(pathread, 1).value.get()")
|
||||
raises(PropertiesOptionError, "assert cfg.config(conf).forcepermissive.option(pathread, 0).value.get()")
|
||||
raises(PropertiesOptionError, "assert cfg.config(conf).forcepermissive.option(pathread, 1).value.get()")
|
||||
else:
|
||||
if not kwargs.get('permissive', False) and not kwargs.get('propertyerror', False):
|
||||
with warnings.catch_warnings(record=True) as w:
|
||||
assert cfg.config(conf).option(pathread).value.get() == first_value
|
||||
assert cfg.forcepermissive.config(conf).option(pathread).value.get() == first_value
|
||||
assert cfg.config(conf).forcepermissive.option(pathread).value.get() == first_value
|
||||
elif kwargs.get('permissive', False):
|
||||
raises(PropertiesOptionError, "cfg.config(conf).option(pathread).value.get()")
|
||||
assert cfg.forcepermissive.config(conf).option(pathread).value.get() == first_value
|
||||
assert cfg.config(conf).forcepermissive.option(pathread).value.get() == first_value
|
||||
else:
|
||||
raises(PropertiesOptionError, "cfg.config(conf).option(pathread).value.get()")
|
||||
raises(PropertiesOptionError, "cfg.forcepermissive.config(conf).option(pathread).value.get()")
|
||||
raises(PropertiesOptionError, "cfg.config(conf).forcepermissive.option(pathread).value.get()")
|
||||
with warnings.catch_warnings(record=True) as w:
|
||||
do(confread)
|
||||
if confread != confwrite:
|
||||
do(confwrite)
|
||||
|
||||
|
||||
def _autocheck_get_value(cfg, pathread, conf, **kwargs):
|
||||
set_permissive = kwargs.get('set_permissive', True)
|
||||
multi = cfg.unrestraint.option(pathread).option.ismulti()
|
||||
submulti_ = cfg.unrestraint.option(pathread).option.issubmulti()
|
||||
isslave = cfg.unrestraint.option(pathread).option.isslave()
|
||||
empty_value = kwargs['default']
|
||||
if not multi:
|
||||
first_value = FIRST_VALUE
|
||||
elif submulti_ is False:
|
||||
if not isslave:
|
||||
first_value = LIST_FIRST_VALUE
|
||||
else:
|
||||
second_value = LIST_SECOND_VALUE[1]
|
||||
|
||||
else:
|
||||
if not isslave:
|
||||
first_value = SUBLIST_FIRST_VALUE
|
||||
else:
|
||||
second_value = SUBLIST_SECOND_VALUE[1]
|
||||
|
||||
# get value after set value without permissive
|
||||
with warnings.catch_warnings(record=True) as w:
|
||||
if isslave:
|
||||
if not kwargs.get('permissive', False) and not kwargs.get('propertyerror', False):
|
||||
assert cfg.config(conf).option(pathread, 0).value.get() == empty_value
|
||||
assert cfg.config(conf).option(pathread, 1).value.get() == second_value
|
||||
assert cfg.forcepermissive.config(conf).option(pathread, 0).value.get() == empty_value
|
||||
assert cfg.forcepermissive.config(conf).option(pathread, 1).value.get() == second_value
|
||||
elif kwargs.get('permissive', False):
|
||||
raises(PropertiesOptionError, "cfg.config(conf).option(pathread, 0).value.get()")
|
||||
assert cfg.forcepermissive.config(conf).option(pathread, 0).value.get() == empty_value
|
||||
if set_permissive:
|
||||
assert cfg.forcepermissive.config(conf).option(pathread, 1).value.get() == second_value
|
||||
else:
|
||||
assert cfg.forcepermissive.config(conf).option(pathread, 1).value.get() == empty_value
|
||||
else:
|
||||
raises(PropertiesOptionError, "cfg.config(conf).option(pathread, 0).value.get()")
|
||||
raises(PropertiesOptionError, "cfg.forcepermissive.config(conf).option(pathread, 0).value.get()")
|
||||
else:
|
||||
if not kwargs.get('permissive', False) and not kwargs.get('propertyerror', False):
|
||||
assert cfg.config(conf).option(pathread).value.get() == first_value
|
||||
assert cfg.forcepermissive.config(conf).option(pathread).value.get() == first_value
|
||||
elif kwargs.get('permissive', False):
|
||||
raises(PropertiesOptionError, "cfg.config(conf).option(pathread).value.get()")
|
||||
if set_permissive:
|
||||
assert cfg.forcepermissive.config(conf).option(pathread).value.get() == first_value
|
||||
else:
|
||||
assert cfg.forcepermissive.config(conf).option(pathread).value.get() == empty_value
|
||||
else:
|
||||
raises(PropertiesOptionError, "cfg.config(conf).option(pathread).value.get()")
|
||||
raises(PropertiesOptionError, "cfg.forcepermissive.config(conf).option(pathread).value.get()")
|
||||
|
||||
|
||||
@autocheck
|
||||
def autocheck_get_value(cfg, mcfg, pathread, pathwrite, confread, confwrite, **kwargs):
|
||||
_set_value(cfg, pathwrite, confwrite, set_permissive=False, **kwargs)
|
||||
@ -407,7 +535,7 @@ def autocheck_value_slave(cfg, mcfg, pathread, pathwrite, confread, confwrite, *
|
||||
isslave = cfg.unrestraint.option(pathread).option.isslave()
|
||||
if not isslave:
|
||||
if kwargs.get('propertyerror', False):
|
||||
raises(APIError, "cfg.unrestraint.config(confread).option(pathread).value.len()")
|
||||
raises(APIError, "cfg.config(confread).unrestraint.option(pathread).value.len()")
|
||||
return
|
||||
if kwargs.get('propertyerror', False):
|
||||
raises(PropertiesOptionError, "cfg.option(pathread).value.len()")
|
||||
@ -421,10 +549,10 @@ def autocheck_value_slave(cfg, mcfg, pathread, pathwrite, confread, confwrite, *
|
||||
def do(conf):
|
||||
if not kwargs.get('permissive', False):
|
||||
length = cfg.config(conf).option(pathread).value.len()
|
||||
assert cfg.forcepermissive.config(conf).option(pathread).value.len() == length
|
||||
assert cfg.config(conf).forcepermissive.option(pathread).value.len() == length
|
||||
else:
|
||||
raises(PropertiesOptionError, "cfg.config(conf).option(pathread).value.len()")
|
||||
length = cfg.forcepermissive.config(conf).option(pathread).value.len()
|
||||
length = cfg.config(conf).forcepermissive.option(pathread).value.len()
|
||||
assert length == 2
|
||||
do(confread)
|
||||
if confread != confwrite:
|
||||
@ -494,14 +622,14 @@ def autocheck_reset_value(cfg, mcfg, pathread, pathwrite, confread, confwrite, *
|
||||
assert cfg.config(conf).option(pathread, 1).value.get() == second_value[1]
|
||||
elif kwargs.get('permissive', False):
|
||||
raises(PropertiesOptionError, "cfg.config(conf).option(pathread, 0).value.get()")
|
||||
assert cfg.forcepermissive.config(conf).option(pathread, 0).value.get() == empty_value
|
||||
assert cfg.forcepermissive.config(conf).option(pathread, 1).value.get() == second_value[1]
|
||||
assert cfg.config(conf).forcepermissive.option(pathread, 0).value.get() == empty_value
|
||||
assert cfg.config(conf).forcepermissive.option(pathread, 1).value.get() == second_value[1]
|
||||
else:
|
||||
if not kwargs.get('permissive', False) and not kwargs.get('propertyerror', False):
|
||||
assert cfg.config(conf).option(pathread).value.get() == empty_value
|
||||
elif kwargs.get('permissive', False):
|
||||
raises(PropertiesOptionError, "cfg.config(conf).option(pathread).value.get()")
|
||||
assert cfg.forcepermissive.config(conf).option(pathread).value.get() == first_value
|
||||
assert cfg.config(conf).forcepermissive.option(pathread).value.get() == first_value
|
||||
with warnings.catch_warnings(record=True) as w:
|
||||
do(confread)
|
||||
if confread != confwrite:
|
||||
@ -517,13 +645,13 @@ def autocheck_append_value(cfg, mcfg, pathread, pathwrite, confread, confwrite,
|
||||
|
||||
with warnings.catch_warnings(record=True) as w:
|
||||
if not kwargs.get('propertyerror', False):
|
||||
master_value = cfg.forcepermissive.config(confread).option(pathread).value.get()
|
||||
master_value = cfg.config(confread).forcepermissive.option(pathread).value.get()
|
||||
len_value = len(master_value)
|
||||
master_value.append(undefined)
|
||||
assert len(cfg.forcepermissive.config(confread).option(pathread).value.get()) == len_value
|
||||
assert len(cfg.config(confread).forcepermissive.option(pathread).value.get()) == len_value
|
||||
with warnings.catch_warnings(record=True) as w:
|
||||
cfg.forcepermissive.config(confwrite).option(pathread).value.set(master_value)
|
||||
new_master_value = cfg.forcepermissive.config(confread).option(pathread).value.get()
|
||||
new_master_value = cfg.config(confread).forcepermissive.option(pathread).value.get()
|
||||
len_new = len(new_master_value)
|
||||
assert len_value + 1 == len_new
|
||||
assert new_master_value[-1] == kwargs['default_multi']
|
||||
@ -533,16 +661,16 @@ def autocheck_append_value(cfg, mcfg, pathread, pathwrite, confread, confwrite,
|
||||
else:
|
||||
slave_path += '.third'
|
||||
for idx in range(len_new):
|
||||
assert cfg.forcepermissive.config(confread).option(slave_path, idx).value.get() == kwargs['default_multi']
|
||||
assert cfg.config(confread).forcepermissive.option(slave_path, idx).value.get() == kwargs['default_multi']
|
||||
#
|
||||
if not submulti_:
|
||||
value = 'value'
|
||||
else:
|
||||
value = ['value']
|
||||
master_value.append(value)
|
||||
assert len(cfg.forcepermissive.config(confread).option(pathread).value.get()) == len(new_master_value)
|
||||
assert len(cfg.config(confread).forcepermissive.option(pathread).value.get()) == len(new_master_value)
|
||||
cfg.forcepermissive.config(confwrite).option(pathread).value.set(master_value)
|
||||
assert cfg.forcepermissive.config(confread).option(pathread).value.get()[-1] == value
|
||||
assert cfg.config(confread).forcepermissive.option(pathread).value.get()[-1] == value
|
||||
|
||||
|
||||
@autocheck
|
||||
@ -568,32 +696,32 @@ def autocheck_pop_value(cfg, mcfg, pathread, pathwrite, confread, confwrite, **k
|
||||
with warnings.catch_warnings(record=True) as w:
|
||||
cfg.forcepermissive.config(confwrite).option(pathread).value.set(values)
|
||||
cfg.forcepermissive.config(confwrite).option(a_slave, 1).value.set(slave_value)
|
||||
cfg.forcepermissive.config(confread).option(a_slave, 0).value.get() == kwargs['default_multi']
|
||||
assert cfg.forcepermissive.config(confread).option(a_slave, 0).owner.isdefault() is True
|
||||
cfg.forcepermissive.config(confread).option(a_slave, 1).value.get() == slave_value
|
||||
assert cfg.forcepermissive.config(confread).option(a_slave, 1).owner.isdefault() is False
|
||||
cfg.forcepermissive.config(confread).option(a_slave, 2).value.get() == kwargs['default_multi']
|
||||
assert cfg.forcepermissive.config(confread).option(a_slave, 2).owner.isdefault() is True
|
||||
cfg.forcepermissive.config(confread).option(a_slave, 3).value.get() == kwargs['default_multi']
|
||||
assert cfg.forcepermissive.config(confread).option(a_slave, 3).owner.isdefault() is True
|
||||
cfg.config(confread).forcepermissive.option(a_slave, 0).value.get() == kwargs['default_multi']
|
||||
assert cfg.config(confread).forcepermissive.option(a_slave, 0).owner.isdefault() is True
|
||||
cfg.config(confread).forcepermissive.option(a_slave, 1).value.get() == slave_value
|
||||
assert cfg.config(confread).forcepermissive.option(a_slave, 1).owner.isdefault() is False
|
||||
cfg.config(confread).forcepermissive.option(a_slave, 2).value.get() == kwargs['default_multi']
|
||||
assert cfg.config(confread).forcepermissive.option(a_slave, 2).owner.isdefault() is True
|
||||
cfg.config(confread).forcepermissive.option(a_slave, 3).value.get() == kwargs['default_multi']
|
||||
assert cfg.config(confread).forcepermissive.option(a_slave, 3).owner.isdefault() is True
|
||||
#
|
||||
cfg.forcepermissive.config(confwrite).option(pathread).value.pop(3)
|
||||
cfg.forcepermissive.config(confread).option(a_slave, 0).value.get() == kwargs['default_multi']
|
||||
assert cfg.forcepermissive.config(confread).option(a_slave, 0).owner.isdefault() is True
|
||||
cfg.forcepermissive.config(confread).option(a_slave, 1).value.get() == slave_value
|
||||
assert cfg.forcepermissive.config(confread).option(a_slave, 1).owner.isdefault() is False
|
||||
cfg.forcepermissive.config(confread).option(a_slave, 2).value.get() == kwargs['default_multi']
|
||||
assert cfg.forcepermissive.config(confread).option(a_slave, 2).owner.isdefault() is True
|
||||
cfg.config(confread).forcepermissive.option(a_slave, 0).value.get() == kwargs['default_multi']
|
||||
assert cfg.config(confread).forcepermissive.option(a_slave, 0).owner.isdefault() is True
|
||||
cfg.config(confread).forcepermissive.option(a_slave, 1).value.get() == slave_value
|
||||
assert cfg.config(confread).forcepermissive.option(a_slave, 1).owner.isdefault() is False
|
||||
cfg.config(confread).forcepermissive.option(a_slave, 2).value.get() == kwargs['default_multi']
|
||||
assert cfg.config(confread).forcepermissive.option(a_slave, 2).owner.isdefault() is True
|
||||
#
|
||||
cfg.forcepermissive.config(confwrite).option(pathread).value.pop(0)
|
||||
cfg.forcepermissive.config(confread).option(a_slave, 0).value.get() == slave_value
|
||||
assert cfg.forcepermissive.config(confread).option(a_slave, 0).owner.isdefault() is False
|
||||
cfg.forcepermissive.config(confread).option(a_slave, 1).value.get() == kwargs['default_multi']
|
||||
assert cfg.forcepermissive.config(confread).option(a_slave, 1).owner.isdefault() is True
|
||||
cfg.config(confread).forcepermissive.option(a_slave, 0).value.get() == slave_value
|
||||
assert cfg.config(confread).forcepermissive.option(a_slave, 0).owner.isdefault() is False
|
||||
cfg.config(confread).forcepermissive.option(a_slave, 1).value.get() == kwargs['default_multi']
|
||||
assert cfg.config(confread).forcepermissive.option(a_slave, 1).owner.isdefault() is True
|
||||
#
|
||||
cfg.forcepermissive.config(confwrite).option(pathread).value.pop(0)
|
||||
cfg.forcepermissive.config(confread).option(a_slave, 0).value.get() == kwargs['default_multi']
|
||||
assert cfg.forcepermissive.config(confread).option(a_slave, 0).owner.isdefault() is True
|
||||
cfg.config(confread).forcepermissive.option(a_slave, 0).value.get() == kwargs['default_multi']
|
||||
assert cfg.config(confread).forcepermissive.option(a_slave, 0).owner.isdefault() is True
|
||||
|
||||
|
||||
@autocheck
|
||||
@ -640,69 +768,6 @@ def autocheck_display(cfg, mcfg, pathread, pathwrite, confread, confwrite, **kwa
|
||||
assert(cfg.config(confwrite).config.dict()) == make_dict_value
|
||||
|
||||
|
||||
def _getproperties(multi, isslave, kwargs):
|
||||
# define properties
|
||||
properties = copy(PROPERTIES_LIST)
|
||||
if multi and not isslave:
|
||||
default_props = ['empty']
|
||||
properties.append('empty')
|
||||
else:
|
||||
default_props = []
|
||||
extra_properties = kwargs.get('extra_properties')
|
||||
if extra_properties:
|
||||
properties.extend(extra_properties)
|
||||
default_props.extend(extra_properties)
|
||||
return default_props, frozenset(properties)
|
||||
|
||||
|
||||
def _check_properties(cfg, mcfg, pathread, conf, kwargs, props_permissive, props):
|
||||
if not cfg.unrestraint.option(pathread).option.isslave():
|
||||
if not kwargs.get('permissive', False) and not kwargs.get('propertyerror', False):
|
||||
assert set(cfg.config(conf).option(pathread).property.get()) == set(props_permissive)
|
||||
assert set(cfg.config(conf).option(pathread).property.get()) == set(props)
|
||||
else:
|
||||
raises(PropertiesOptionError, "cfg.config(conf).option(pathread).property.get()")
|
||||
raises(PropertiesOptionError, "cfg.config(conf).option(pathread).property.get()")
|
||||
if not kwargs.get('propertyerror', False):
|
||||
assert set(cfg.forcepermissive.config(conf).option(pathread).property.get()) == set(props_permissive)
|
||||
assert set(cfg.forcepermissive.config(conf).option(pathread).property.get()) == set(props)
|
||||
else:
|
||||
assert PropertiesOptionError, "cfg.forcepermissive.config(conf).option(pathread).property.get()"
|
||||
assert PropertiesOptionError, "cfg.forcepermissive.config(conf).option(pathread).property.get()"
|
||||
assert set(cfg.unrestraint.config(conf).option(pathread).property.get()) == set(props_permissive)
|
||||
assert set(cfg.unrestraint.config(conf).option(pathread).property.get()) == set(props)
|
||||
else:
|
||||
if not kwargs.get('permissive', False) and not kwargs.get('propertyerror', False):
|
||||
assert set(cfg.config(conf).option(pathread, 0).property.get()) == set(props_permissive)
|
||||
assert set(cfg.config(conf).option(pathread, 0).property.get()) == set(props)
|
||||
#
|
||||
assert set(cfg.config(conf).option(pathread, 1).property.get()) == set(props_permissive)
|
||||
assert set(cfg.config(conf).option(pathread, 1).property.get()) == set(props)
|
||||
else:
|
||||
raises(PropertiesOptionError, "cfg.config(conf).option(pathread, 0).property.get()")
|
||||
raises(PropertiesOptionError, "cfg.config(conf).option(pathread, 0).property.get()")
|
||||
#
|
||||
raises(PropertiesOptionError, "cfg.config(conf).option(pathread, 1).property.get()")
|
||||
raises(PropertiesOptionError, "cfg.config(conf).option(pathread, 1).property.get()")
|
||||
if not kwargs.get('propertyerror', False):
|
||||
assert set(cfg.forcepermissive.config(conf).option(pathread, 0).property.get()) == set(props_permissive)
|
||||
assert set(cfg.forcepermissive.config(conf).option(pathread, 0).property.get()) == set(props)
|
||||
#
|
||||
assert set(cfg.forcepermissive.config(conf).option(pathread, 1).property.get()) == set(props_permissive)
|
||||
assert set(cfg.forcepermissive.config(conf).option(pathread, 1).property.get()) == set(props)
|
||||
else:
|
||||
raises(PropertiesOptionError, "cfg.forcepermissive.config(conf).option(pathread, 0).property.get()")
|
||||
raises(PropertiesOptionError, "cfg.forcepermissive.config(conf).option(pathread, 0).property.get()")
|
||||
#
|
||||
raises(PropertiesOptionError, "cfg.forcepermissive.config(conf).option(pathread, 1).property.get()")
|
||||
raises(PropertiesOptionError, "cfg.forcepermissive.config(conf).option(pathread, 1).property.get()")
|
||||
assert set(cfg.unrestraint.config(conf).option(pathread, 0).property.get()) == set(props_permissive)
|
||||
assert set(cfg.unrestraint.config(conf).option(pathread, 0).property.get()) == set(props)
|
||||
#
|
||||
assert set(cfg.unrestraint.config(conf).option(pathread, 1).property.get()) == set(props_permissive)
|
||||
assert set(cfg.unrestraint.config(conf).option(pathread, 1).property.get()) == set(props)
|
||||
|
||||
|
||||
@autocheck
|
||||
def autocheck_property(cfg, mcfg, pathread, pathwrite, confread, confwrite, **kwargs):
|
||||
"""get property from path
|
||||
@ -713,52 +778,19 @@ def autocheck_property(cfg, mcfg, pathread, pathwrite, confread, confwrite, **kw
|
||||
|
||||
default_props, properties = _getproperties(multi, isslave, kwargs)
|
||||
|
||||
_check_properties(cfg, mcfg, pathread, confread, kwargs, default_props, default_props)
|
||||
if confread != confwrite:
|
||||
if confread == confwrite:
|
||||
_check_properties(cfg, mcfg, pathread, confread, kwargs, default_props, default_props)
|
||||
else:
|
||||
_check_properties(cfg, mcfg, pathread, confwrite, kwargs, default_props, default_props)
|
||||
|
||||
# set properties without permissive
|
||||
for prop in properties:
|
||||
cfg.unrestraint.config(confread).option(pathwrite).property.add(prop)
|
||||
_check_properties(cfg, mcfg, pathread, confread, kwargs, properties, properties)
|
||||
#if confread != confwrite:
|
||||
# _check_properties(cfg, mcfg, pathread, confwrite, kwargs, properties, properties)
|
||||
|
||||
|
||||
|
||||
def _property_permissive(cfg, mcfg, pathread, pathwrite, confread, confwrite, **kwargs):
|
||||
# check if is a multi or a slave
|
||||
multi = cfg.unrestraint.option(pathread).option.ismulti()
|
||||
isslave = cfg.unrestraint.option(pathread).option.isslave()
|
||||
|
||||
# define properties
|
||||
properties = copy(PROPERTIES_LIST)
|
||||
if multi and not isslave:
|
||||
default_props = ['empty']
|
||||
properties.append('empty')
|
||||
cfg.unrestraint.config(confwrite).option(pathwrite).property.add(prop)
|
||||
if confread == confwrite:
|
||||
_check_properties(cfg, mcfg, pathread, confread, kwargs, properties, properties)
|
||||
else:
|
||||
default_props = []
|
||||
extra_properties = kwargs.get('extra_properties')
|
||||
if extra_properties:
|
||||
properties.extend(extra_properties)
|
||||
default_props.extend(extra_properties)
|
||||
default_props, properties = _getproperties(multi, isslave, kwargs)
|
||||
_check_properties(cfg, mcfg, pathread, confwrite, kwargs, properties, properties)
|
||||
|
||||
_check_properties(cfg, mcfg, pathread, confwrite, kwargs, default_props, default_props)
|
||||
#if confwrite != confread:
|
||||
# _check_properties(cfg, mcfg, pathread, confread, kwargs, default_props, default_props)
|
||||
|
||||
# set properties with permissive
|
||||
for prop in properties:
|
||||
if not kwargs.get('permissive', False) and not kwargs.get('propertyerror', False):
|
||||
cfg.config(confread).option(pathwrite).property.add(prop)
|
||||
if not kwargs.get('propertyerror', False):
|
||||
cfg.forcepermissive.config(confread).option(pathwrite).property.add(prop)
|
||||
cfg.unrestraint.config(confread).option(pathwrite).property.add(prop)
|
||||
|
||||
_check_properties(cfg, mcfg, pathread, confwrite, kwargs, properties, properties)
|
||||
#if confwrite != confread:
|
||||
# _check_properties(cfg, mcfg, pathread, confread, kwargs, properties, properties)
|
||||
|
||||
|
||||
@autocheck
|
||||
@ -780,8 +812,9 @@ def autocheck_reset_property(cfg, mcfg, pathread, pathwrite, confread, confwrite
|
||||
# reset properties without permissive
|
||||
cfg.unrestraint.config(confwrite).option(pathwrite).property.reset()
|
||||
|
||||
_check_properties(cfg, mcfg, pathread, confread, kwargs, default_props, default_props)
|
||||
if confread != confwrite:
|
||||
if confread == confwrite:
|
||||
_check_properties(cfg, mcfg, pathread, confread, kwargs, default_props, default_props)
|
||||
else:
|
||||
_check_properties(cfg, mcfg, pathread, confwrite, kwargs, default_props, default_props)
|
||||
|
||||
|
||||
@ -799,8 +832,6 @@ def autocheck_reset_property_permissive(cfg, mcfg, pathread, pathwrite, confread
|
||||
cfg.unrestraint.option(pathwrite).property.reset()
|
||||
|
||||
_check_properties(cfg, mcfg, pathread, confwrite, kwargs, default_props, default_props)
|
||||
if confread != confwrite:
|
||||
_check_properties(cfg, mcfg, pathread, confread, kwargs, default_props, default_props)
|
||||
|
||||
|
||||
@autocheck
|
||||
@ -809,34 +840,6 @@ def autocheck_context_owner(cfg, mcfg, pathread, pathwrite, confread, confwrite,
|
||||
assert owner == kwargs['owner']
|
||||
|
||||
|
||||
def _check_owner(cfg, pathread, conf, kwargs, owner, permissive_owner):
|
||||
isslave = cfg.unrestraint.option(pathread).option.isslave()
|
||||
if not isslave:
|
||||
if not kwargs.get('permissive', False) and not kwargs.get('propertyerror', False):
|
||||
assert cfg.config(conf).option(pathread).owner.get() == owner
|
||||
assert cfg.forcepermissive.config(conf).option(pathread).owner.get() == owner
|
||||
elif not kwargs.get('propertyerror', False):
|
||||
raises(PropertiesOptionError, "cfg.config(conf).option(pathread).owner.get()")
|
||||
assert cfg.forcepermissive.config(conf).option(pathread).owner.get() == permissive_owner
|
||||
else:
|
||||
raises(PropertiesOptionError, "cfg.config(conf).option(pathread).owner.get()")
|
||||
raises(PropertiesOptionError, "cfg.forcepermissive.config(conf).option(pathread).owner.get()")
|
||||
else:
|
||||
if not kwargs.get('permissive', False) and not kwargs.get('propertyerror', False):
|
||||
assert cfg.config(conf).option(pathread, 0).owner.get() == 'default'
|
||||
assert cfg.forcepermissive.config(conf).option(pathread, 0).owner.get() == 'default'
|
||||
assert cfg.config(conf).option(pathread, 1).owner.get() == owner
|
||||
assert cfg.forcepermissive.config(conf).option(pathread, 1).owner.get() == owner
|
||||
elif not kwargs.get('propertyerror', False):
|
||||
raises(PropertiesOptionError, "cfg.config(conf).option(pathread, 0).owner.get()")
|
||||
raises(PropertiesOptionError, "cfg.config(conf).option(pathread, 1).owner.get()")
|
||||
assert cfg.forcepermissive.config(conf).option(pathread, 0).owner.get() == 'default'
|
||||
assert cfg.forcepermissive.config(conf).option(pathread, 1).owner.get() == permissive_owner
|
||||
else:
|
||||
raises(PropertiesOptionError, "cfg.config(conf).option(pathread, 0).owner.get()")
|
||||
raises(PropertiesOptionError, "cfg.forcepermissive.config(conf).option(pathread, 0).owner.get()")
|
||||
|
||||
|
||||
@autocheck
|
||||
def autocheck_owner_with_value(cfg, mcfg, pathread, pathwrite, confread, confwrite, **kwargs):
|
||||
"""value is now changed, check owner in this case
|
||||
@ -884,12 +887,12 @@ def autocheck_default_owner_with_value_permissive(cfg, mcfg, pathread, pathwrite
|
||||
# test if is default owner with permissive
|
||||
if not kwargs.get('propertyerror', False):
|
||||
if not isslave:
|
||||
assert cfg.forcepermissive.config(conf).option(pathread).owner.isdefault() is False
|
||||
assert cfg.config(conf).forcepermissive.option(pathread).owner.isdefault() is False
|
||||
else:
|
||||
assert cfg.forcepermissive.config(conf).option(pathread, 0).owner.isdefault() is True
|
||||
assert cfg.forcepermissive.config(conf).option(pathread, 1).owner.isdefault() is False
|
||||
assert cfg.config(conf).forcepermissive.option(pathread, 0).owner.isdefault() is True
|
||||
assert cfg.config(conf).forcepermissive.option(pathread, 1).owner.isdefault() is False
|
||||
#FIXME else:
|
||||
# raises(PropertiesOptionError, "cfg.forcepermissive.config(conf).option(pathread).owner.isdefault()")
|
||||
# raises(PropertiesOptionError, "cfg.config(conf).forcepermissive.option(pathread).owner.isdefault()")
|
||||
do(confwrite)
|
||||
if confwrite != confread:
|
||||
do(confread)
|
||||
@ -1015,30 +1018,28 @@ def autocheck_permissive(cfg, mcfg, pathread, pathwrite, confread, confwrite, **
|
||||
call_path = pathread + 'call'
|
||||
cfg.unrestraint.config(confwrite).option(call_path).permissive.set(frozenset(['disabled']))
|
||||
|
||||
# have permissive
|
||||
# have permissive?
|
||||
assert cfg.unrestraint.config(confwrite).option(pathread).permissive.get() == frozenset(['disabled'])
|
||||
#if confwrite != confread:
|
||||
# assert cfg.unrestraint.config(confread).option(pathread).permissive.get() == frozenset(['disabled'])
|
||||
# assert cfg.config(confread).unrestraint.option(pathread).permissive.get() == frozenset(['disabled'])
|
||||
|
||||
# can access to disabled value
|
||||
ckwargs = copy(kwargs)
|
||||
ckwargs['propertyerror'] = False
|
||||
_autocheck_default_value(cfg, pathread, confread, **ckwargs)
|
||||
_autocheck_default_value(cfg, pathread, confwrite, **ckwargs)
|
||||
|
||||
cfg.unrestraint.config(confwrite).option(pathwrite).permissive.set(frozenset(['disabled', 'hidden']))
|
||||
cfg.config(confread).unrestraint.option(pathwrite).permissive.set(frozenset(['disabled', 'hidden']))
|
||||
if kwargs['callback']:
|
||||
cfg.unrestraint.config(confwrite).option(call_path).permissive.set(frozenset(['disabled', 'hidden']))
|
||||
cfg.config(confread).unrestraint.option(call_path).permissive.set(frozenset(['disabled', 'hidden']))
|
||||
|
||||
# can access to all value except when optiondescript have hidden
|
||||
if not ckwargs.get('permissive_od', False):
|
||||
ckwargs['permissive'] = False
|
||||
_autocheck_default_value(cfg, pathread, confread, **ckwargs)
|
||||
if confread != confwrite:
|
||||
_autocheck_default_value(cfg, pathread, confwrite, **ckwargs)
|
||||
|
||||
if ckwargs.get('permissive_od', False):
|
||||
# set permissive to OptionDescription
|
||||
cfg.unrestraint.config(confwrite).option(pathwrite.rsplit('.', 1)[0]).permissive.set(frozenset(['disabled',
|
||||
cfg.config(confread).unrestraint.option(pathwrite.rsplit('.', 1)[0]).permissive.set(frozenset(['disabled',
|
||||
'hidden']))
|
||||
ckwargs['permissive'] = False
|
||||
_autocheck_default_value(cfg, pathread, confread, **ckwargs)
|
||||
@ -1046,32 +1047,24 @@ def autocheck_permissive(cfg, mcfg, pathread, pathwrite, confread, confwrite, **
|
||||
# _autocheck_default_value(cfg, pathread, confwrite, **ckwargs)
|
||||
|
||||
# only hidden
|
||||
cfg.unrestraint.config(confwrite).option(pathwrite).permissive.set(frozenset(['hidden']))
|
||||
cfg.config(confread).unrestraint.option(pathwrite).permissive.set(frozenset(['hidden']))
|
||||
if callback:
|
||||
cfg.unrestraint.config(confwrite).option(call_path).permissive.set(frozenset(['hidden']))
|
||||
cfg.config(confread).unrestraint.option(call_path).permissive.set(frozenset(['hidden']))
|
||||
if ckwargs.get('permissive_od', False):
|
||||
_autocheck_default_value(cfg, pathread, confread, **ckwargs)
|
||||
if confread != confwrite:
|
||||
_autocheck_default_value(cfg, pathread, confwrite, **ckwargs)
|
||||
cfg.unrestraint.config(confwrite).option(pathwrite.rsplit('.', 1)[0]).permissive.set(frozenset(['hidden']))
|
||||
cfg.config(confread).unrestraint.option(pathwrite.rsplit('.', 1)[0]).permissive.set(frozenset(['hidden']))
|
||||
ckwargs = copy(kwargs)
|
||||
ckwargs['permissive'] = False
|
||||
_autocheck_default_value(cfg, pathread, confread, **ckwargs)
|
||||
#if confread != confwrite:
|
||||
# _autocheck_default_value(cfg, pathread, confwrite, **ckwargs)
|
||||
|
||||
# no permissive
|
||||
cfg.unrestraint.config(confwrite).option(pathwrite).permissive.set(frozenset())
|
||||
cfg.config(confread).unrestraint.option(pathwrite).permissive.set(frozenset())
|
||||
if callback:
|
||||
cfg.unrestraint.config(confwrite).option(call_path).permissive.set(frozenset())
|
||||
cfg.config(confread).unrestraint.option(call_path).permissive.set(frozenset())
|
||||
if ckwargs.get('permissive_od', False):
|
||||
_autocheck_default_value(cfg, pathread, confread, **ckwargs)
|
||||
if confread != confwrite:
|
||||
_autocheck_default_value(cfg, pathread, confwrite, **ckwargs)
|
||||
cfg.unrestraint.config(confwrite).option(pathwrite.rsplit('.', 1)[0]).permissive.set(frozenset())
|
||||
cfg.config(confread).unrestraint.option(pathwrite.rsplit('.', 1)[0]).permissive.set(frozenset())
|
||||
_autocheck_default_value(cfg, pathread, confread, **kwargs)
|
||||
#if confread != confwrite:
|
||||
# _autocheck_default_value(cfg, pathread, confwrite, **kwargs)
|
||||
|
||||
|
||||
@autocheck
|
||||
@ -1106,15 +1099,15 @@ def autocheck_find(cfg, mcfg, pathread, pathwrite, confread, confwrite, **kwargs
|
||||
def do(conf):
|
||||
if not kwargs.get('permissive', False) and not kwargs.get('propertyerror', False):
|
||||
assert option == _getoption(cfg.config(conf).option.find(name, first=True))
|
||||
assert option == _getoption(cfg.forcepermissive.config(conf).option.find(name, first=True))
|
||||
assert option == _getoption(cfg.config(conf).forcepermissive.option.find(name, first=True))
|
||||
elif kwargs.get('permissive', False):
|
||||
raises(AttributeError, "cfg.config(conf).option.find(name, first=True)")
|
||||
assert option == _getoption(cfg.forcepermissive.config(conf).option.find(name, first=True))
|
||||
assert option == _getoption(cfg.config(conf).forcepermissive.option.find(name, first=True))
|
||||
else:
|
||||
raises(AttributeError, "cfg.config(conf).option.find(name, first=True)")
|
||||
raises(AttributeError, "cfg.forcepermissive.config(conf).option.find(name, first=True)")
|
||||
assert option == _getoption(cfg.unrestraint.config(conf).option.find(name, first=True))
|
||||
assert [option] == _getoptions(cfg.unrestraint.config(conf).option.find(name))
|
||||
raises(AttributeError, "cfg.config(conf).forcepermissive.option.find(name, first=True)")
|
||||
assert option == _getoption(cfg.config(conf).unrestraint.option.find(name, first=True))
|
||||
assert [option] == _getoptions(cfg.config(conf).unrestraint.option.find(name))
|
||||
do(confread)
|
||||
if confread != confwrite:
|
||||
do(confwrite)
|
||||
@ -1648,7 +1641,7 @@ DICT_PATHS = [
|
||||
OrderedDict([('first', {}),
|
||||
('second', {'second': {'disabled': True}}),
|
||||
('third', {'third': {'hidden': True}})
|
||||
]),
|
||||
]),
|
||||
#test a config with two optiondescription
|
||||
OrderedDict([('subod.subsubod.first', {}),
|
||||
('subod.subsubod.second', {'second': {'disabled': True}}),
|
||||
@ -1748,7 +1741,8 @@ def test_options(paths):
|
||||
continue
|
||||
for default in (False, True):
|
||||
for multi in (False, True, submulti):
|
||||
# for meta in (False,):
|
||||
pass
|
||||
# for meta in (True,):
|
||||
# for callback in (False,):
|
||||
# for consistency in (False,):
|
||||
# for require in (False,):
|
||||
@ -1757,7 +1751,7 @@ def test_options(paths):
|
||||
# if callback and default_multi:
|
||||
# continue
|
||||
# for default in (False,):
|
||||
# for multi in (True,):
|
||||
# for multi in (False,):
|
||||
# print(meta, callback, consistency, require, default_multi, symlink, default, multi)
|
||||
if multi is submulti and default:
|
||||
continue
|
||||
|
Reference in New Issue
Block a user