reset for pathconfig

This commit is contained in:
2018-10-31 16:08:22 +01:00
parent b27d283341
commit 4f4ecfd3a8
9 changed files with 185 additions and 81 deletions

View File

@ -746,7 +746,7 @@ def test_meta_reset():
assert meta.option('ip_admin_eth0.ip_admin_eth0').value.get() == ['192.168.1.1']
assert meta.config('conf1').option('ip_admin_eth0.ip_admin_eth0').value.get() == ['192.168.1.2']
assert meta.config('conf2').option('ip_admin_eth0.ip_admin_eth0').value.get() == ['192.168.1.1']
meta.option('ip_admin_eth0.ip_admin_eth0').value.reset(children=True)
meta.value.reset('ip_admin_eth0.ip_admin_eth0')
assert meta.option('ip_admin_eth0.ip_admin_eth0').value.get() == []
assert meta.config('conf1').option('ip_admin_eth0.ip_admin_eth0').value.get() == []
assert meta.config('conf2').option('ip_admin_eth0.ip_admin_eth0').value.get() == []

View File

@ -746,7 +746,7 @@ def test_meta_reset():
assert meta.option('ip_admin_eth0.ip_admin_eth0').value.get() == ['192.168.1.1']
assert meta.config('conf1').option('ip_admin_eth0.ip_admin_eth0').value.get() == ['192.168.1.2']
assert meta.config('conf2').option('ip_admin_eth0.ip_admin_eth0').value.get() == ['192.168.1.1']
meta.option('ip_admin_eth0.ip_admin_eth0').value.reset(children=True)
meta.value.reset('ip_admin_eth0.ip_admin_eth0')
assert meta.option('ip_admin_eth0.ip_admin_eth0').value.get() == []
assert meta.config('conf1').option('ip_admin_eth0.ip_admin_eth0').value.get() == []
assert meta.config('conf2').option('ip_admin_eth0.ip_admin_eth0').value.get() == []
@ -986,11 +986,12 @@ def test_path_different_default():
path = PathConfig(interface3, [path], session_id='subpath2')
path = PathConfig(interface4, [path])
path.property.read_write()
path.value.dict() == {'ip_admin_eth0': ['192.168.1.6']}
path.config('subpath2').value.dict() == {'ip_admin_eth0': ['192.168.1.4'], 'ip_admin_eth1': ['192.168.1.5']}
path.config('subpath2.subpath1').value.dict() == {'ip_admin_eth1': ['192.168.1.3']}
path.config('subpath2.subpath1.conf2').value.dict() == {'ip_admin_eth1': ['192.168.1.2']}
path.config('subpath2.subpath1.conf1').value.dict() == {'ip_admin_eth0': ['192.168.1.1']}
#
assert path.value.dict() == {'ip_admin_eth0': ['192.168.1.6']}
assert path.config('subpath2').value.dict() == {'ip_admin_eth0': ['192.168.1.4'], 'ip_admin_eth1': ['192.168.1.5']}
assert path.config('subpath2.subpath1').value.dict() == {'ip_admin_eth1': ['192.168.1.3']}
assert path.config('subpath2.subpath1.conf2').value.dict() == {'ip_admin_eth1': ['192.168.1.2']}
assert path.config('subpath2.subpath1.conf1').value.dict() == {'ip_admin_eth0': ['192.168.1.1']}
#
path.option('ip_admin_eth0').value.set(['192.168.1.7'])
assert path.value.dict() == {'ip_admin_eth0': ['192.168.1.7']}
@ -1061,3 +1062,51 @@ def test_path_different_default():
assert path.config('subpath2.subpath1').value.dict() == {'ip_admin_eth1': ['192.168.1.11']}
assert path.config('subpath2.subpath1.conf2').value.dict() == {'ip_admin_eth1': ['192.168.1.12']}
assert path.config('subpath2.subpath1.conf1').value.dict() == {'ip_admin_eth0': ['192.168.1.9']}
def test_path_different_default_reset():
ip_admin_eth0 = NetworkOption('ip_admin_eth0', "ip", multi=True, default=['192.168.1.1'])
interface0 = OptionDescription('ip_admin_eth0', '', [ip_admin_eth0])
ip_admin_eth0 = NetworkOption('ip_admin_eth1', "ip", multi=True, default=['192.168.1.2'])
interface1 = OptionDescription('ip_admin_eth0', '', [ip_admin_eth0])
ip_admin_eth0 = NetworkOption('ip_admin_eth1', "ip", multi=True, default=['192.168.1.3'])
interface2 = OptionDescription('ip_admin_eth0', '', [ip_admin_eth0])
ip_admin_eth0 = NetworkOption('ip_admin_eth0', "ip", multi=True, default=['192.168.1.4'])
ip_admin_eth1 = NetworkOption('ip_admin_eth1', "ip", multi=True, default=['192.168.1.5'])
interface3 = OptionDescription('ip_admin_eth0', '', [ip_admin_eth0, ip_admin_eth1])
ip_admin_eth0 = NetworkOption('ip_admin_eth0', "ip", multi=True, default=['192.168.1.6'])
interface4 = OptionDescription('ip_admin_eth0', '', [ip_admin_eth0])
conf1 = Config(interface0, session_id='conf1')
conf1.property.read_write()
conf2 = Config(interface1, session_id='conf2')
conf2.property.read_write()
path = PathConfig(interface2, [conf1, conf2], session_id='subpath1')
path = PathConfig(interface3, [path], session_id='subpath2')
path = PathConfig(interface4, [path])
path.property.read_write()
#
path.option('ip_admin_eth0').value.set(['192.168.1.7'])
path.config('subpath2').option('ip_admin_eth0').value.set(['192.168.1.8'])
path.config('subpath2').option('ip_admin_eth1').value.set(['192.168.1.10'])
path.config('subpath2.subpath1').option('ip_admin_eth1').value.set(['192.168.1.11'])
path.config('subpath2.subpath1.conf2').option('ip_admin_eth1').value.set(['192.168.1.12'])
path.config('subpath2.subpath1.conf1').option('ip_admin_eth0').value.set(['192.168.1.9'])
assert path.value.dict() == {'ip_admin_eth0': ['192.168.1.7']}
assert path.config('subpath2').value.dict() == {'ip_admin_eth0': ['192.168.1.8'], 'ip_admin_eth1': ['192.168.1.10']}
assert path.config('subpath2.subpath1').value.dict() == {'ip_admin_eth1': ['192.168.1.11']}
assert path.config('subpath2.subpath1.conf2').value.dict() == {'ip_admin_eth1': ['192.168.1.12']}
assert path.config('subpath2.subpath1.conf1').value.dict() == {'ip_admin_eth0': ['192.168.1.9']}
#
path.value.reset('ip_admin_eth0')
assert path.value.dict() == {'ip_admin_eth0': ['192.168.1.6']}
assert path.config('subpath2').value.dict() == {'ip_admin_eth0': ['192.168.1.4'], 'ip_admin_eth1': ['192.168.1.10']}
assert path.config('subpath2.subpath1').value.dict() == {'ip_admin_eth1': ['192.168.1.11']}
assert path.config('subpath2.subpath1.conf2').value.dict() == {'ip_admin_eth1': ['192.168.1.12']}
assert path.config('subpath2.subpath1.conf1').value.dict() == {'ip_admin_eth0': ['192.168.1.1']}
#
path.value.reset('ip_admin_eth1')
assert path.value.dict() == {'ip_admin_eth0': ['192.168.1.6']}
assert path.config('subpath2').value.dict() == {'ip_admin_eth0': ['192.168.1.4'], 'ip_admin_eth1': ['192.168.1.5']}
assert path.config('subpath2.subpath1').value.dict() == {'ip_admin_eth1': ['192.168.1.3']}
assert path.config('subpath2.subpath1.conf2').value.dict() == {'ip_admin_eth1': ['192.168.1.2']}
assert path.config('subpath2.subpath1.conf1').value.dict() == {'ip_admin_eth0': ['192.168.1.1']}

View File

@ -36,6 +36,7 @@ def test_delete_not_persisten():
o = OptionDescription('od', '', [b])
try:
Config(o, session_id='test_persistent', persistent=True)
delete_session('test_persistent')
except:
c = Config(o, session_id='not_test_persistent')
assert 'not_test_persistent' in list_sessions()