requires could be apply to a slave and properties could be different
This commit is contained in:
@ -4,9 +4,10 @@ do_autopath()
|
||||
|
||||
from tiramisu import setting
|
||||
setting.expires_time = 1
|
||||
from tiramisu.option import IntOption, OptionDescription
|
||||
from tiramisu.option import IntOption, StrOption, OptionDescription
|
||||
from tiramisu.config import Config
|
||||
from tiramisu.error import ConfigError, PropertiesOptionError
|
||||
from tiramisu.error import ConfigError
|
||||
from tiramisu.setting import groups
|
||||
|
||||
|
||||
from time import sleep, time
|
||||
@ -50,9 +51,9 @@ def test_get_cache():
|
||||
values = c.cfgimpl_get_values()
|
||||
settings = c.cfgimpl_get_settings()
|
||||
ntime = time() + 1
|
||||
settings._p_.setcache('u1', set(['inject']), ntime)
|
||||
settings._p_.setcache('u1', set(['inject']), ntime, None)
|
||||
assert 'inject' in settings[od1.u1]
|
||||
values._p_.setcache('u1', 100, ntime)
|
||||
values._p_.setcache('u1', 100, ntime, None)
|
||||
assert c.u1 == [100]
|
||||
|
||||
|
||||
@ -62,9 +63,9 @@ def test_get_cache_no_expire():
|
||||
c = Config(od1)
|
||||
values = c.cfgimpl_get_values()
|
||||
settings = c.cfgimpl_get_settings()
|
||||
settings._p_.setcache('u1', set(['inject2']), None)
|
||||
settings._p_.setcache('u1', set(['inject2']), None, None)
|
||||
assert 'inject2' in settings[od1.u1]
|
||||
values._p_.setcache('u1', 200, None)
|
||||
values._p_.setcache('u1', 200, None, None)
|
||||
assert c.u1 == [200]
|
||||
|
||||
|
||||
@ -279,13 +280,70 @@ def test_force_cache():
|
||||
c.cfgimpl_get_settings().remove('expire')
|
||||
|
||||
c.cfgimpl_get_values().force_cache()
|
||||
assert c.cfgimpl_get_values()._p_.get_cached(c) == {'u1': ([], None), 'u3': ([], None), 'u2': (None, None), 'u4': (None, None)}
|
||||
assert c.cfgimpl_get_settings()._p_.get_cached(c) == {'u4': (set(['disabled']), None), 'u1': (set([]), None), 'u3': (set([]), None), 'u2': (set([]), None)}
|
||||
assert c.cfgimpl_get_values()._p_.get_cached(c) == {'u1': {None: ([], None)},
|
||||
'u2': {None: (None, None)},
|
||||
'u3': {None: ([], None)},
|
||||
'u4': {None: (None, None)}}
|
||||
assert c.cfgimpl_get_settings()._p_.get_cached(c) == {'u1': {None: (set([]), None)},
|
||||
'u2': {None: (set([]), None)},
|
||||
'u3': {None: (set([]), None)},
|
||||
'u4': {None: (set(['disabled']), None)}}
|
||||
c.read_only()
|
||||
|
||||
c.cfgimpl_get_values().force_cache()
|
||||
assert c.cfgimpl_get_values()._p_.get_cached(c) == {'u1': ([], None), 'u3': ([], None), 'u2': (None, None)}
|
||||
assert c.cfgimpl_get_settings()._p_.get_cached(c) == {'u4': (set(['disabled']), None), 'u1': (set([]), None), 'u3': (set([]), None), 'u2': (set([]), None)}
|
||||
assert c.cfgimpl_get_values()._p_.get_cached(c) == {'u1': {None: ([], None)},
|
||||
'u2': {None: (None, None)},
|
||||
'u3': {None: ([], None)}}
|
||||
assert c.cfgimpl_get_settings()._p_.get_cached(c) == {'u1': {None: (set([]), None)},
|
||||
'u2': {None: (set([]), None)},
|
||||
'u3': {None: (set([]), None)},
|
||||
'u4': {None: (set(['disabled']), None)}}
|
||||
|
||||
c.cfgimpl_get_settings().remove('cache')
|
||||
raises(ConfigError, "c.cfgimpl_get_values().force_cache()")
|
||||
|
||||
|
||||
def test_cache_master_slave():
|
||||
ip_admin_eth0 = StrOption('ip_admin_eth0', "ip réseau autorisé", multi=True)
|
||||
netmask_admin_eth0 = StrOption('netmask_admin_eth0', "masque du sous-réseau", multi=True)
|
||||
interface1 = OptionDescription('ip_admin_eth0', '', [ip_admin_eth0, netmask_admin_eth0])
|
||||
interface1.impl_set_group_type(groups.master)
|
||||
maconfig = OptionDescription('toto', '', [interface1])
|
||||
cfg = Config(maconfig)
|
||||
cfg.read_write()
|
||||
assert cfg.cfgimpl_get_values()._p_.get_cached(cfg) == {}
|
||||
assert cfg.cfgimpl_get_settings()._p_.get_cached(cfg) == {}
|
||||
#
|
||||
cfg.ip_admin_eth0.ip_admin_eth0.append('192.168.1.2')
|
||||
cfg.ip_admin_eth0.ip_admin_eth0
|
||||
cfg.ip_admin_eth0.netmask_admin_eth0
|
||||
cache = cfg.cfgimpl_get_values()._p_.get_cached(cfg)
|
||||
assert set(cache.keys()) == set(['ip_admin_eth0.ip_admin_eth0', 'ip_admin_eth0.netmask_admin_eth0'])
|
||||
assert set(cache['ip_admin_eth0.ip_admin_eth0'].keys()) == set([None])
|
||||
assert cache['ip_admin_eth0.ip_admin_eth0'][None][0] == ['192.168.1.2']
|
||||
assert set(cache['ip_admin_eth0.netmask_admin_eth0'].keys()) == set([None, 0])
|
||||
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(cfg)
|
||||
assert set(cache.keys()) == set(['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])
|
||||
assert set(cache['ip_admin_eth0.netmask_admin_eth0'].keys()) == set([None, 0])
|
||||
#
|
||||
cfg.ip_admin_eth0.ip_admin_eth0.append('192.168.1.1')
|
||||
cfg.ip_admin_eth0.ip_admin_eth0
|
||||
cfg.ip_admin_eth0.netmask_admin_eth0
|
||||
cache = cfg.cfgimpl_get_values()._p_.get_cached(cfg)
|
||||
assert set(cache.keys()) == set(['ip_admin_eth0.ip_admin_eth0', 'ip_admin_eth0.netmask_admin_eth0'])
|
||||
assert set(cache['ip_admin_eth0.ip_admin_eth0'].keys()) == set([None])
|
||||
assert cache['ip_admin_eth0.ip_admin_eth0'][None][0] == ['192.168.1.2', '192.168.1.1']
|
||||
assert set(cache['ip_admin_eth0.netmask_admin_eth0'].keys()) == set([None, 0, 1])
|
||||
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(cfg)
|
||||
assert set(cache.keys()) == set(['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])
|
||||
assert set(cache['ip_admin_eth0.netmask_admin_eth0'].keys()) == set([None, 0, 1])
|
||||
#DEL, insert, ...
|
||||
|
Reference in New Issue
Block a user