better support for sqlalchemy storage
This commit is contained in:
@ -37,6 +37,14 @@ def return_list(val=None):
|
||||
return ['val1', 'val2']
|
||||
|
||||
|
||||
def return_same_list():
|
||||
return ['val1', 'val1']
|
||||
|
||||
|
||||
def return_wrong_list():
|
||||
return ['---', ' ']
|
||||
|
||||
|
||||
def test_build_dyndescription():
|
||||
st = StrOption('st', '')
|
||||
dod = DynOptionDescription('dod', '', [st], callback=return_list)
|
||||
@ -193,18 +201,18 @@ def test_prop_dyndescription():
|
||||
stval2 = cfg.unwrap_from_path('od.dodval2.stval2')
|
||||
dodval1 = cfg.unwrap_from_path('od.dodval1')
|
||||
dodval2 = cfg.unwrap_from_path('od.dodval2')
|
||||
assert str(cfg.cfgimpl_get_settings()[stval1]) == str(['test'])
|
||||
assert str(cfg.cfgimpl_get_settings()[stval2]) == str(['test'])
|
||||
assert str(cfg.cfgimpl_get_settings()[stval1]) in [str(['test']), str([u'test'])]
|
||||
assert str(cfg.cfgimpl_get_settings()[stval2]) in [str(['test']), str([u'test'])]
|
||||
cfg.cfgimpl_get_settings()[stval2].append('test2')
|
||||
assert str(cfg.cfgimpl_get_settings()[stval1]) == str(['test'])
|
||||
assert str(cfg.cfgimpl_get_settings()[stval2]) == str(['test', 'test2'])
|
||||
assert str(cfg.cfgimpl_get_settings()[stval1]) in [str(['test']), str([u'test'])]
|
||||
assert str(cfg.cfgimpl_get_settings()[stval2]) in [str(['test', 'test2']), str([u'test', 'test2'])]
|
||||
cfg.cfgimpl_get_settings()[stval1].remove('test')
|
||||
assert str(cfg.cfgimpl_get_settings()[stval1]) == str([])
|
||||
#
|
||||
assert str(cfg.cfgimpl_get_settings()[dodval1]) == str([])
|
||||
assert str(cfg.cfgimpl_get_settings()[dodval2]) == str([])
|
||||
cfg.cfgimpl_get_settings()[dodval1].append('test1')
|
||||
assert str(cfg.cfgimpl_get_settings()[dodval1]) == str(['test1'])
|
||||
assert str(cfg.cfgimpl_get_settings()[dodval1]) in [str(['test1']), str([u'test1'])]
|
||||
assert str(cfg.cfgimpl_get_settings()[dodval2]) == str([])
|
||||
cfg.cfgimpl_get_settings()[dodval1].remove('test1')
|
||||
assert str(cfg.cfgimpl_get_settings()[dodval1]) == str([])
|
||||
@ -402,11 +410,11 @@ def test_prop_dyndescription_context():
|
||||
cfg = Config(od2)
|
||||
stval1 = cfg.unwrap_from_path('od.dodval1.stval1')
|
||||
stval2 = cfg.unwrap_from_path('od.dodval2.stval2')
|
||||
assert str(cfg.cfgimpl_get_settings()[stval1]) == str(['test'])
|
||||
assert str(cfg.cfgimpl_get_settings()[stval2]) == str(['test'])
|
||||
assert str(cfg.cfgimpl_get_settings()[stval1]) in [str(['test']), str([u'test'])]
|
||||
assert str(cfg.cfgimpl_get_settings()[stval2]) in [str(['test']), str([u'test'])]
|
||||
cfg.cfgimpl_get_settings()[stval2].append('test2')
|
||||
assert str(cfg.cfgimpl_get_settings()[stval1]) == str(['test'])
|
||||
assert str(cfg.cfgimpl_get_settings()[stval2]) == str(['test', 'test2'])
|
||||
assert str(cfg.cfgimpl_get_settings()[stval1]) in [str(['test']), str([u'test'])]
|
||||
assert str(cfg.cfgimpl_get_settings()[stval2]) in [str(['test', 'test2']), str([u'test', 'test2'])]
|
||||
cfg.cfgimpl_get_settings()[stval1].remove('test')
|
||||
assert str(cfg.cfgimpl_get_settings()[stval1]) == str([])
|
||||
|
||||
@ -1293,13 +1301,11 @@ def test_invalid_symlink_dyndescription():
|
||||
|
||||
def test_nocallback_dyndescription():
|
||||
st = StrOption('st', '')
|
||||
st2 = StrOption('st2', st)
|
||||
st2 = StrOption('st2', '')
|
||||
raises(ConfigError, "DynOptionDescription('dod', '', [st, st2])")
|
||||
|
||||
|
||||
def test_invalid_samevalue_dyndescription():
|
||||
def return_same_list():
|
||||
return ['val1', 'val1']
|
||||
st = StrOption('st', '')
|
||||
dod = DynOptionDescription('dod', '', [st], callback=return_same_list)
|
||||
od = OptionDescription('od', '', [dod])
|
||||
@ -1308,10 +1314,8 @@ def test_invalid_samevalue_dyndescription():
|
||||
|
||||
|
||||
def test_invalid_name_dyndescription():
|
||||
def return_same_list():
|
||||
return ['---', ' ']
|
||||
st = StrOption('st', '')
|
||||
dod = DynOptionDescription('dod', '', [st], callback=return_same_list)
|
||||
dod = DynOptionDescription('dod', '', [st], callback=return_wrong_list)
|
||||
od = OptionDescription('od', '', [dod])
|
||||
cfg = Config(od)
|
||||
raises(ValueError, "print cfg")
|
||||
|
@ -382,4 +382,4 @@ def test_properties_cached():
|
||||
setting = c.cfgimpl_get_settings()
|
||||
option = c.cfgimpl_get_description().sub.b1
|
||||
c._setattr('sub.b1', True, force_permissive=True)
|
||||
assert str(setting[b1]) == "['test']"
|
||||
assert str(setting[b1]) in ["['test']", "[u'test']"]
|
||||
|
Reference in New Issue
Block a user