def test_get_root(self): root = corosync_conf.Section("root") child1 = corosync_conf.Section("child1") child1a = corosync_conf.Section("child1a") root.add_section(child1) child1.add_section(child1a) self.assertEqual(root.get_root().name, "root") self.assertEqual(child1.get_root().name, "root") self.assertEqual(child1a.get_root().name, "root")
def test_attribute_get(self): section = corosync_conf.Section("mySection") section.add_attribute("name1", "value1") section.add_attribute("name2", "value2") section.add_attribute("name3", "value3") section.add_attribute("name2", "value2a") self.assertEqual( section.get_attributes(), [ ["name1", "value1"], ["name2", "value2"], ["name3", "value3"], ["name2", "value2a"], ] ) self.assertEqual( section.get_attributes("name1"), [ ["name1", "value1"], ] ) self.assertEqual( section.get_attributes("name2"), [ ["name2", "value2"], ["name2", "value2a"], ] ) self.assertEqual( section.get_attributes("nameX"), [] )
def test_attribute_del(self): section = corosync_conf.Section("mySection") section.add_attribute("name1", "value1") section.add_attribute("name2", "value2") section.add_attribute("name3", "value3") section.add_attribute("name2", "value2") section.del_attribute(section.get_attributes()[1]) self.assertEqual( section.get_attributes(), [ ["name1", "value1"], ["name3", "value3"], ] ) section.del_attribute(["name3", "value3"]) self.assertEqual( section.get_attributes(), [ ["name1", "value1"], ] ) section.del_attribute(["name3", "value3"]) self.assertEqual( section.get_attributes(), [ ["name1", "value1"], ] )
def test_section_add(self): root = corosync_conf.Section("root") child1 = corosync_conf.Section("child1") child1a = corosync_conf.Section("child1a") child2 = corosync_conf.Section("child2") root.add_section(child1) child1.add_section(child1a) root.add_section(child2) self.assertEqual(root.parent, None) self.assertEqual(child1.parent.name, "root") self.assertEqual(child1a.parent.name, "child1") self.assertEqual(child2.parent.name, "root") ac(str(root), """\ child1 { child1a { } } child2 { } """) child2.add_section(child1a) self.assertEqual(child1a.parent.name, "child2") ac(str(root), """\ child1 { } child2 { child1a { } } """) self.assertRaises( corosync_conf.CircularParentshipException, child1a.add_section, child1a ) self.assertRaises( corosync_conf.CircularParentshipException, child1a.add_section, child2 ) self.assertRaises( corosync_conf.CircularParentshipException, child1a.add_section, root )
def test_empty_section(self): section = corosync_conf.Section("mySection") self.assertEqual(section.parent, None) self.assertEqual(section.get_root(), section) self.assertEqual(section.name, "mySection") self.assertEqual(section.get_attributes(), []) self.assertEqual(section.get_sections(), []) ac(str(section), "")
def test_attribute_change(self): section = corosync_conf.Section("mySection") section.add_attribute("name1", "value1") section.add_attribute("name2", "value2") section.add_attribute("name3", "value3") section.add_attribute("name2", "value2") attr = section.get_attributes()[1] attr[0] = "name2a" attr[1] = "value2a" self.assertEquals(section.get_attributes(), [ ["name1", "value1"], ["name2a", "value2a"], ["name3", "value3"], ["name2", "value2"], ])
def test_attribute_add(self): section = corosync_conf.Section("mySection") section.add_attribute("name1", "value1") self.assertEquals(section.get_attributes(), [ ["name1", "value1"], ]) section.add_attribute("name2", "value2") self.assertEquals(section.get_attributes(), [ ["name1", "value1"], ["name2", "value2"], ]) section.add_attribute("name2", "value2") self.assertEquals(section.get_attributes(), [ ["name1", "value1"], ["name2", "value2"], ["name2", "value2"], ])
def test_str(self): root = corosync_conf.Section("root") ac(str(root), "") root.add_attribute("name1", "value1") ac(str(root), "name1: value1\n") root.add_attribute("name2", "value2") root.add_attribute("name2", "value2a") root.add_attribute("name3", "value3") ac(str(root), """\ name1: value1 name2: value2 name2: value2a name3: value3 """) child1 = corosync_conf.Section("child1") root.add_section(child1) ac(str(root), """\ name1: value1 name2: value2 name2: value2a name3: value3 child1 { } """) child1.add_attribute("name1.1", "value1.1") child1.add_attribute("name1.2", "value1.2") ac(str(root), """\ name1: value1 name2: value2 name2: value2a name3: value3 child1 { name1.1: value1.1 name1.2: value1.2 } """) child2 = corosync_conf.Section("child2") child2.add_attribute("name2.1", "value2.1") root.add_section(child2) ac(str(root), """\ name1: value1 name2: value2 name2: value2a name3: value3 child1 { name1.1: value1.1 name1.2: value1.2 } child2 { name2.1: value2.1 } """) child2a = corosync_conf.Section("child2a") child2a.add_attribute("name2.a.1", "value2.a.1") child2.add_section(child2a) ac(str(root), """\ name1: value1 name2: value2 name2: value2a name3: value3 child1 { name1.1: value1.1 name1.2: value1.2 } child2 { name2.1: value2.1 child2a { name2.a.1: value2.a.1 } } """) child3 = corosync_conf.Section("child3") root.add_section(child3) child3.add_section(corosync_conf.Section("child3a")) child3.add_section(corosync_conf.Section("child3b")) ac(str(root), """\ name1: value1 name2: value2 name2: value2a name3: value3 child1 { name1.1: value1.1 name1.2: value1.2 } child2 { name2.1: value2.1 child2a { name2.a.1: value2.a.1 } } child3 { child3a { } child3b { } } """)
def test_section_del(self): root = corosync_conf.Section("") child1 = corosync_conf.Section("child1") child2 = corosync_conf.Section("child2") childa1 = corosync_conf.Section("childA") childa2 = corosync_conf.Section("childA") childa3 = corosync_conf.Section("childA") childa4 = corosync_conf.Section("childA") childb1 = corosync_conf.Section("childB") childb2 = corosync_conf.Section("childB") childa1.add_attribute("id", "1") childa2.add_attribute("id", "2") childa3.add_attribute("id", "3") childa4.add_attribute("id", "4") childb1.add_attribute("id", "5") childb2.add_attribute("id", "6") root.add_section(child1) root.add_section(child2) child1.add_section(childa1) child1.add_section(childa2) child1.add_section(childb1) child2.add_section(childa3) child2.add_section(childb2) child2.add_section(childa4) ac(str(root), """\ child1 { childA { id: 1 } childA { id: 2 } childB { id: 5 } } child2 { childA { id: 3 } childB { id: 6 } childA { id: 4 } } """) child2.del_section(childb2) self.assertEqual(childb2.parent, None) ac(str(root), """\ child1 { childA { id: 1 } childA { id: 2 } childB { id: 5 } } child2 { childA { id: 3 } childA { id: 4 } } """) root.del_section(child2) self.assertEqual(child2.parent, None) ac(str(root), """\ child1 { childA { id: 1 } childA { id: 2 } childB { id: 5 } } """) self.assertRaises(ValueError, root.del_section, child2) self.assertEqual(childa1.parent.name, "child1") self.assertRaises(ValueError, child2.del_section, childa1) self.assertEqual(childa1.parent.name, "child1") child1.del_section(childb1) self.assertEqual(childb1.parent, None) ac(str(root), """\ child1 { childA { id: 1 } childA { id: 2 } } """) child1.del_section(childa1) self.assertEqual(childa1.parent, None) child1.del_section(childa2) self.assertEqual(childa2.parent, None) ac(str(root), """\ child1 { } """) root.del_section(child1) self.assertEqual(child1.parent, None) ac(str(root), "")
def test_section_get(self): root = corosync_conf.Section("") child1 = corosync_conf.Section("child1") child2 = corosync_conf.Section("child2") childa1 = corosync_conf.Section("childA") childa2 = corosync_conf.Section("childA") childa3 = corosync_conf.Section("childA") childa4 = corosync_conf.Section("childA") childb1 = corosync_conf.Section("childB") childb2 = corosync_conf.Section("childB") childa1.add_attribute("id", "1") childa2.add_attribute("id", "2") childa3.add_attribute("id", "3") childa4.add_attribute("id", "4") childb1.add_attribute("id", "5") childb2.add_attribute("id", "6") root.add_section(child1) root.add_section(child2) child1.add_section(childa1) child1.add_section(childa2) child1.add_section(childb1) child2.add_section(childa3) child2.add_section(childb2) child2.add_section(childa4) ac(str(root), """\ child1 { childA { id: 1 } childA { id: 2 } childB { id: 5 } } child2 { childA { id: 3 } childB { id: 6 } childA { id: 4 } } """) ac( "---\n".join([str(x) for x in root.get_sections()]), """\ child1 { childA { id: 1 } childA { id: 2 } childB { id: 5 } } --- child2 { childA { id: 3 } childB { id: 6 } childA { id: 4 } } """) ac( "---\n".join([str(x) for x in root.get_sections("child1")]), """\ child1 { childA { id: 1 } childA { id: 2 } childB { id: 5 } } """) ac( "---\n".join([str(x) for x in child1.get_sections("childA")]), """\ childA { id: 1 } --- childA { id: 2 } """) ac( "---\n".join([str(x) for x in child1.get_sections("child2")]), "" )