def test_attach_volume(self): device_name = '/dev/vdd' disk_bus = 'ide' device_type = 'cdrom' self.stubs.Set(cinder.API, 'get', fakes.stub_volume_get) self.stubs.Set(cinder.API, 'check_attach', lambda *a, **k: None) self.stubs.Set(cinder.API, 'reserve_volume', lambda *a, **k: None) self.stubs.Set(compute_manager.ComputeManager, "reserve_block_device_name", lambda *a, **k: device_name) self.stubs.Set(compute_manager.ComputeManager, 'attach_volume', lambda *a, **k: None) self.stubs.Set(block_device_obj.BlockDeviceMapping, 'get_by_volume_id', classmethod(lambda *a, **k: None)) volume = fakes.stub_volume_get(None, context.get_admin_context(), 'a26887c6-c47b-4654-abb5-dfadf7d3f803') subs = { 'volume_id': volume['id'], 'device': device_name, 'disk_bus': 'ide', 'device_type': 'cdrom' } server_id = self._post_server() response = self._do_post('servers/%s/action' % server_id, 'attach-volume-req', subs) self.assertEqual(response.status, 202) self.assertEqual(response.read(), '')