Change in vdsm[master]: tests: v2v: add test for commit fb4c72a
fromani at redhat.com
fromani at redhat.com
Thu Oct 15 11:00:31 UTC 2015
Francesco Romani has uploaded a new change for review.
Change subject: tests: v2v: add test for commit fb4c72a
......................................................................
tests: v2v: add test for commit fb4c72a
In commit fb4c72a we made sure to continue to extract VM information
if the call to get allocation and capacity failed.
This patch adds one test to make it unlikely to break this again.
Change-Id: Iad523dc7c34276c6811513220cd7230ca5fc6e45
Signed-off-by: Francesco Romani <fromani at redhat.com>
---
M tests/v2vTests.py
1 file changed, 45 insertions(+), 1 deletion(-)
git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/64/47364/1
diff --git a/tests/v2vTests.py b/tests/v2vTests.py
index d793bf9..cd79427 100644
--- a/tests/v2vTests.py
+++ b/tests/v2vTests.py
@@ -19,6 +19,7 @@
from StringIO import StringIO
+import libvirt
import v2v
from vdsm import libvirtconnection
@@ -27,7 +28,9 @@
from nose.plugins.skip import SkipTest
from testlib import VdsmTestCase as TestCaseBase
-from monkeypatch import MonkeyPatch
+from monkeypatch import MonkeyPatch, MonkeyPatchScope
+
+import vmfakelib as fake
class VmMock(object):
@@ -73,6 +76,10 @@
# FIXME: extend vmfakelib allowing to set predefined domain in Connection class
class LibvirtMock(object):
+
+ def __init__(self, storage_lookup_fail=False):
+ self._storage_lookup_fail = storage_lookup_fail
+
def close(self):
pass
@@ -80,6 +87,9 @@
return [VmMock()]
def storageVolLookupByPath(self, name):
+ if self._storage_lookup_fail:
+ e = fake.Error(libvirt.VIR_ERR_INTERNAL_ERROR)
+ raise e
return LibvirtMock.Volume()
class Volume(object):
@@ -140,9 +150,13 @@
self.assertEquals(vm['smp'], 1)
self.assertEquals(len(vm['disks']), 1)
self.assertEquals(len(vm['networks']), 1)
+
disk = vm['disks'][0]
self.assertEquals(disk['dev'], 'sda')
self.assertEquals(disk['alias'], '[datastore1] RHEL/RHEL.vmdk')
+ self.assertIn('capacity', disk)
+ self.assertIn('allocation', disk)
+
network = vm['networks'][0]
self.assertEquals(network['type'], 'bridge')
self.assertEquals(network['macAddr'], '00:0c:29:c6:a6:11')
@@ -193,3 +207,33 @@
self.assertEquals(network['model'], 'E1000')
self.assertEquals(network['type'], 'bridge')
self.assertEquals(network['dev'], 'Ethernet 1')
+
+ def testGetExternalVMsWithoutDisksInfo(self):
+ if not v2v.supported():
+ raise SkipTest('v2v is not supported current os version')
+
+ def _connect(uri, username, passwd):
+ return LibvirtMock(storage_lookup_fail=True)
+
+ with MonkeyPatchScope([(libvirtconnection, 'open_connection',
+ _connect)]):
+ vms = v2v.get_external_vms('esx://mydomain', 'user',
+ ProtectedPassword('password'))['vmList']
+ self.assertEquals(len(vms), 1)
+ vm = vms[0]
+ self.assertEquals(vm['vmId'], '564d7cb4-8e3d-06ec-ce82-7b2b13c6a611')
+ self.assertEquals(vm['memSize'], 2048)
+ self.assertEquals(vm['smp'], 1)
+
+ self.assertEquals(len(vm['disks']), 1)
+ disk = vm['disks'][0]
+ self.assertEquals(disk['dev'], 'sda')
+ self.assertEquals(disk['alias'], '[datastore1] RHEL/RHEL.vmdk')
+ self.assertNotIn('capacity', disk)
+ self.assertNotIn('allocation', disk)
+
+ self.assertEquals(len(vm['networks']), 1)
+ network = vm['networks'][0]
+ self.assertEquals(network['type'], 'bridge')
+ self.assertEquals(network['macAddr'], '00:0c:29:c6:a6:11')
+ self.assertEquals(network['bridge'], 'VM Network')
--
To view, visit https://gerrit.ovirt.org/47364
To unsubscribe, visit https://gerrit.ovirt.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Iad523dc7c34276c6811513220cd7230ca5fc6e45
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Francesco Romani <fromani at redhat.com>
More information about the vdsm-patches
mailing list