duplicate => copy + add deepcopy
This commit is contained in:
@ -46,9 +46,9 @@ def make_description():
|
||||
return descr
|
||||
|
||||
|
||||
def test_duplicate():
|
||||
def test_copy():
|
||||
cfg = Config(make_description())
|
||||
ncfg = cfg.config.duplicate()
|
||||
ncfg = cfg.config.copy()
|
||||
assert cfg.option('creole.general.numero_etab').value.get() == None
|
||||
cfg.option('creole.general.numero_etab').value.set('oui')
|
||||
assert cfg.option('creole.general.numero_etab').value.get() == 'oui'
|
||||
@ -63,7 +63,7 @@ def to_tuple(val):
|
||||
return tuple([tuple(v) for v in val])
|
||||
|
||||
|
||||
def test_duplicate_force_store_value():
|
||||
def test_copy_force_store_value():
|
||||
descr = make_description()
|
||||
conf = Config(descr)
|
||||
conf2 = Config(descr)
|
||||
|
@ -691,6 +691,60 @@ def test_meta_reset():
|
||||
assert meta.config('conf2').option('ip_admin_eth0.ip_admin_eth0').value.get() == []
|
||||
|
||||
|
||||
def test_meta_properties_meta_copy():
|
||||
ip_admin_eth0 = NetworkOption('ip_admin_eth0', "ip", multi=True, default=['192.168.1.1'])
|
||||
netmask_admin_eth0 = NetmaskOption('netmask_admin_eth0', "mask", multi=True, properties=('disabled',))
|
||||
interface1 = OptionDescription('ip_admin_eth0', '', [ip_admin_eth0, netmask_admin_eth0])
|
||||
conf1 = Config(interface1, session_id='conf1')
|
||||
conf2 = Config(interface1, session_id='conf2')
|
||||
meta = MetaConfig([conf1, conf2])
|
||||
meta.property.read_write()
|
||||
|
||||
conf3 = meta.config('conf1').config.copy(session_id='conf3')
|
||||
meta2 = conf3.config.meta()
|
||||
assert meta != meta2
|
||||
|
||||
assert meta.config('conf1').config.dict() == {'ip_admin_eth0': ['192.168.1.1']}
|
||||
assert meta.config('conf2').config.dict() == {'ip_admin_eth0': ['192.168.1.1']}
|
||||
assert meta.config('conf3').config.dict() == {'ip_admin_eth0': ['192.168.1.1']}
|
||||
meta.option('ip_admin_eth0').value.set(['192.168.1.2'])
|
||||
assert meta.config('conf1').config.dict() == {'ip_admin_eth0': ['192.168.1.2']}
|
||||
assert meta.config('conf2').config.dict() == {'ip_admin_eth0': ['192.168.1.2']}
|
||||
assert meta.config('conf3').config.dict() == {'ip_admin_eth0': ['192.168.1.2']}
|
||||
ret = meta.value.set('ip_admin_eth0', ['192.168.1.3'], force_default_if_same=True)
|
||||
assert meta.config('conf1').config.dict() == {'ip_admin_eth0': ['192.168.1.3']}
|
||||
assert meta.config('conf2').config.dict() == {'ip_admin_eth0': ['192.168.1.3']}
|
||||
assert meta.config('conf3').config.dict() == {'ip_admin_eth0': ['192.168.1.3']}
|
||||
|
||||
|
||||
def test_meta_properties_meta_deepcopy():
|
||||
ip_admin_eth0 = NetworkOption('ip_admin_eth0', "ip", multi=True, default=['192.168.1.1'])
|
||||
netmask_admin_eth0 = NetmaskOption('netmask_admin_eth0', "mask", multi=True,
|
||||
properties=('disabled',))
|
||||
interface1 = OptionDescription('ip_admin_eth0', '', [ip_admin_eth0, netmask_admin_eth0])
|
||||
conf1 = Config(interface1, session_id='conf1')
|
||||
conf2 = Config(interface1, session_id='conf2')
|
||||
meta = MetaConfig([conf1, conf2])
|
||||
meta.permissive.set(frozenset({'hidden'}))
|
||||
meta.property.read_write()
|
||||
|
||||
meta2 = meta.config('conf1').config.deepcopy('conf3')
|
||||
assert meta != meta2
|
||||
assert meta.permissive.get() == meta2.permissive.get()
|
||||
|
||||
assert meta.config('conf1').config.dict() == {'ip_admin_eth0': ['192.168.1.1']}
|
||||
assert meta.config('conf2').config.dict() == {'ip_admin_eth0': ['192.168.1.1']}
|
||||
assert meta2.config('conf3').config.dict() == {'ip_admin_eth0': ['192.168.1.1']}
|
||||
meta.option('ip_admin_eth0').value.set(['192.168.1.2'])
|
||||
assert meta.config('conf1').config.dict() == {'ip_admin_eth0': ['192.168.1.2']}
|
||||
assert meta.config('conf2').config.dict() == {'ip_admin_eth0': ['192.168.1.2']}
|
||||
assert meta2.config('conf3').config.dict() == {'ip_admin_eth0': ['192.168.1.1']}
|
||||
meta.value.set('ip_admin_eth0', ['192.168.1.3'], force_default_if_same=True)
|
||||
assert meta.config('conf1').config.dict() == {'ip_admin_eth0': ['192.168.1.3']}
|
||||
assert meta.config('conf2').config.dict() == {'ip_admin_eth0': ['192.168.1.3']}
|
||||
assert meta2.config('conf3').config.dict() == {'ip_admin_eth0': ['192.168.1.1']}
|
||||
|
||||
|
||||
def test_meta_properties_meta_set_value():
|
||||
ip_admin_eth0 = NetworkOption('ip_admin_eth0', "ip", multi=True, default=['192.168.1.1'])
|
||||
netmask_admin_eth0 = NetmaskOption('netmask_admin_eth0', "mask", multi=True, properties=('disabled',))
|
||||
|
Reference in New Issue
Block a user