diff options
| author | Mate Lakat <mate.lakat@citrix.com> | 2012-10-29 13:04:07 +0000 |
|---|---|---|
| committer | Mate Lakat <mate.lakat@citrix.com> | 2012-10-31 09:13:35 +0000 |
| commit | 24746d90afda76a43a04d5fead577f1fdd401444 (patch) | |
| tree | 6c156e475c546b9aab1f818277bc0b07c01c76c4 /nova/tests | |
| parent | a94328f07257e8e21d1d54ffd47dc46bfbb3cd8d (diff) | |
refactor: extract method vm_ref_or_raise
Related to bp xenapi-volume-drivers
Imporve the code by extract method, and testing.
Change-Id: I8caca173266890bd99a360671e7af86759b89201
Diffstat (limited to 'nova/tests')
| -rw-r--r-- | nova/tests/xenapi/test_vm_utils.py | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/nova/tests/xenapi/test_vm_utils.py b/nova/tests/xenapi/test_vm_utils.py index e7992d54f..c78d42fd3 100644 --- a/nova/tests/xenapi/test_vm_utils.py +++ b/nova/tests/xenapi/test_vm_utils.py @@ -1,9 +1,11 @@ +import mox from nova import exception from nova.tests.xenapi import stubs from nova.virt.xenapi import driver as xenapi_conn from nova.virt.xenapi import fake from nova.virt.xenapi import vm_utils from nova.virt.xenapi import volume_utils +import unittest class GetInstanceForVdisForSrTestCase(stubs.XenAPITestBase): @@ -81,3 +83,57 @@ class GetInstanceForVdisForSrTestCase(stubs.XenAPITestBase): self.assertRaises(exception.NovaException, vm_utils.get_vdis_for_boot_from_vol, driver._session, dev_params) + + +class VMRefOrRaiseVMFoundTestCase(unittest.TestCase): + + def test_lookup_call(self): + mock = mox.Mox() + mock.StubOutWithMock(vm_utils, 'lookup') + + vm_utils.lookup('session', 'somename').AndReturn('ignored') + + mock.ReplayAll() + vm_utils.vm_ref_or_raise('session', 'somename') + mock.VerifyAll() + + def test_return_value(self): + mock = mox.Mox() + mock.StubOutWithMock(vm_utils, 'lookup') + + vm_utils.lookup(mox.IgnoreArg(), mox.IgnoreArg()).AndReturn('vmref') + + mock.ReplayAll() + self.assertEquals( + 'vmref', vm_utils.vm_ref_or_raise('session', 'somename')) + mock.VerifyAll() + + +class VMRefOrRaiseVMNotFoundTestCase(unittest.TestCase): + + def test_exception_raised(self): + mock = mox.Mox() + mock.StubOutWithMock(vm_utils, 'lookup') + + vm_utils.lookup('session', 'somename').AndReturn(None) + + mock.ReplayAll() + self.assertRaises( + exception.InstanceNotFound, + lambda: vm_utils.vm_ref_or_raise('session', 'somename') + ) + mock.VerifyAll() + + def test_exception_msg_contains_vm_name(self): + mock = mox.Mox() + mock.StubOutWithMock(vm_utils, 'lookup') + + vm_utils.lookup('session', 'somename').AndReturn(None) + + mock.ReplayAll() + try: + vm_utils.vm_ref_or_raise('session', 'somename') + except exception.InstanceNotFound as e: + self.assertTrue( + 'somename' in str(e)) + mock.VerifyAll() |
