summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlex Meade <alex.meade@rackspace.com>2012-09-10 10:59:43 -0400
committerAlex Meade <alex.meade@rackspace.com>2012-09-10 11:42:50 -0400
commitc2ec406177f3c145e3e8bdc19618aea898109b7e (patch)
tree1578e676071bb6aaae712f316b52318ee0709fab
parent28a5b31bdbff7ed4492f8a6ca8e7e53a7aba0893 (diff)
Add and fix tests for attaching volumes.
Change-Id: I94ecd429266823369be6fd168256e9f3a1cd5287
-rw-r--r--nova/tests/compute/test_compute.py48
1 files changed, 46 insertions, 2 deletions
diff --git a/nova/tests/compute/test_compute.py b/nova/tests/compute/test_compute.py
index 4d3b0889d..f47a5b99d 100644
--- a/nova/tests/compute/test_compute.py
+++ b/nova/tests/compute/test_compute.py
@@ -4199,21 +4199,65 @@ class ComputeAPITestCase(BaseTestCase):
def test_attach_volume(self):
"""Ensure instance can be soft rebooted"""
+ called = {}
+
def fake_check_attach(*args, **kwargs):
- pass
+ called['fake_check_attach'] = True
def fake_reserve_volume(*args, **kwargs):
- pass
+ called['fake_reserve_volume'] = True
def fake_volume_get(self, context, volume_id):
+ called['fake_volume_get'] = True
return {'id': volume_id}
+ def fake_rpc_attach_volume(self, context, **kwargs):
+ called['fake_rpc_attach_volume'] = True
+
self.stubs.Set(nova.volume.api.API, 'get', fake_volume_get)
self.stubs.Set(nova.volume.api.API, 'check_attach', fake_check_attach)
self.stubs.Set(nova.volume.api.API, 'reserve_volume',
fake_reserve_volume)
+ self.stubs.Set(compute_rpcapi.ComputeAPI, 'attach_volume',
+ fake_rpc_attach_volume)
+
instance = self._create_fake_instance()
self.compute_api.attach_volume(self.context, instance, 1, '/dev/vdb')
+ self.assertTrue(called.get('fake_check_attach'))
+ self.assertTrue(called.get('fake_reserve_volume'))
+ self.assertTrue(called.get('fake_reserve_volume'))
+ self.assertTrue(called.get('fake_rpc_attach_volume'))
+
+ def test_attach_volume_no_device(self):
+
+ called = {}
+
+ def fake_check_attach(*args, **kwargs):
+ called['fake_check_attach'] = True
+
+ def fake_reserve_volume(*args, **kwargs):
+ called['fake_reserve_volume'] = True
+
+ def fake_volume_get(self, context, volume_id):
+ called['fake_volume_get'] = True
+ return {'id': volume_id}
+
+ def fake_rpc_attach_volume(self, context, **kwargs):
+ called['fake_rpc_attach_volume'] = True
+
+ self.stubs.Set(nova.volume.api.API, 'get', fake_volume_get)
+ self.stubs.Set(nova.volume.api.API, 'check_attach', fake_check_attach)
+ self.stubs.Set(nova.volume.api.API, 'reserve_volume',
+ fake_reserve_volume)
+ self.stubs.Set(compute_rpcapi.ComputeAPI, 'attach_volume',
+ fake_rpc_attach_volume)
+
+ instance = self._create_fake_instance()
+ self.compute_api.attach_volume(self.context, instance, 1, device=None)
+ self.assertTrue(called.get('fake_check_attach'))
+ self.assertTrue(called.get('fake_reserve_volume'))
+ self.assertTrue(called.get('fake_reserve_volume'))
+ self.assertTrue(called.get('fake_rpc_attach_volume'))
def test_inject_network_info(self):
instance = self._create_fake_instance()