reorganise Base and Option
[tiramisu.git] / test / test_parsing_group.py
index d6a9d9c..352ba93 100644 (file)
@@ -468,6 +468,26 @@ def test_values_with_master_and_slaves_slave():
     assert cfg.ip_admin_eth0.netmask_admin_eth0 == []
 
 
+def test_values_with_master_and_slaves_pop():
+    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.ip_admin_eth0.netmask_admin_eth0 == []
+    cfg.ip_admin_eth0.ip_admin_eth0.append("192.168.230.145")
+    cfg.ip_admin_eth0.netmask_admin_eth0 = ['255.255.255.0']
+    cfg.ip_admin_eth0.ip_admin_eth0.append("192.168.230.146")
+    cfg.ip_admin_eth0.netmask_admin_eth0[1] = '255.255.0.0'
+    assert cfg.ip_admin_eth0.ip_admin_eth0 == ['192.168.230.145', '192.168.230.146']
+    assert cfg.ip_admin_eth0.netmask_admin_eth0 == ['255.255.255.0', '255.255.0.0']
+    cfg.ip_admin_eth0.ip_admin_eth0.pop(0)
+    assert cfg.ip_admin_eth0.ip_admin_eth0 == ['192.168.230.146']
+    assert cfg.ip_admin_eth0.netmask_admin_eth0 == ['255.255.0.0']
+
+
 def test_values_with_master_and_slaves_master():
     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)