config => KernelConfig + Config in api

This commit is contained in:
2018-08-14 22:15:40 +02:00
parent 071e9c20d4
commit 3210a54ab8
21 changed files with 356 additions and 265 deletions

View File

@ -1304,7 +1304,7 @@ def check_all(cfg, paths_, path, meta, multi, default, default_multi, require, c
for func in autocheck_registers:
cfg_name = 'conftest' + str(idx)
idx += 1
ncfg = cfg.duplicate(session_id=cfg_name)
ncfg = cfg.config.duplicate(session_id=cfg_name)
if meta:
confwrite = None
confread = cfg_name

View File

@ -6,7 +6,7 @@ from tiramisu import setting, value
setting.expires_time = 1
value.expires_time = 1
from tiramisu.option import BoolOption, IPOption, IntOption, StrOption, OptionDescription, MasterSlaves
from tiramisu.config import Config
from tiramisu import Config
from tiramisu.error import ConfigError, PropertiesOptionError
from tiramisu.setting import groups
from tiramisu import getapi, undefined, Params, ParamValue, ParamOption
@ -48,8 +48,8 @@ def test_cache():
od1 = make_description()
c = Config(od1)
api = getapi(c)
values = c.cfgimpl_get_values()
settings = c.cfgimpl_get_settings()
values = c._config.cfgimpl_get_values()
settings = c._config.cfgimpl_get_settings()
api.option('u1').value.get()
assert 'u1' in values._p_.get_cached()
assert 'u1' in settings._p_.get_cached()
@ -101,8 +101,8 @@ def test_cache_importation_permissive():
# od1 = make_description()
# c = Config(od1)
# api = getapi(c)
# values = c.cfgimpl_get_values()
# settings = c.cfgimpl_get_settings()
# values = c._config.cfgimpl_get_values()
# settings = c._config.cfgimpl_get_settings()
# ntime = time() + 1
# settings._p_.setcache('u1', set(['inject']), ntime, None)
# assert 'inject' in settings[od1.u1]
@ -115,8 +115,8 @@ def test_cache_importation_permissive():
# od1 = make_description()
# c = Config(od1)
# api = getapi(c)
# values = c.cfgimpl_get_values()
# settings = c.cfgimpl_get_settings()
# values = c._config.cfgimpl_get_values()
# settings = c._config.cfgimpl_get_settings()
# settings._p_.setcache('u1', set(['inject2']), None, None)
# assert 'inject2' in settings[od1.u1]
# values._p_.setcache('u1', 200, None, None)
@ -127,8 +127,8 @@ def test_cache_reset():
od1 = make_description()
c = Config(od1)
api = getapi(c)
values = c.cfgimpl_get_values()
settings = c.cfgimpl_get_settings()
values = c._config.cfgimpl_get_values()
settings = c._config.cfgimpl_get_settings()
#when change a value
api.option('u1').value.get()
api.option('u2').value.get()
@ -188,8 +188,8 @@ def test_cache_reset_multi():
od1 = make_description()
c = Config(od1)
api = getapi(c)
values = c.cfgimpl_get_values()
settings = c.cfgimpl_get_settings()
values = c._config.cfgimpl_get_values()
settings = c._config.cfgimpl_get_settings()
api.option('u1').value.get()
api.option('u3').value.get()
assert 'u1' in values._p_.get_cached()
@ -241,12 +241,12 @@ def test_reset_cache():
od1 = make_description()
c = Config(od1)
api = getapi(c)
values = c.cfgimpl_get_values()
settings = c.cfgimpl_get_settings()
values = c._config.cfgimpl_get_values()
settings = c._config.cfgimpl_get_settings()
api.option('u1').value.get()
assert 'u1' in values._p_.get_cached()
assert 'u1' in settings._p_.get_cached()
c.cfgimpl_reset_cache(None, None)
c._config.cfgimpl_reset_cache(None, None)
assert 'u1' not in values._p_.get_cached()
assert 'u1' not in settings._p_.get_cached()
api.option('u1').value.get()
@ -258,7 +258,7 @@ def test_reset_cache():
assert 'u1' in settings._p_.get_cached()
assert 'u2' in values._p_.get_cached()
assert 'u2' in settings._p_.get_cached()
c.cfgimpl_reset_cache(None, None)
c._config.cfgimpl_reset_cache(None, None)
assert 'u1' not in values._p_.get_cached()
assert 'u1' not in settings._p_.get_cached()
assert 'u2' not in values._p_.get_cached()
@ -270,7 +270,7 @@ def test_reset_cache():
# od2 = OptionDescription('od2', '', [od1])
# c = Config(od2)
# api = getapi(c)
# values = c.cfgimpl_get_values()
# values = c._config.cfgimpl_get_values()
# api.option('od1.u1').value.get()
# assert 'od1.u1' in values._p_.get_cached()
# c.od1.cfgimpl_reset_cache(None, None)
@ -282,12 +282,12 @@ def test_reset_cache():
# c = Config(od1)
# api = getapi(c)
# api.property.add('expire')
# values = c.cfgimpl_get_values()
# settings = c.cfgimpl_get_settings()
# values = c._config.cfgimpl_get_values()
# settings = c._config.cfgimpl_get_settings()
# api.option('u1').value.get()
# assert 'u1' in values._p_.get_cached()
# assert 'u1' in settings._p_.get_cached()
# c.cfgimpl_reset_cache(True)
# c._config.cfgimpl_reset_cache(True)
# assert 'u1' in values._p_.get_cached()
# assert 'u1' in settings._p_.get_cached()
# sleep(1)
@ -298,7 +298,7 @@ def test_reset_cache():
# assert 'u1' in settings._p_.get_cached()
# assert 'u2' in values._p_.get_cached()
# assert 'u2' in settings._p_.get_cached()
# c.cfgimpl_reset_cache(True)
# c._config.cfgimpl_reset_cache(True)
# assert 'u1' not in values._p_.get_cached()
# assert 'u1' not in settings._p_.get_cached()
# assert 'u2' in values._p_.get_cached()
@ -309,13 +309,13 @@ def test_reset_cache():
# od1 = make_description()
# c = Config(od1)
# api = getapi(c)
# values = c.cfgimpl_get_values()
# settings = c.cfgimpl_get_settings()
# values = c._config.cfgimpl_get_values()
# settings = c._config.cfgimpl_get_settings()
# #api.property.pop('expire')
# api.option('u1').value.get()
# assert 'u1' in values._p_.get_cached()
# assert 'u1' in settings._p_.get_cached()
# c.cfgimpl_reset_cache(True)
# c._config.cfgimpl_reset_cache(True)
# assert 'u1' in values._p_.get_cached()
# assert 'u1' in settings._p_.get_cached()
# sleep(1)
@ -324,7 +324,7 @@ def test_reset_cache():
# assert 'u1' in settings._p_.get_cached()
# assert 'u2' in values._p_.get_cached()
# assert 'u2' in settings._p_.get_cached()
# c.cfgimpl_reset_cache(True)
# c._config.cfgimpl_reset_cache(True)
# assert 'u1' in values._p_.get_cached()
# assert 'u1' in settings._p_.get_cached()
# assert 'u2' in values._p_.get_cached()
@ -335,8 +335,8 @@ def test_cache_not_cache():
od1 = make_description()
c = Config(od1)
api = getapi(c)
values = c.cfgimpl_get_values()
settings = c.cfgimpl_get_settings()
values = c._config.cfgimpl_get_values()
settings = c._config.cfgimpl_get_settings()
api.property.pop('cache')
api.option('u1').value.get()
assert 'u1' not in values._p_.get_cached()
@ -347,18 +347,18 @@ def test_cache_not_cache():
# od1 = make_description()
# c = Config(od1)
# api = getapi(c)
# values = c.cfgimpl_get_values()
# settings = c.cfgimpl_get_settings()
# values = c._config.cfgimpl_get_values()
# settings = c._config.cfgimpl_get_settings()
# api.option('u1').value.get()
# assert 'u1' in values._p_.get_cached()
# assert 'u1' in settings._p_.get_cached()
# c.cfgimpl_reset_cache(only=('values',))
# c._config.cfgimpl_reset_cache(only=('values',))
# assert 'u1' not in values._p_.get_cached()
# assert 'u1' in settings._p_.get_cached()
# api.option('u1').value.get()
# assert 'u1' in values._p_.get_cached()
# assert 'u1' in settings._p_.get_cached()
# c.cfgimpl_reset_cache(only=('settings',))
# c._config.cfgimpl_reset_cache(only=('settings',))
# assert 'u1' in values._p_.get_cached()
# assert 'u1' not in settings._p_.get_cached()
@ -375,30 +375,30 @@ def test_cache_not_cache():
# api.property.pop('expire')
# api.property.pop('disabled')
#
# c.cfgimpl_get_values().force_cache()
# compare(c.cfgimpl_get_values()._p_.get_cached(), {'u1': {None: ([], None)},
# c._config.cfgimpl_get_values().force_cache()
# compare(c._config.cfgimpl_get_values()._p_.get_cached(), {'u1': {None: ([], None)},
# 'u2': {None: (None, None)},
# 'u3': {None: ([], None)},
# 'u4': {None: (None, None)}})
# compare(c.cfgimpl_get_settings()._p_.get_cached(), {None: {None: (set(['cache', 'frozen', 'hidden', 'validator', 'warnings']), None)},
# compare(c._config.cfgimpl_get_settings()._p_.get_cached(), {None: {None: (set(['cache', 'frozen', 'hidden', 'validator', 'warnings']), None)},
# 'u1': {None: (set(['empty']), None)},
# 'u2': {None: (set([]), None)},
# 'u3': {None: (set(['empty']), None)},
# 'u4': {None: (set(['disabled']), None)}})
# api.property.read_only()
#
# c.cfgimpl_get_values().force_cache()
# compare(c.cfgimpl_get_values()._p_.get_cached(), {'u1': {None: ([], None)},
# c._config.cfgimpl_get_values().force_cache()
# compare(c._config.cfgimpl_get_values()._p_.get_cached(), {'u1': {None: ([], None)},
# 'u2': {None: (None, None)},
# 'u3': {None: ([], None)}})
# compare(c.cfgimpl_get_settings()._p_.get_cached(), {None: {None: (set(['cache', 'disabled', 'empty', 'everything_frozen', 'frozen', 'mandatory', 'validator', 'warnings']), None)},
# compare(c._config.cfgimpl_get_settings()._p_.get_cached(), {None: {None: (set(['cache', 'disabled', 'empty', 'everything_frozen', 'frozen', 'mandatory', 'validator', 'warnings']), None)},
# 'u1': {None: (set(['empty']), None)},
# 'u2': {None: (set([]), None)},
# 'u3': {None: (set(['empty']), None)},
# 'u4': {None: (set(['disabled']), None)}})
#
# c.cfgimpl_get_settings().remove('cache')
# raises(ConfigError, "c.cfgimpl_get_values().force_cache()")
# c._config.cfgimpl_get_settings().remove('cache')
# raises(ConfigError, "c._config.cfgimpl_get_values().force_cache()")
def test_cache_master_slave():
@ -410,13 +410,13 @@ def test_cache_master_slave():
cfg = Config(maconfig)
api = getapi(cfg)
api.property.read_write()
assert cfg.cfgimpl_get_values()._p_.get_cached() == {}
#assert cfg.cfgimpl_get_settings()._p_.get_cached() == {}
assert cfg._config.cfgimpl_get_values()._p_.get_cached() == {}
#assert cfg._config.cfgimpl_get_settings()._p_.get_cached() == {}
#
api.option('ip_admin_eth0.ip_admin_eth0').value.set(['192.168.1.2'])
api.option('ip_admin_eth0.ip_admin_eth0').value.get()
api.option('ip_admin_eth0.netmask_admin_eth0', 0).value.get()
cache = cfg.cfgimpl_get_values()._p_.get_cached()
cache = cfg._config.cfgimpl_get_values()._p_.get_cached()
if TIRAMISU_VERSION == 2:
assert set(cache.keys()) == set(['ip_admin_eth0.ip_admin_eth0'])
else:
@ -426,7 +426,7 @@ def test_cache_master_slave():
#assert set(cache['ip_admin_eth0.netmask_admin_eth0'].keys()) == set([None])
#assert cache['ip_admin_eth0.netmask_admin_eth0'][None][0] == [None]
#assert cache['ip_admin_eth0.netmask_admin_eth0'][0][0] is None
cache = cfg.cfgimpl_get_settings()._p_.get_cached()
cache = cfg._config.cfgimpl_get_settings()._p_.get_cached()
assert set(cache.keys()) == set([None, 'ip_admin_eth0', 'ip_admin_eth0.ip_admin_eth0', 'ip_admin_eth0.netmask_admin_eth0'])
assert set(cache['ip_admin_eth0'].keys()) == set([None])
assert set(cache['ip_admin_eth0.ip_admin_eth0'].keys()) == set([None])
@ -439,7 +439,7 @@ def test_cache_master_slave():
api.option('ip_admin_eth0.ip_admin_eth0').value.get()
api.option('ip_admin_eth0.netmask_admin_eth0', 0).value.get()
api.option('ip_admin_eth0.netmask_admin_eth0', 1).value.get()
cache = cfg.cfgimpl_get_values()._p_.get_cached()
cache = cfg._config.cfgimpl_get_values()._p_.get_cached()
if TIRAMISU_VERSION == 2:
assert set(cache.keys()) == set(['ip_admin_eth0.ip_admin_eth0'])
else:
@ -450,7 +450,7 @@ def test_cache_master_slave():
#assert cache['ip_admin_eth0.netmask_admin_eth0'][None][0] == [None, None]
#assert cache['ip_admin_eth0.netmask_admin_eth0'][0][0] is None
#assert cache['ip_admin_eth0.netmask_admin_eth0'][1][0] is None
cache = cfg.cfgimpl_get_settings()._p_.get_cached()
cache = cfg._config.cfgimpl_get_settings()._p_.get_cached()
assert set(cache.keys()) == set([None, 'ip_admin_eth0', 'ip_admin_eth0.ip_admin_eth0', 'ip_admin_eth0.netmask_admin_eth0'])
assert set(cache['ip_admin_eth0'].keys()) == set([None])
assert set(cache['ip_admin_eth0.ip_admin_eth0'].keys()) == set([None])
@ -487,79 +487,79 @@ def test_cache_callback():
if TIRAMISU_VERSION == 2:
api.property.pop('expire')
api.option.make_dict()
#assert cfg.cfgimpl_get_settings()._p_.get_cached() == {None: {None: (set(['cache', 'disabled', 'frozen', 'hidden', 'validator', 'warnings']), None)},
#assert cfg._config.cfgimpl_get_settings()._p_.get_cached() == {None: {None: (set(['cache', 'disabled', 'frozen', 'hidden', 'validator', 'warnings']), None)},
# 'val1': {None: (set([]), None)}}
compare(cfg.cfgimpl_get_values()._p_.get_cached(), {'val1': {None: ('val', None)},
compare(cfg._config.cfgimpl_get_values()._p_.get_cached(), {'val1': {None: ('val', None)},
'val2': {None: ('val', None)},
'val3': {None: ('yes', None)},
'val4': {None: ('val', None)},
'val5': {None: (['yes'], None)}})
api.option('val1').value.set('new')
#assert cfg.cfgimpl_get_settings()._p_.get_cached() == {None: {None: (set(['cache', 'disabled', 'frozen', 'hidden', 'validator', 'warnings']), None)},
#assert cfg._config.cfgimpl_get_settings()._p_.get_cached() == {None: {None: (set(['cache', 'disabled', 'frozen', 'hidden', 'validator', 'warnings']), None)},
# 'val1': {None: (set([]), None)}}
compare(cfg.cfgimpl_get_values()._p_.get_cached(), {'val3': {None: ('yes', None)},
compare(cfg._config.cfgimpl_get_values()._p_.get_cached(), {'val3': {None: ('yes', None)},
'val5': {None: (['yes'], None)}})
api.option.make_dict()
#assert cfg.cfgimpl_get_settings()._p_.get_cached() == {None: {None: (set(['cache', 'disabled', 'frozen', 'hidden', 'validator', 'warnings']), None)},
#assert cfg._config.cfgimpl_get_settings()._p_.get_cached() == {None: {None: (set(['cache', 'disabled', 'frozen', 'hidden', 'validator', 'warnings']), None)},
# 'val1': {None: (set([]), None)}}
compare(cfg.cfgimpl_get_values()._p_.get_cached(), {'val1': {None: ('new', None)},
compare(cfg._config.cfgimpl_get_values()._p_.get_cached(), {'val1': {None: ('new', None)},
'val2': {None: ('new', None)},
'val3': {None: ('yes', None)},
'val4': {None: ('new', None)},
'val5': {None: (['yes'], None)}})
api.option('val3').value.set('new2')
#assert cfg.cfgimpl_get_settings()._p_.get_cached() == {None: {None: (set(['cache', 'disabled', 'frozen', 'hidden', 'validator', 'warnings']), None)},
#assert cfg._config.cfgimpl_get_settings()._p_.get_cached() == {None: {None: (set(['cache', 'disabled', 'frozen', 'hidden', 'validator', 'warnings']), None)},
# 'val1': {None: (set([]), None)},
# 'val3': {None: (set([]), None)}}
compare(cfg.cfgimpl_get_values()._p_.get_cached(), {'val1': {None: ('new', None)},
compare(cfg._config.cfgimpl_get_values()._p_.get_cached(), {'val1': {None: ('new', None)},
'val2': {None: ('new', None)},
'val4': {None: ('new', None)},
'val5': {None: (['yes'], None)}})
api.option.make_dict()
#assert cfg.cfgimpl_get_settings()._p_.get_cached() == {None: {None: (set(['cache', 'disabled', 'frozen', 'hidden', 'validator', 'warnings']), None)},
#assert cfg._config.cfgimpl_get_settings()._p_.get_cached() == {None: {None: (set(['cache', 'disabled', 'frozen', 'hidden', 'validator', 'warnings']), None)},
# 'val1': {None: (set([]), None)},
# 'val3': {None: (set([]), None)}}
compare(cfg.cfgimpl_get_values()._p_.get_cached(), {'val1': {None: ('new', None)},
compare(cfg._config.cfgimpl_get_values()._p_.get_cached(), {'val1': {None: ('new', None)},
'val2': {None: ('new', None)},
'val3': {None: ('new2', None)},
'val4': {None: ('new', None)},
'val5': {None: (['yes'], None)}})
api.option('val4').value.set('new3')
#assert cfg.cfgimpl_get_settings()._p_.get_cached() == {None: {None: (set(['cache', 'disabled', 'frozen', 'hidden', 'validator', 'warnings']), None)},
#assert cfg._config.cfgimpl_get_settings()._p_.get_cached() == {None: {None: (set(['cache', 'disabled', 'frozen', 'hidden', 'validator', 'warnings']), None)},
# 'val1': {None: (set([]), None)},
# 'val3': {None: (set([]), None)},
# 'val4': {None: (set([]), None)}}
compare(cfg.cfgimpl_get_values()._p_.get_cached(), {'val1': {None: ('new', None)},
compare(cfg._config.cfgimpl_get_values()._p_.get_cached(), {'val1': {None: ('new', None)},
'val2': {None: ('new', None)},
'val3': {None: ('new2', None)},
'val5': {None: (['yes'], None)}})
api.option.make_dict()
#assert cfg.cfgimpl_get_settings()._p_.get_cached() == {None: {None: (set(['cache', 'disabled', 'frozen', 'hidden', 'validator', 'warnings']), None)},
#assert cfg._config.cfgimpl_get_settings()._p_.get_cached() == {None: {None: (set(['cache', 'disabled', 'frozen', 'hidden', 'validator', 'warnings']), None)},
# 'val1': {None: (set([]), None)},
# 'val3': {None: (set([]), None)},
# 'val4': {None: (set([]), None)}}
compare(cfg.cfgimpl_get_values()._p_.get_cached(), {'val1': {None: ('new', None)},
compare(cfg._config.cfgimpl_get_values()._p_.get_cached(), {'val1': {None: ('new', None)},
'val2': {None: ('new', None)},
'val3': {None: ('new2', None)},
'val4': {None: ('new3', None)},
'val5': {None: (['yes'], None)}})
api.option('val5').value.set([undefined, 'new4'])
#assert cfg.cfgimpl_get_settings()._p_.get_cached() == {None: {None: (set(['cache', 'disabled', 'frozen', 'hidden', 'validator', 'warnings']), None)},
#assert cfg._config.cfgimpl_get_settings()._p_.get_cached() == {None: {None: (set(['cache', 'disabled', 'frozen', 'hidden', 'validator', 'warnings']), None)},
# 'val1': {None: (set([]), None)},
# 'val3': {None: (set([]), None)},
# 'val4': {None: (set([]), None)},
# 'val5': {None: (set(['empty']), None)}}
compare(cfg.cfgimpl_get_values()._p_.get_cached(), {'val1': {None: ('new', None)},
compare(cfg._config.cfgimpl_get_values()._p_.get_cached(), {'val1': {None: ('new', None)},
'val2': {None: ('new', None)},
'val3': {None: ('new2', None)},
'val4': {None: ('new3', None)}})
api.option.make_dict()
#assert cfg.cfgimpl_get_settings()._p_.get_cached() == {None: {None: (set(['cache', 'disabled', 'frozen', 'hidden', 'validator', 'warnings']), None)},
#assert cfg._config.cfgimpl_get_settings()._p_.get_cached() == {None: {None: (set(['cache', 'disabled', 'frozen', 'hidden', 'validator', 'warnings']), None)},
# 'val1': {None: (set([]), None)},
# 'val3': {None: (set([]), None)},
# 'val4': {None: (set([]), None)},
# 'val5': {None: (set(['empty']), None)}}
compare(cfg.cfgimpl_get_values()._p_.get_cached(), {'val1': {None: ('new', None)},
compare(cfg._config.cfgimpl_get_values()._p_.get_cached(), {'val1': {None: ('new', None)},
'val2': {None: ('new', None)},
'val3': {None: ('new2', None)},
'val4': {None: ('new3', None)},
@ -594,20 +594,20 @@ def test_cache_master_and_slaves_master():
#None because no value
idx_val2 = None
if TIRAMISU_VERSION == 2:
assert cfg.cfgimpl_get_settings()._p_.get_cached() == {}
assert cfg.cfgimpl_get_values()._p_.get_cached() == {}
assert cfg._config.cfgimpl_get_settings()._p_.get_cached() == {}
assert cfg._config.cfgimpl_get_values()._p_.get_cached() == {}
else:
compare(cfg.cfgimpl_get_settings()._p_.get_cached(), {None: {None: (global_props, None)},
compare(cfg._config.cfgimpl_get_settings()._p_.get_cached(), {None: {None: (global_props, None)},
'val1': {None: (val1_props, None)},
'val1.val1': {None: (val1_val1_props, None)},
'val1.val2': {idx_val2: (val1_val2_props, None)}})
# len is 0 so don't get any value
compare(cfg.cfgimpl_get_values()._p_.get_cached(), {'val1.val1': {None: ([], None)}})
compare(cfg._config.cfgimpl_get_values()._p_.get_cached(), {'val1.val1': {None: ([], None)}})
#
api.option('val1.val1').value.set([undefined])
compare(cfg.cfgimpl_get_settings()._p_.get_cached(), {None: {None: (set(['cache', 'disabled', 'frozen', 'hidden', 'validator', 'warnings']), None)},
compare(cfg._config.cfgimpl_get_settings()._p_.get_cached(), {None: {None: (set(['cache', 'disabled', 'frozen', 'hidden', 'validator', 'warnings']), None)},
'val1': {None: (set([]), None)}})
assert cfg.cfgimpl_get_values()._p_.get_cached() == {}
assert cfg._config.cfgimpl_get_values()._p_.get_cached() == {}
api.option.make_dict()
if TIRAMISU_VERSION == 2:
val_val2 = [None]
@ -617,31 +617,31 @@ def test_cache_master_and_slaves_master():
idx_val2 = 0
val_val2 = None
val_val2_props = {idx_val2: (val1_val2_props, None)}
compare(cfg.cfgimpl_get_settings()._p_.get_cached(), {None: {None: (global_props, None)},
compare(cfg._config.cfgimpl_get_settings()._p_.get_cached(), {None: {None: (global_props, None)},
'val1': {None: (val1_props, None)},
'val1.val1': {None: (val1_val1_props, None)},
'val1.val2': val_val2_props})
compare(cfg.cfgimpl_get_values()._p_.get_cached(), {'val1.val1': {None: ([None], None)},
compare(cfg._config.cfgimpl_get_values()._p_.get_cached(), {'val1.val1': {None: ([None], None)},
'val1.val2': {idx_val2: (val_val2, None)}})
api.option('val1.val1').value.set([undefined, undefined])
api.option.make_dict()
api.option('val1.val2', 1).value.set('oui')
compare(cfg.cfgimpl_get_settings()._p_.get_cached(), {None: {None: (set(['cache', 'disabled', 'frozen', 'hidden', 'validator', 'warnings']), None)},
compare(cfg._config.cfgimpl_get_settings()._p_.get_cached(), {None: {None: (set(['cache', 'disabled', 'frozen', 'hidden', 'validator', 'warnings']), None)},
'val1': {None: (set([]), None)}})
assert cfg.cfgimpl_get_values()._p_.get_cached() == {}
assert cfg._config.cfgimpl_get_values()._p_.get_cached() == {}
if TIRAMISU_VERSION == 2:
val1_val2_props = {None: (set([]), None), 0: (set([]), None), 1: (set([]), None)}
else:
val1_val2_props = {0: (frozenset([]), None), 1: (frozenset([]), None)}
#assert cfg.cfgimpl_get_settings()._p_.get_cached() == {None: {None: (global_props, None)},
#assert cfg._config.cfgimpl_get_settings()._p_.get_cached() == {None: {None: (global_props, None)},
# 'val1': {None: (val1_props, None)},
# 'val1.val1': {None: (val1_val1_props, None)},
# 'val1.val2': val1_val2_props}
#if TIRAMISU_VERSION == 2:
# assert cfg.cfgimpl_get_values()._p_.get_cached() == {'val1.val1': {None: ([None, None], None)},
# assert cfg._config.cfgimpl_get_values()._p_.get_cached() == {'val1.val1': {None: ([None, None], None)},
# 'val1.val2': {None: ([None, 'oui'], None)}}
#else:
# assert cfg.cfgimpl_get_values()._p_.get_cached() == {'val1.val1': {None: ([None, None], None)},
# assert cfg._config.cfgimpl_get_values()._p_.get_cached() == {'val1.val1': {None: ([None, None], None)},
# 'val1.val2': {0: (None, None), 1: ('oui', None)}}
@ -671,23 +671,23 @@ def test_cache_master_callback():
val1_val1_props = frozenset(val1_val1_props)
val1_val2_props = frozenset(val1_val2_props)
if TIRAMISU_VERSION == 2:
assert cfg.cfgimpl_get_settings()._p_.get_cached() == {}
assert cfg.cfgimpl_get_values()._p_.get_cached() == {}
assert cfg._config.cfgimpl_get_settings()._p_.get_cached() == {}
assert cfg._config.cfgimpl_get_values()._p_.get_cached() == {}
else:
compare(cfg.cfgimpl_get_settings()._p_.get_cached(), {None: {None: (global_props, None)},
compare(cfg._config.cfgimpl_get_settings()._p_.get_cached(), {None: {None: (global_props, None)},
'val1': {None: (val1_props, None)},
'val1.val1': {None: (val1_val1_props, None)},
'val1.val2': {None: (val1_val2_props, None)}})
compare(cfg.cfgimpl_get_values()._p_.get_cached(), {'val1.val1': {None: ([], None)}})
compare(cfg._config.cfgimpl_get_values()._p_.get_cached(), {'val1.val1': {None: ([], None)}})
api.option('val1.val1').value.set([undefined])
compare(cfg.cfgimpl_get_settings()._p_.get_cached(), {None: {None: (set(['cache', 'disabled', 'frozen', 'hidden', 'validator', 'warnings']), None)},
compare(cfg._config.cfgimpl_get_settings()._p_.get_cached(), {None: {None: (set(['cache', 'disabled', 'frozen', 'hidden', 'validator', 'warnings']), None)},
'val1': {None: (set([]), None)}})
assert cfg.cfgimpl_get_values()._p_.get_cached() == {}
assert cfg._config.cfgimpl_get_values()._p_.get_cached() == {}
api.option.make_dict()
#FIXMEassert cfg.cfgimpl_get_settings()._p_.get_cached() == {None: {None: (set(['cache', 'disabled', 'frozen', 'hidden', 'validator', 'warnings']), None)},
#FIXMEassert cfg._config.cfgimpl_get_settings()._p_.get_cached() == {None: {None: (set(['cache', 'disabled', 'frozen', 'hidden', 'validator', 'warnings']), None)},
# 'val1': {None: (set([]), None)}}
#FIXMEassert cfg.cfgimpl_get_values()._p_.get_cached() == {'val1.val1': {None: ([None], None)},
#FIXMEassert cfg._config.cfgimpl_get_values()._p_.get_cached() == {'val1.val1': {None: ([None], None)},
# 'val1.val2': {None: ([None], None)}
# }
@ -703,43 +703,43 @@ def test_cache_master_callback():
# api.property.read_write()
# api.property.pop('expire')
# api.option.make_dict()
# compare(cfg.cfgimpl_get_values()._p_.get_cached(), {'int': {None: ([0], None)},
# compare(cfg._config.cfgimpl_get_values()._p_.get_cached(), {'int': {None: ([0], None)},
# 'str': {None: ([None], None)},
# 'str1': {None: ([None], None)}})
# conver(cfg.cfgimpl_get_settings()._p_.get_cached(), {None: {None: (set(['cache', 'disabled', 'frozen', 'hidden', 'validator', 'warnings']), None)},
# conver(cfg._config.cfgimpl_get_settings()._p_.get_cached(), {None: {None: (set(['cache', 'disabled', 'frozen', 'hidden', 'validator', 'warnings']), None)},
# 'int': {None: (set(['empty']), None)},
# 'str': {None: (set([]), None), 0: (set([]), None)},
# 'str1': {None: (set([]), None), 0: (set([]), None)}})
# api.option('int').value.set([0, 1])
# api.option.make_dict()
# compare(cfg.cfgimpl_get_values()._p_.get_cached(), {'int': {None: ([0, 1], None)},
# compare(cfg._config.cfgimpl_get_values()._p_.get_cached(), {'int': {None: ([0, 1], None)},
# 'str': {None: ([None, None], None)},
# 'str1': {None: ([None, None], None)}})
# compare(cfg.cfgimpl_get_settings()._p_.get_cached(), {None: {None: (set(['cache', 'disabled', 'frozen', 'hidden', 'validator', 'warnings']), None)},
# compare(cfg._config.cfgimpl_get_settings()._p_.get_cached(), {None: {None: (set(['cache', 'disabled', 'frozen', 'hidden', 'validator', 'warnings']), None)},
# 'int': {None: (set(['empty']), None)},
# 'str': {None: (set([]), None), 0: (set([]), None), 1: (set([]), None)},
# 'str1': {None: (set([]), None), 0: (set([]), None), 1: (set([]), None)}})
#
# api.option('str', 1).value.set('1')
# api.option.make_dict()
# assert set(cfg.cfgimpl_get_values()._p_.get_cached().keys()) == set(['int', 'str', 'str1'])
# compare(cfg.cfgimpl_get_values()._p_.get_cached()['int'], {None: ([0, 1], None)})
# compare(cfg.cfgimpl_get_values()._p_.get_cached()['str'], {None: ([None, '1'], None)})
# assert cfg.cfgimpl_get_values()._p_.get_cached()['str1'][None][0][0] == None
# raises(PropertiesOptionError, "cfg.cfgimpl_get_values()._p_.get_cached()['str1'][None][0][1]")
# assert cfg.cfgimpl_get_values()._p_.get_cached()['str1'][None][1] == None
# compare(cfg.cfgimpl_get_settings()._p_.get_cached(), {None: {None: (set(['cache', 'disabled', 'frozen', 'hidden', 'validator', 'warnings']), None)},
# assert set(cfg._config.cfgimpl_get_values()._p_.get_cached().keys()) == set(['int', 'str', 'str1'])
# compare(cfg._config.cfgimpl_get_values()._p_.get_cached()['int'], {None: ([0, 1], None)})
# compare(cfg._config.cfgimpl_get_values()._p_.get_cached()['str'], {None: ([None, '1'], None)})
# assert cfg._config.cfgimpl_get_values()._p_.get_cached()['str1'][None][0][0] == None
# raises(PropertiesOptionError, "cfg._config.cfgimpl_get_values()._p_.get_cached()['str1'][None][0][1]")
# assert cfg._config.cfgimpl_get_values()._p_.get_cached()['str1'][None][1] == None
# compare(cfg._config.cfgimpl_get_settings()._p_.get_cached(), {None: {None: (set(['cache', 'disabled', 'frozen', 'hidden', 'validator', 'warnings']), None)},
# 'int': {None: (set(['empty']), None)},
# 'str': {None: (set([]), None), 0: (set([]), None), 1: (set([]), None)},
# 'str1': {None: (set([]), None), 0: (set([]), None), 1: (set(['hidden']), None)}})
# api.property.read_only()
# assert cfg.cfgimpl_get_values()._p_.get_cached() == {}
# assert cfg.cfgimpl_get_settings()._p_.get_cached() == {}
# assert cfg._config.cfgimpl_get_values()._p_.get_cached() == {}
# assert cfg._config.cfgimpl_get_settings()._p_.get_cached() == {}
# api.option.make_dict()
# assert cfg.cfgimpl_get_values()._p_.get_cached() == {'int': {None: ([0, 1], None)},
# assert cfg._config.cfgimpl_get_values()._p_.get_cached() == {'int': {None: ([0, 1], None)},
# 'str': {None: ([None, '1'], None)},
# 'str1': {None: ([None, None], None)}}
# assert cfg.cfgimpl_get_settings()._p_.get_cached() == {None: {None: (set(['cache', 'disabled', 'frozen', 'everything_frozen', 'validator', 'warnings', 'empty', 'mandatory', ]), None)},
# assert cfg._config.cfgimpl_get_settings()._p_.get_cached() == {None: {None: (set(['cache', 'disabled', 'frozen', 'everything_frozen', 'validator', 'warnings', 'empty', 'mandatory', ]), None)},
# 'int': {None: (set(['empty']), None)},
# 'str': {None: (set([]), None), 0: (set([]), None), 1: (set([]), None)},
# 'str1': {None: (set([]), None), 0: (set([]), None), 1: (set(['hidden']), None)}}
@ -755,46 +755,46 @@ def test_cache_requires():
api.property.read_write()
if TIRAMISU_VERSION == 2:
api.property.pop('expire')
assert c.cfgimpl_get_values()._p_.get_cached() == {}
assert c._config.cfgimpl_get_values()._p_.get_cached() == {}
assert api.option('ip_address_service').value.get() == None
compare(c.cfgimpl_get_settings()._p_.get_cached(), {None: {None: (set(['cache', 'disabled', 'frozen', 'hidden', 'validator', 'warnings']), None)},
compare(c._config.cfgimpl_get_settings()._p_.get_cached(), {None: {None: (set(['cache', 'disabled', 'frozen', 'hidden', 'validator', 'warnings']), None)},
'activate_service': {None: (set([]), None)},
'ip_address_service': {None: (set([]), None)}})
if TIRAMISU_VERSION == 2:
assert c.cfgimpl_get_values()._p_.get_cached() == {'ip_address_service': {None: (None, None)}}
assert c._config.cfgimpl_get_values()._p_.get_cached() == {'ip_address_service': {None: (None, None)}}
else:
compare(c.cfgimpl_get_values()._p_.get_cached(), {'ip_address_service': {None: (None, None)},
compare(c._config.cfgimpl_get_values()._p_.get_cached(), {'ip_address_service': {None: (None, None)},
'activate_service': {None: (True, None)}})
api.option.make_dict()
compare(c.cfgimpl_get_settings()._p_.get_cached(), {None: {None: (set(['cache', 'disabled', 'frozen', 'hidden', 'validator', 'warnings']), None)},
compare(c._config.cfgimpl_get_settings()._p_.get_cached(), {None: {None: (set(['cache', 'disabled', 'frozen', 'hidden', 'validator', 'warnings']), None)},
'activate_service': {None: (set([]), None)},
'ip_address_service': {None: (set([]), None)}})
compare(c.cfgimpl_get_values()._p_.get_cached(), {'ip_address_service': {None: (None, None)},
compare(c._config.cfgimpl_get_values()._p_.get_cached(), {'ip_address_service': {None: (None, None)},
'activate_service': {None: (True, None)}})
api.option('ip_address_service').value.set('1.1.1.1')
compare(c.cfgimpl_get_settings()._p_.get_cached(), {None: {None: (set(['cache', 'disabled', 'frozen', 'hidden', 'validator', 'warnings']), None)},
compare(c._config.cfgimpl_get_settings()._p_.get_cached(), {None: {None: (set(['cache', 'disabled', 'frozen', 'hidden', 'validator', 'warnings']), None)},
'activate_service': {None: (set([]), None)}})
compare(c.cfgimpl_get_values()._p_.get_cached(), {'activate_service': {None: (True, None)}})
compare(c._config.cfgimpl_get_values()._p_.get_cached(), {'activate_service': {None: (True, None)}})
api.option.make_dict()
compare(c.cfgimpl_get_settings()._p_.get_cached(), {None: {None: (set(['cache', 'disabled', 'frozen', 'hidden', 'validator', 'warnings']), None)},
compare(c._config.cfgimpl_get_settings()._p_.get_cached(), {None: {None: (set(['cache', 'disabled', 'frozen', 'hidden', 'validator', 'warnings']), None)},
'activate_service': {None: (set([]), None)},
'ip_address_service': {None: (set([]), None)}})
compare(c.cfgimpl_get_values()._p_.get_cached(), {'ip_address_service': {None: ('1.1.1.1', None)},
compare(c._config.cfgimpl_get_values()._p_.get_cached(), {'ip_address_service': {None: ('1.1.1.1', None)},
'activate_service': {None: (True, None)}})
api.option('activate_service').value.set(False)
compare(c.cfgimpl_get_settings()._p_.get_cached(), {None: {None: (set(['cache', 'disabled', 'frozen', 'hidden', 'validator', 'warnings']), None)}})
compare(c._config.cfgimpl_get_settings()._p_.get_cached(), {None: {None: (set(['cache', 'disabled', 'frozen', 'hidden', 'validator', 'warnings']), None)}})
assert c.cfgimpl_get_values()._p_.get_cached() == {}
assert c._config.cfgimpl_get_values()._p_.get_cached() == {}
api.option.make_dict()
compare(c.cfgimpl_get_settings()._p_.get_cached(), {None: {None: (set(['cache', 'disabled', 'frozen', 'hidden', 'validator', 'warnings']), None)},
compare(c._config.cfgimpl_get_settings()._p_.get_cached(), {None: {None: (set(['cache', 'disabled', 'frozen', 'hidden', 'validator', 'warnings']), None)},
'activate_service': {None: (set([]), None)},
'ip_address_service': {None: (set(['disabled']), None)}})
compare(c.cfgimpl_get_values()._p_.get_cached(), {'activate_service': {None: (False, None)}})
compare(c._config.cfgimpl_get_values()._p_.get_cached(), {'activate_service': {None: (False, None)}})
def test_cache_global_properties():
@ -805,25 +805,25 @@ def test_cache_global_properties():
c = Config(od)
api = getapi(c)
api.property.read_write()
assert c.cfgimpl_get_values()._p_.get_cached() == {}
assert c._config.cfgimpl_get_values()._p_.get_cached() == {}
assert api.option('ip_address_service').value.get() == None
compare(c.cfgimpl_get_settings()._p_.get_cached(), {None: {None: (set(['cache', 'disabled', 'frozen', 'hidden', 'validator', 'warnings']), None)},
compare(c._config.cfgimpl_get_settings()._p_.get_cached(), {None: {None: (set(['cache', 'disabled', 'frozen', 'hidden', 'validator', 'warnings']), None)},
'activate_service': {None: (set([]), None)},
'ip_address_service': {None: (set([]), None)}})
if TIRAMISU_VERSION == 2:
assert c.cfgimpl_get_values()._p_.get_cached() == {'ip_address_service': {None: (None, None)}}
assert c._config.cfgimpl_get_values()._p_.get_cached() == {'ip_address_service': {None: (None, None)}}
else:
compare(c.cfgimpl_get_values()._p_.get_cached(), {'ip_address_service': {None: (None, None)},
compare(c._config.cfgimpl_get_values()._p_.get_cached(), {'ip_address_service': {None: (None, None)},
'activate_service': {None: (True, None)}})
api.property.pop('disabled')
assert api.option('ip_address_service').value.get() == None
compare(c.cfgimpl_get_settings()._p_.get_cached(), {None: {None: (set(['cache', 'frozen', 'hidden', 'validator', 'warnings']), None)},
compare(c._config.cfgimpl_get_settings()._p_.get_cached(), {None: {None: (set(['cache', 'frozen', 'hidden', 'validator', 'warnings']), None)},
'activate_service': {None: (set([]), None)},
'ip_address_service': {None: (set([]), None)}})
api.property.add('test')
assert api.option('ip_address_service').value.get() == None
compare(c.cfgimpl_get_settings()._p_.get_cached(), {None: {None: (set(['cache', 'frozen', 'hidden', 'validator', 'warnings', 'test']), None)},
compare(c._config.cfgimpl_get_settings()._p_.get_cached(), {None: {None: (set(['cache', 'frozen', 'hidden', 'validator', 'warnings', 'test']), None)},
'activate_service': {None: (set([]), None)},
'ip_address_service': {None: (set([]), None)}})

View File

@ -6,7 +6,7 @@ do_autopath()
from tiramisu.setting import owners
from tiramisu.option import ChoiceOption, StrOption, OptionDescription
from tiramisu.config import Config
from tiramisu import Config
from tiramisu.error import ConfigError
from tiramisu import getapi, undefined, Params, ParamValue, ParamOption
from tiramisu.api import TIRAMISU_VERSION

View File

@ -8,7 +8,8 @@ import weakref
from .autopath import do_autopath
do_autopath()
from tiramisu.config import Config, SubConfig
from tiramisu import Config
from tiramisu.config import SubConfig
from tiramisu.i18n import _
from tiramisu import Config, IntOption, FloatOption, StrOption, ChoiceOption, \
BoolOption, UnicodeOption, OptionDescription, getapi, undefined
@ -54,12 +55,12 @@ def test_base_config_name():
gcdummy = BoolOption('dummy', 'dummy', default=False)
descr = OptionDescription('tiramisu', '', [gcdummy])
cfg = Config(descr, session_id='cfg')
cfg.impl_getname() == 'cfg'
cfg.config.name() == 'cfg'
raises(ValueError, "Config(descr, session_id='unvalid name')")
def test_not_config():
assert raises(TypeError, "Config('str')")
#
#
#def test_not_config():
# assert raises(TypeError, "Config('str')")
#def test_base_path():
@ -167,8 +168,8 @@ def test_config_impl_get_path_by_opt():
boo = api.option('bool').option.get()
unknown = IntOption('test', '')
unknown
assert config.cfgimpl_get_description().impl_get_path_by_opt(boo) == 'bool'
assert config.cfgimpl_get_description().impl_get_path_by_opt(dummy) == 'gc.dummy'
assert config._config.cfgimpl_get_description().impl_get_path_by_opt(boo) == 'bool'
assert config._config.cfgimpl_get_description().impl_get_path_by_opt(dummy) == 'gc.dummy'
#raises(AttributeError, "config.cfgimpl_get_description().impl_get_path_by_opt(unknown)")

View File

@ -4,7 +4,7 @@ do_autopath()
import warnings, sys
from py.test import raises
from tiramisu.config import Config
from tiramisu import Config
from tiramisu.option import DomainnameOption, EmailOption, URLOption, OptionDescription
from tiramisu.error import ValueWarning
from tiramisu.i18n import _

View File

@ -19,7 +19,7 @@ def test_deref_storage():
b = BoolOption('b', '')
o = OptionDescription('od', '', [b])
c = Config(o)
w = weakref.ref(c.cfgimpl_get_values()._p_)
w = weakref.ref(c._config.cfgimpl_get_values()._p_)
del(c)
assert w() is None
@ -28,7 +28,7 @@ def test_deref_value():
b = BoolOption('b', '')
o = OptionDescription('od', '', [b])
c = Config(o)
w = weakref.ref(c.cfgimpl_get_values())
w = weakref.ref(c._config.cfgimpl_get_values())
del(c)
assert w() is None
@ -37,7 +37,7 @@ def test_deref_setting():
b = BoolOption('b', '')
o = OptionDescription('od', '', [b])
c = Config(o)
w = weakref.ref(c.cfgimpl_get_settings())
w = weakref.ref(c._config.cfgimpl_get_settings())
del(c)
assert w() is None
@ -134,36 +134,36 @@ def test_deref_optiondescription_config():
assert w() is None
def test_deref_groupconfig():
if not IS_DEREFABLE:
return
i1 = IntOption('i1', '')
od1 = OptionDescription('od1', '', [i1])
od2 = OptionDescription('od2', '', [od1])
conf1 = Config(od2, 'conf1')
conf2 = Config(od2, 'conf2')
meta = GroupConfig([conf1, conf2])
w = weakref.ref(conf1)
del(conf1)
assert w() is not None
del(meta)
assert w() is None
#def test_deref_groupconfig():
# if not IS_DEREFABLE:
# return
# i1 = IntOption('i1', '')
# od1 = OptionDescription('od1', '', [i1])
# od2 = OptionDescription('od2', '', [od1])
# conf1 = Config(od2, 'conf1')
# conf2 = Config(od2, 'conf2')
# meta = GroupConfig([conf1, conf2])
# w = weakref.ref(conf1)
# del(conf1)
# assert w() is not None
# del(meta)
# assert w() is None
def test_deref_metaconfig():
if not IS_DEREFABLE:
return
i1 = IntOption('i1', '')
od1 = OptionDescription('od1', '', [i1])
od2 = OptionDescription('od2', '', [od1])
conf1 = Config(od2, 'conf1')
conf2 = Config(od2, 'conf2')
meta = MetaConfig([conf1, conf2])
w = weakref.ref(conf1)
del(conf1)
assert w() is not None
del(meta)
assert w() is None
#def test_deref_metaconfig():
# if not IS_DEREFABLE:
# return
# i1 = IntOption('i1', '')
# od1 = OptionDescription('od1', '', [i1])
# od2 = OptionDescription('od2', '', [od1])
# conf1 = Config(od2, 'conf1')
# conf2 = Config(od2, 'conf2')
# meta = MetaConfig([conf1, conf2])
# w = weakref.ref(conf1)
# del(conf1)
# assert w() is not None
# del(meta)
# assert w() is None
def test_deref_consistency():

View File

@ -3,7 +3,7 @@ from .autopath import do_autopath
do_autopath()
from tiramisu.setting import groups
from tiramisu.config import Config
from tiramisu import Config
from tiramisu import ChoiceOption, BoolOption, IntOption, \
StrOption, OptionDescription, getapi
from .test_state import _diff_opts, _diff_conf
@ -48,7 +48,7 @@ def make_description():
def test_duplicate():
cfg = Config(make_description())
ncfg = cfg.duplicate()
ncfg = cfg.config.duplicate()
api = getapi(cfg)
api2 = getapi(ncfg)
assert api.option('creole.general.numero_etab').value.get() == None

View File

@ -4,7 +4,7 @@ do_autopath()
from py.test import raises
from tiramisu.api import TIRAMISU_VERSION
from tiramisu.config import Config
from tiramisu import Config
from tiramisu import IntOption, StrOption, UnicodeOption, OptionDescription, \
SymLinkOption, MasterSlaves, getapi, undefined, Params, ParamOption
from tiramisu.error import PropertiesOptionError, ConfigError

View File

@ -139,9 +139,9 @@ def test_find():
'od1.i2': 1, 'od1.i5': [2]}
def test_group_error():
raises(ValueError, "GroupConfig('str')")
raises(ValueError, "GroupConfig(['str'])")
#def test_group_error():
# raises(ValueError, "GroupConfig('str')")
# raises(ValueError, "GroupConfig(['str'])")
def test_meta_meta():
@ -187,17 +187,17 @@ def test_meta_meta():
def test_meta_new_config():
od = make_description()
meta = MetaConfig(['name1', 'name2'], optiondescription=od)
assert len(meta.cfgimpl_get_children()) == 2
meta.new_config('newconf1')
assert len(meta.cfgimpl_get_children()) == 3
assert len(meta.config.list()) == 2
meta.config.new('newconf1')
assert len(meta.config.list()) == 3
def test_meta_new_config_wrong_name():
od = make_description()
meta = MetaConfig(['name1', 'name2'], optiondescription=od)
assert len(meta.cfgimpl_get_children()) == 2
raises(ConflictError, "meta.new_config('name1')")
assert len(meta.cfgimpl_get_children()) == 2
assert len(meta.config.list()) == 2
raises(ConflictError, "meta.config.new('name1')")
assert len(meta.config.list()) == 2
def test_meta_meta_set():
@ -232,14 +232,14 @@ def test_not_meta():
conf2 = Config(od2, session_id='conf2')
conf3 = Config(od2)
conf4 = Config(od2, session_id='conf4')
raises(ValueError, "GroupConfig(conf1)")
raises(TypeError, "GroupConfig(conf1)")
#same name
raises(ConflictError, "GroupConfig([conf2, conf4], session_id='conf2')")
raises(ConflictError, "GroupConfig([conf2, conf2], session_id='conf8')")
grp = GroupConfig([conf1, conf2])
api = getapi(grp)
raises(ConfigError, "api.option('od1.i1').value.get()")
conf1, conf2 = grp.cfgimpl_get_children()
conf1, conf2 = grp.config.list()
errors = api.value.set('od1.i1', 7)
assert len(errors) == 0
assert api.config('conf1').option('od1.i1').value.get() == api.config('conf2').option('od1.i1').value.get() == 7
@ -254,7 +254,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('i1', first=True).cfgimpl_get_children()
assert [conf1._config, conf2._config] == api.config.find('i1', first=True).cfgimpl_get_children()
def test_group_group():
@ -303,13 +303,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('ip_admin_eth0', first=True).cfgimpl_get_children()
assert [conf1, conf2] == api.config.find('netmask_admin_eth0', first=True).cfgimpl_get_children()
assert [conf1._config, conf2._config] == api.config.find('ip_admin_eth0', first=True).cfgimpl_get_children()
assert [conf1._config, conf2._config] == api.config.find('netmask_admin_eth0', first=True).cfgimpl_get_children()
api.property.read_write()
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()
assert [conf1._config, conf2._config] == api.unrestraint.config.find('netmask_admin_eth0', first=True).cfgimpl_get_children()
api.property.read_only()
assert [conf1, conf2] == api.config.find('netmask_admin_eth0', first=True).cfgimpl_get_children()
assert [conf1._config, conf2._config] == api.config.find('netmask_admin_eth0', first=True).cfgimpl_get_children()
def test_meta_master_slaves_value2():

View File

@ -3,7 +3,8 @@ do_autopath()
from py.test import raises
from tiramisu.config import Config
from tiramisu import Config
from tiramisu.config import KernelConfig
from tiramisu.setting import groups, owners
from tiramisu import ChoiceOption, BoolOption, IntOption, FloatOption, \
StrOption, OptionDescription, SymLinkOption, IPOption, NetmaskOption, MasterSlaves, \
@ -66,14 +67,14 @@ def return_calc(i, j, k):
def is_config(config, **kwargs):
if isinstance(config, Config):
if isinstance(config, KernelConfig):
return 'yes'
else:
return 'no'
def ret_from_config(config):
api = getapi(config)
api = Config(config)
return api.option('val1').value.get()
@ -253,7 +254,6 @@ def test_callback_invalid():
def test_callback_with_context():
#val1 = StrOption("val1", "", callback=is_config, callback_params={'': ((None,),), 'value': ('string',)})
context = ParamContext()
value = ParamValue('string')
params = Params((context,), {'value': value})

View File

@ -34,9 +34,9 @@ def return_if_val(value):
def is_context(value, context):
api = getapi(context)
api = Config(context)
api.property.pop('validator')
if not isinstance(context, Config):
if not isinstance(api, Config):
raise ValueError('not context')
@ -91,7 +91,7 @@ def value_empty(value, empty, values):
def valid_from_config(value, config):
api = getapi(config)
api = Config(config)
if api.option('opt1').value.get() != u'yes':
raise ValueError("c'est une erreur")

View File

@ -9,7 +9,8 @@ try:
tiramisu_version = 3
except:
tiramisu_version = 2
from tiramisu.config import Config, SubConfig
from tiramisu import Config
from tiramisu.config import SubConfig
from tiramisu.option import ChoiceOption, BoolOption, IntOption, FloatOption,\
StrOption, SymLinkOption, UnicodeOption, IPOption, OptionDescription, \
PortOption, NetworkOption, NetmaskOption, DomainnameOption, EmailOption, \
@ -149,14 +150,14 @@ def test_slots_config():
od1 = OptionDescription('a', '', [])
od2 = OptionDescription('a', '', [od1])
c = Config(od2)
raises(AttributeError, "c.x = 1")
raises(AttributeError, "c.cfgimpl_x = 1")
raises(AttributeError, "c._config.x = 1")
raises(AttributeError, "c._config.cfgimpl_x = 1")
option_bag = OptionBag()
option_bag.set_option(od2,
'a',
None,
ConfigBag(c))
sc = c.get_subconfig('a', option_bag)
ConfigBag(c._config))
sc = c._config.get_subconfig('a', option_bag)
assert isinstance(sc, SubConfig)
raises(AttributeError, "sc.x = 1")
raises(AttributeError, "sc.cfgimpl_x = 1")
@ -166,7 +167,7 @@ def test_slots_setting():
od1 = OptionDescription('a', '', [])
od2 = OptionDescription('a', '', [od1])
c = Config(od2)
s = c.cfgimpl_get_settings()
s = c._config.cfgimpl_get_settings()
s
raises(AttributeError, "s.x = 1")
@ -175,6 +176,6 @@ def test_slots_value():
od1 = OptionDescription('a', '', [])
od2 = OptionDescription('a', '', [od1])
c = Config(od2)
v = c.cfgimpl_get_values()
v = c._config.cfgimpl_get_values()
v
raises(AttributeError, "v.x = 1")

View File

@ -3,7 +3,7 @@
#
from tiramisu.option import BoolOption, UnicodeOption, SymLinkOption, \
OptionDescription, DynOptionDescription
from tiramisu.config import Config
from tiramisu import Config
from pickle import dumps
from py.test import raises
import sys
@ -223,7 +223,8 @@ def test_diff_information_config():
b.impl_set_information('info2', 'oh')
o = OptionDescription('o', '', [b])
o1 = OptionDescription('o1', '', [o])
raises(NotImplementedError, "dumps(Config(o1))")
c = Config(o1)._config
raises(NotImplementedError, "dumps(c)")
def test_only_optiondescription():

View File

@ -5,7 +5,7 @@ do_autopath()
from py.test import raises
from tiramisu.error import ConfigError
from tiramisu.config import Config
from tiramisu import Config
from tiramisu.option import BoolOption, OptionDescription, MasterSlaves
from tiramisu.setting import groups, owners
from tiramisu.storage import list_sessions, delete_session