summaryrefslogtreecommitdiffstats
path: root/nova/tests
diff options
context:
space:
mode:
authorDaniel P. Berrange <berrange@redhat.com>2012-06-19 14:22:44 +0100
committerDaniel P. Berrange <berrange@redhat.com>2012-06-19 15:01:28 +0100
commite88780a5ddbba230b500052391c1ba64b67e6a22 (patch)
treee42e601cfa1156d6582479d713d228651fd33e3a /nova/tests
parent225f6f21b1f4158e635f06b4d040b41fa21be09d (diff)
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>
Diffstat (limited to 'nova/tests')
-rw-r--r--nova/tests/test_libvirt_config.py5
1 files changed, 5 insertions, 0 deletions
diff --git a/nova/tests/test_libvirt_config.py b/nova/tests/test_libvirt_config.py
index 1e0818bd7..4f9970e79 100644
--- a/nova/tests/test_libvirt_config.py
+++ b/nova/tests/test_libvirt_config.py
@@ -53,6 +53,11 @@ class LibvirtConfigTest(LibvirtConfigBaseTest):
xml = etree.tostring(root)
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):
def test_config_platform(self):