option's name shall not have an api's method name
This commit is contained in:
@ -43,3 +43,21 @@ def test_root_config_answers_ok():
|
||||
settings.enable_property('hiddend') #cfgimpl_hide()
|
||||
assert cfg.dummy == False
|
||||
assert cfg.boolop == True
|
||||
|
||||
def test_optname_shall_not_start_with_numbers():
|
||||
"if you hide the root config, the options in this namespace behave normally"
|
||||
gcdummy = BoolOption('123dummy', 'dummy', default=False)
|
||||
boolop = BoolOption('boolop', 'Test boolean option op', default=True)
|
||||
descr = OptionDescription('tiramisu', '', [gcdummy, boolop])
|
||||
cfg = Config(descr)
|
||||
# FIXME devrait lever une exception NameError
|
||||
settings = cfg.cfgimpl_get_settings()
|
||||
settings.enable_property('hiddend') #cfgimpl_hide()
|
||||
# assert cfg.123dummy == False
|
||||
assert cfg.boolop == True
|
||||
|
||||
def test_option_has_an_api_name():
|
||||
gcdummy = BoolOption('cfgimpl_get_settings', 'dummy', default=False)
|
||||
boolop = BoolOption('boolop', 'Test boolean option op', default=True)
|
||||
descr = OptionDescription('tiramisu', '', [gcdummy, boolop])
|
||||
raises(NameError, "cfg = Config(descr)")
|
||||
|
@ -2,7 +2,7 @@
|
||||
import autopath
|
||||
from tiramisu.config import *
|
||||
from tiramisu.option import *
|
||||
from tiramisu.setting import groups
|
||||
from tiramisu.setting import groups, owners
|
||||
|
||||
from py.test import raises
|
||||
|
||||
@ -121,3 +121,37 @@ def test_group_always_has_multis():
|
||||
netmask_admin_eth0 = StrOption('netmask_admin_eth0', "masque du sous-réseau")
|
||||
group = OptionDescription('ip_admin_eth0', '', [ip_admin_eth0, netmask_admin_eth0])
|
||||
raises(ConfigError, "group.set_group_type(groups.master)")
|
||||
|
||||
#____________________________________________________________
|
||||
|
||||
def test_values_with_master_and_slaves():
|
||||
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.set_group_type(groups.master)
|
||||
maconfig = OptionDescription('toto', '', [interface1])
|
||||
cfg = Config(maconfig)
|
||||
opt = cfg.unwrap_from_path("ip_admin_eth0.ip_admin_eth0")
|
||||
owner = cfg._cfgimpl_context._cfgimpl_settings.getowner()
|
||||
assert interface1.get_group_type() == groups.master
|
||||
assert opt.getowner(cfg) == owners.default
|
||||
cfg.ip_admin_eth0.ip_admin_eth0.append("192.168.230.145")
|
||||
assert cfg.ip_admin_eth0.ip_admin_eth0 == ["192.168.230.145"]
|
||||
assert opt.getowner(cfg) == owner
|
||||
|
||||
def test_reset_values_with_master_and_slaves():
|
||||
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.set_group_type(groups.master)
|
||||
maconfig = OptionDescription('toto', '', [interface1])
|
||||
cfg = Config(maconfig)
|
||||
opt = cfg.unwrap_from_path("ip_admin_eth0.ip_admin_eth0")
|
||||
owner = cfg._cfgimpl_context._cfgimpl_settings.getowner()
|
||||
assert interface1.get_group_type() == groups.master
|
||||
assert opt.getowner(cfg) == owners.default
|
||||
cfg.ip_admin_eth0.ip_admin_eth0.append("192.168.230.145")
|
||||
assert opt.getowner(cfg) == owner
|
||||
cfg._cfgimpl_context._cfgimpl_values.reset(opt)
|
||||
assert opt.getowner(cfg) == owners.default
|
||||
assert cfg.ip_admin_eth0.ip_admin_eth0 == []
|
||||
|
Reference in New Issue
Block a user