Adjust the libvirt config classes' API contract for parsing
Don't not automatically invoke the 'parse_dom' method from the LibvirtConfigObject constructor, because this is too early in construction - no child class constructors have initialized yet. Instead require the 'parse_dom' method to be invoked after the bare object has been constructed. Also make the default impl of 'parse_dom' take an etree.Element instance and validate its root element name. Add a convenient 'parse_str' method for turning a XML string into an etree.Element instance & parsing it. Change-Id: I7eda2b59869f3b4ef9dce1602cbb05f7662f4528 Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
This commit is contained in:
@@ -53,6 +53,11 @@ class LibvirtConfigTest(LibvirtConfigBaseTest):
|
|||||||
xml = etree.tostring(root)
|
xml = etree.tostring(root)
|
||||||
self.assertXmlEqual(xml, "<demo><foo>bar</foo></demo>")
|
self.assertXmlEqual(xml, "<demo><foo>bar</foo></demo>")
|
||||||
|
|
||||||
|
def test_config_parse(self):
|
||||||
|
inxml = "<demo><foo/></demo>"
|
||||||
|
obj = config.LibvirtConfigObject(root_name="demo")
|
||||||
|
obj.parse_str(inxml)
|
||||||
|
|
||||||
|
|
||||||
class LibvirtConfigGuestTimerTest(LibvirtConfigBaseTest):
|
class LibvirtConfigGuestTimerTest(LibvirtConfigBaseTest):
|
||||||
def test_config_platform(self):
|
def test_config_platform(self):
|
||||||
|
|||||||
Reference in New Issue
Block a user