summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthew Sherborne <msherborne@gmail.com>2013-04-18 15:32:47 +1000
committerGerrit Code Review <review@openstack.org>2013-04-20 22:01:59 +0000
commit4ff5d3d4c3dade3932523d9ad6e6a84ff9ad172c (patch)
tree0070322d142b2b9090ae73c2a53a45658a0520fe
parent18d9a8b4b4d794547f7cc47b5f58484c22066655 (diff)
Adds tests to xenapi.vm_utils's 'lookup' method
Change-Id: I140f091b50c3e4076d3f4812cae00e37f120a277
-rw-r--r--nova/tests/virt/xenapi/test_vm_utils.py30
1 files changed, 30 insertions, 0 deletions
diff --git a/nova/tests/virt/xenapi/test_vm_utils.py b/nova/tests/virt/xenapi/test_vm_utils.py
index d42ed7629..a021bc734 100644
--- a/nova/tests/virt/xenapi/test_vm_utils.py
+++ b/nova/tests/virt/xenapi/test_vm_utils.py
@@ -20,6 +20,7 @@ import contextlib
import fixtures
import mox
+from nova import exception
from nova import test
from nova import utils
from nova.virt.xenapi import vm_utils
@@ -34,6 +35,35 @@ def _fake_noop(*args, **kwargs):
return
+class LookupTestCase(test.TestCase):
+
+ def setUp(self):
+ super(LookupTestCase, self).setUp()
+ self.session = self.mox.CreateMockAnything('Fake Session')
+ self.name_label = 'my_vm'
+
+ def _do_mock(self, result):
+ self.session.call_xenapi(
+ "VM.get_by_name_label", self.name_label).AndReturn(result)
+ self.mox.ReplayAll()
+
+ def test_normal(self):
+ self._do_mock(['x'])
+ result = vm_utils.lookup(self.session, self.name_label)
+ self.assertEqual('x', result)
+
+ def test_no_result(self):
+ self._do_mock([])
+ result = vm_utils.lookup(self.session, self.name_label)
+ self.assertEqual(None, result)
+
+ def test_too_many(self):
+ self._do_mock(['a', 'b'])
+ self.assertRaises(exception.InstanceExists,
+ vm_utils.lookup,
+ self.session, self.name_label)
+
+
class GenerateConfigDriveTestCase(test.TestCase):
def test_no_admin_pass(self):
# This is here to avoid masking errors, it shouldn't be used normally