diff options
Diffstat (limited to 'nova/tests/unit/virt/libvirt/test_migration.py')
-rw-r--r-- | nova/tests/unit/virt/libvirt/test_migration.py | 44 |
1 files changed, 40 insertions, 4 deletions
diff --git a/nova/tests/unit/virt/libvirt/test_migration.py b/nova/tests/unit/virt/libvirt/test_migration.py index f4e64fbe53..155c259986 100644 --- a/nova/tests/unit/virt/libvirt/test_migration.py +++ b/nova/tests/unit/virt/libvirt/test_migration.py @@ -15,9 +15,9 @@ from collections import deque import copy import textwrap +from unittest import mock from lxml import etree -import mock from oslo_utils.fixture import uuidsentinel as uuids from oslo_utils import units @@ -28,6 +28,7 @@ from nova import objects from nova import test from nova.tests import fixtures as nova_fixtures from nova.tests.fixtures import libvirt as fakelibvirt +from nova.tests.unit.virt.libvirt import test_driver from nova.virt.libvirt import config as vconfig from nova.virt.libvirt import guest as libvirt_guest from nova.virt.libvirt import host @@ -80,16 +81,51 @@ class UtilityMigrationTestCase(test.NoDBTestCase): get_volume_config = mock.MagicMock() mock_guest.get_xml_desc.return_value = '<domain></domain>' - migration.get_updated_guest_xml( - mock.sentinel.instance, mock_guest, data, get_volume_config) + instance = objects.Instance(**test_driver._create_test_instance()) + migration.get_updated_guest_xml(instance, mock_guest, data, + get_volume_config) mock_graphics.assert_called_once_with(mock.ANY, data) mock_serial.assert_called_once_with(mock.ANY, data) mock_volume.assert_called_once_with( - mock.ANY, data, mock.sentinel.instance, get_volume_config) + mock.ANY, data, instance, get_volume_config) mock_perf_events_xml.assert_called_once_with(mock.ANY, data) mock_memory_backing.assert_called_once_with(mock.ANY, data) self.assertEqual(1, mock_tostring.called) + def test_update_quota_xml(self): + old_xml = """<domain> + <name>fake-instance</name> + <cputune> + <shares>42</shares> + <period>1337</period> + </cputune> + </domain>""" + instance = objects.Instance(**test_driver._create_test_instance()) + new_xml = migration._update_quota_xml(instance, + etree.fromstring(old_xml)) + new_xml = etree.tostring(new_xml, encoding='unicode') + self.assertXmlEqual( + """<domain> + <name>fake-instance</name> + <cputune> + <period>1337</period> + </cputune> + </domain>""", new_xml) + + def test_update_quota_xml_empty_cputune(self): + old_xml = """<domain> + <name>fake-instance</name> + <cputune> + <shares>42</shares> + </cputune> + </domain>""" + instance = objects.Instance(**test_driver._create_test_instance()) + new_xml = migration._update_quota_xml(instance, + etree.fromstring(old_xml)) + new_xml = etree.tostring(new_xml, encoding='unicode') + self.assertXmlEqual('<domain><name>fake-instance</name></domain>', + new_xml) + def test_update_device_resources_xml_vpmem(self): # original xml for vpmems, /dev/dax0.1 and /dev/dax0.2 here # are vpmem device path on source host |