Change in vdsm[master]: virt: recovery: tests: exercise more recovery code
fromani at redhat.com
fromani at redhat.com
Thu Feb 18 08:47:45 UTC 2016
Francesco Romani has uploaded a new change for review.
Change subject: virt: recovery: tests: exercise more recovery code
......................................................................
virt: recovery: tests: exercise more recovery code
Add more tests for the new recovery.py module.
We exercise existing functions and methods.
Change-Id: Ieaf829c5f306a576c2bf5b8776bb5c0784ca3ca1
Signed-off-by: Francesco Romani <fromani at redhat.com>
---
M tests/vmRecoveryTests.py
1 file changed, 43 insertions(+), 1 deletion(-)
git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/90/53690/1
diff --git a/tests/vmRecoveryTests.py b/tests/vmRecoveryTests.py
index 174119e..862831b 100644
--- a/tests/vmRecoveryTests.py
+++ b/tests/vmRecoveryTests.py
@@ -70,10 +70,31 @@
loaded = recovery.File(testvm.id)
fakecif = fake.ClientIF()
- loaded.load(fakecif)
+ res = loaded.load(fakecif)
+ self.assertTrue(res)
self.assertVmStatus(testvm,
fakecif.vmRequests[testvm.id][0])
+
+ def test_load_with_create_failure(self):
+
+ with fake.VM() as testvm, namedTemporaryDir() as tmpdir:
+ with MonkeyPatchScope([(constants, 'P_VDSM_RUN', tmpdir + '/')]):
+ stored = recovery.File(testvm.id)
+ stored.save(testvm)
+
+ loaded = recovery.File(testvm.id)
+ fakecif = fake.ClientIF()
+
+ def create_fail(*args):
+ raise RuntimeError("fake error")
+
+ fakecif.createVm = create_fail
+ res = loaded.load(fakecif)
+
+ self.assertFalse(res)
+ self.assertEqual(fakecif.vmContainer, {})
+ self.assertEqual(fakecif.vmRequests, {})
def test_cleanup(self):
@@ -152,3 +173,24 @@
with MonkeyPatchScope([(recovery, '_list_domains',
lambda: self._getAllDomains('novdsm'))]):
self.assertFalse(recovery._get_vdsm_domains())
+
+
+ def test_clean_vm_files(self):
+
+ with fake.VM() as testvm, namedTemporaryDir() as tmpdir:
+ with MonkeyPatchScope([(constants, 'P_VDSM_RUN', tmpdir + '/')]):
+ stored = recovery.File(testvm.id)
+ stored.save(testvm)
+
+ loaded = recovery.File(testvm.id)
+ fakecif = fake.ClientIF()
+ loaded.load(fakecif)
+
+ # we have one recovery file (just created)
+ self.assertEqual(len(os.listdir(tmpdir)), 1)
+ # ...but somehow ClientIF failed to create the VM.
+ self.assertEqual(fakecif.vmContainer, {})
+
+ # ... so we can actually do our test.
+ recovery.clean_vm_files(fakecif)
+ self.assertEqual(os.listdir(tmpdir), [])
--
To view, visit https://gerrit.ovirt.org/53690
To unsubscribe, visit https://gerrit.ovirt.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ieaf829c5f306a576c2bf5b8776bb5c0784ca3ca1
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