summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2013-04-22 22:50:30 +0000
committerGerrit Code Review <review@openstack.org>2013-04-22 22:50:30 +0000
commitbfb8ca3e6e2bac3595db94de17c6b00caa5aaa4a (patch)
tree06f83ac65ed9fb5d7ececaf171105724ebcdf0c1
parente521ff7e0480cf1ec686693cb2989e9d34dc7755 (diff)
parent4ff5d3d4c3dade3932523d9ad6e6a84ff9ad172c (diff)
downloadnova-bfb8ca3e6e2bac3595db94de17c6b00caa5aaa4a.tar.gz
nova-bfb8ca3e6e2bac3595db94de17c6b00caa5aaa4a.tar.xz
nova-bfb8ca3e6e2bac3595db94de17c6b00caa5aaa4a.zip
Merge "Adds tests to xenapi.vm_utils's 'lookup' method"
-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