coverage for tiramisu/option/masterslave.py
This commit is contained in:
@ -404,10 +404,13 @@ class BaseOption(Base):
|
||||
if not isinstance(value, unicode) and not isinstance(value, str):
|
||||
return ValueError(_('invalid unicode or string'))
|
||||
|
||||
def impl_get_display_name(self):
|
||||
def impl_get_display_name(self, dyn_name=None):
|
||||
name = self.impl_getdoc()
|
||||
if name is None or name == '':
|
||||
name = self.impl_getname()
|
||||
if dyn_name is not None:
|
||||
name = dyn_name
|
||||
else:
|
||||
name = self.impl_getname()
|
||||
if isinstance(name, unicode):
|
||||
name = name.encode('utf8')
|
||||
return name
|
||||
@ -483,6 +486,7 @@ class Option(OnlyOption):
|
||||
if debug: # pragma: no cover
|
||||
log.debug('propertyerror in _launch_consistency: {0}'.format(opt_value))
|
||||
if transitive:
|
||||
opt_value.set_orig_opt(option)
|
||||
return opt_value
|
||||
else:
|
||||
opt_value = None
|
||||
@ -1073,6 +1077,9 @@ class DynSymLinkOption(object):
|
||||
def impl_getname(self):
|
||||
return self._name
|
||||
|
||||
def impl_get_display_name(self):
|
||||
return self._impl_getopt().impl_get_display_name(dyn_name=self.impl_getname())
|
||||
|
||||
def _impl_getopt(self):
|
||||
return self._opt
|
||||
|
||||
|
@ -32,28 +32,29 @@ class MasterSlaves(object):
|
||||
__slots__ = ('_p_')
|
||||
|
||||
def __init__(self, name, childs=None, validate=True, add=True):
|
||||
#if master (same name has group) is set
|
||||
#for collect all slaves
|
||||
if isinstance(name, StorageMasterSlaves):
|
||||
if isinstance(name, StorageMasterSlaves): # pragma: no cover
|
||||
# only for sqlalchemy
|
||||
self._p_ = name
|
||||
else:
|
||||
#if master (same name has group) is set
|
||||
#for collect all slaves
|
||||
slaves = []
|
||||
if childs[0].impl_getname() == name:
|
||||
master = childs[0]
|
||||
else:
|
||||
raise ValueError(_('master group with wrong'
|
||||
' master name for {0}'
|
||||
).format(name))
|
||||
).format(name))
|
||||
for child in childs[1:]:
|
||||
if child.impl_getdefault() != []:
|
||||
raise ValueError(_("not allowed default value for option {0} "
|
||||
"in group {1}").format(child.impl_getname(),
|
||||
name))
|
||||
"in master/slave object {1}").format(child.impl_getname(),
|
||||
name))
|
||||
slaves.append(child)
|
||||
if validate:
|
||||
callback, callback_params = master.impl_get_callback()
|
||||
if callback is not None and callback_params != {}: # pragma: optional cover
|
||||
for key, callbacks in callback_params.items():
|
||||
if callback is not None and callback_params != {}:
|
||||
for callbacks in callback_params.values():
|
||||
for callbk in callbacks:
|
||||
if isinstance(callbk, tuple):
|
||||
if callbk[0] in slaves:
|
||||
@ -88,14 +89,14 @@ class MasterSlaves(object):
|
||||
base_path = opt._dyn.split('.')[0] + '.'
|
||||
path = base_path + name
|
||||
yield slave._impl_to_dyn(name, path)
|
||||
else: # pragma: no dynoptiondescription cover
|
||||
else:
|
||||
for slave in self._p_._sm_getslaves():
|
||||
yield slave
|
||||
|
||||
def in_same_group(self, opt):
|
||||
if opt.impl_is_dynsymlinkoption():
|
||||
return opt._opt == self._p_._sm_getmaster() or opt._opt in self._p_._sm_getslaves()
|
||||
else: # pragma: no dynoptiondescription cover
|
||||
else:
|
||||
return opt == self._p_._sm_getmaster() or opt in self._p_._sm_getslaves()
|
||||
|
||||
def reset(self, opt, values, setting_properties):
|
||||
@ -181,6 +182,8 @@ class MasterSlaves(object):
|
||||
undefined, force_permissive,
|
||||
master=master)
|
||||
if isinstance(masterlen, Exception):
|
||||
if isinstance(masterlen, PropertiesOptionError):
|
||||
masterlen.set_orig_opt(opt)
|
||||
return masterlen
|
||||
master_is_meta = values._is_meta(master, masterp, session)
|
||||
multi = values._get_multi(opt, path)
|
||||
@ -264,8 +267,8 @@ class MasterSlaves(object):
|
||||
return len(value)
|
||||
|
||||
def validate_slave_length(self, masterlen, valuelen, name, opt, setitem=False):
|
||||
if valuelen > masterlen or (valuelen < masterlen and setitem): # pragma: optional cover
|
||||
if debug:
|
||||
if valuelen > masterlen or (valuelen < masterlen and setitem):
|
||||
if debug: # pragma: no cover
|
||||
log.debug('validate_slave_length: masterlen: {0}, valuelen: {1}, '
|
||||
'setitem: {2}'.format(masterlen, valuelen, setitem))
|
||||
raise SlaveError(_("invalid len for the slave: {0}"
|
||||
|
Reference in New Issue
Block a user