summaryrefslogtreecommitdiffstats
path: root/nova/tests
diff options
context:
space:
mode:
Diffstat (limited to 'nova/tests')
-rw-r--r--nova/tests/test_libvirt_blockinfo.py31
1 files changed, 31 insertions, 0 deletions
diff --git a/nova/tests/test_libvirt_blockinfo.py b/nova/tests/test_libvirt_blockinfo.py
index 23f846324..e8d548399 100644
--- a/nova/tests/test_libvirt_blockinfo.py
+++ b/nova/tests/test_libvirt_blockinfo.py
@@ -18,6 +18,7 @@
from nova import block_device
from nova import context
from nova import db
+from nova import exception
from nova import test
import nova.tests.image.fake
from nova.virt.libvirt import blockinfo
@@ -394,3 +395,33 @@ class LibvirtBlockInfoTest(test.TestCase):
'root': {'bus': 'virtio', 'dev': 'vdf', 'type': 'disk'}
}
self.assertEqual(mapping, expect)
+
+ def test_get_disk_bus(self):
+ bus = blockinfo.get_disk_bus_for_device_type('kvm')
+ self.assertEqual(bus, 'virtio')
+
+ bus = blockinfo.get_disk_bus_for_device_type('kvm',
+ device_type='cdrom')
+ self.assertEqual(bus, 'ide')
+
+ image_meta = {'properties': {'disk_bus': 'scsi'}}
+ bus = blockinfo.get_disk_bus_for_device_type('kvm',
+ image_meta)
+ self.assertEqual(bus, 'scsi')
+
+ image_meta = {'properties': {'disk_bus': 'usb',
+ 'cdrom_bus': 'scsi'}}
+ bus = blockinfo.get_disk_bus_for_device_type('kvm',
+ image_meta,
+ device_type='cdrom')
+ self.assertEqual(bus, 'scsi')
+
+ bus = blockinfo.get_disk_bus_for_device_type('kvm',
+ image_meta)
+ self.assertEqual(bus, 'usb')
+
+ image_meta = {'properties': {'disk_bus': 'xen'}}
+ self.assertRaises(exception.NovaException,
+ blockinfo.get_disk_bus_for_device_type,
+ 'kvm',
+ image_meta)