summaryrefslogtreecommitdiff
path: root/nova/tests/virt/libvirt/test_imagebackend.py
diff options
context:
space:
mode:
Diffstat (limited to 'nova/tests/virt/libvirt/test_imagebackend.py')
-rw-r--r--nova/tests/virt/libvirt/test_imagebackend.py19
1 files changed, 19 insertions, 0 deletions
diff --git a/nova/tests/virt/libvirt/test_imagebackend.py b/nova/tests/virt/libvirt/test_imagebackend.py
index 5424f7b300..3935fe404e 100644
--- a/nova/tests/virt/libvirt/test_imagebackend.py
+++ b/nova/tests/virt/libvirt/test_imagebackend.py
@@ -20,6 +20,7 @@ import shutil
import tempfile
import fixtures
+import mock
from oslo.config import cfg
from inspect import getargspec
@@ -736,10 +737,12 @@ class RbdTestCase(_ImageTestCase, test.NoDBTestCase):
self.libvirt_utils = imagebackend.libvirt_utils
self.utils = imagebackend.utils
self.rbd = self.mox.CreateMockAnything()
+ self.rados = self.mox.CreateMockAnything()
def prepare_mocks(self):
fn = self.mox.CreateMockAnything()
self.mox.StubOutWithMock(imagebackend, 'rbd')
+ self.mox.StubOutWithMock(imagebackend, 'rados')
return fn
def test_cache(self):
@@ -830,6 +833,9 @@ class RbdTestCase(_ImageTestCase, test.NoDBTestCase):
self.rbd.RBD_FEATURE_LAYERING = 1
+ self.mox.StubOutWithMock(imagebackend.disk, 'get_disk_size')
+ imagebackend.disk.get_disk_size(self.TEMPLATE_PATH
+ ).AndReturn(self.SIZE)
rbd_name = "%s/%s" % (self.INSTANCE['name'], self.NAME)
cmd = ('--pool', self.POOL, self.TEMPLATE_PATH,
rbd_name, '--new-format', '--id', self.USER,
@@ -848,11 +854,15 @@ class RbdTestCase(_ImageTestCase, test.NoDBTestCase):
fake_processutils.fake_execute_clear_log()
fake_processutils.stub_out_processutils_execute(self.stubs)
self.mox.StubOutWithMock(imagebackend, 'rbd')
+ self.mox.StubOutWithMock(imagebackend, 'rados')
image = self.image_class(self.INSTANCE, self.NAME)
def fake_fetch(target, *args, **kwargs):
return
+ def fake_resize(rbd_name, size):
+ return
+
self.stubs.Set(os.path, 'exists', lambda _: True)
self.stubs.Set(image, 'check_image_exists', lambda: True)
@@ -864,6 +874,15 @@ class RbdTestCase(_ImageTestCase, test.NoDBTestCase):
self.assertEqual(getargspec(imagebackend.Image.libvirt_info),
getargspec(self.image_class.libvirt_info))
+ def test_resize(self):
+ image = self.image_class(self.INSTANCE, self.NAME)
+ with mock.patch.object(imagebackend, "RBDVolumeProxy") as mock_proxy:
+ volume_mock = mock.Mock()
+ mock_proxy.side_effect = [mock_proxy]
+ mock_proxy.__enter__.side_effect = [volume_mock]
+ image._resize(image.rbd_name, self.SIZE)
+ volume_mock.resize.assert_called_once_with(self.SIZE)
+
class BackendTestCase(test.NoDBTestCase):
INSTANCE = {'name': 'fake-instance',