Add test that exposes the additional None value in the return value from determine_block_devices when the input list includes a device that's not present on the system.

This commit is contained in:
Ryan Harper 2014-06-16 12:31:33 -05:00
parent b6e58cd003
commit eb625c4228

View File

@ -101,12 +101,17 @@ class SwiftStorageUtilsTests(CharmTestCase):
self.assertEquals(swift_utils.determine_block_devices(), None)
def _fake_ensure(self, bdev):
return bdev.split('|').pop(0)
# /dev/vdz is a missing dev
if '/dev/vdz' in bdev:
return None
else:
return bdev.split('|').pop(0)
@patch.object(swift_utils, 'ensure_block_device')
def test_determine_block_device_single_dev(self, _ensure):
_ensure.side_effect = self._fake_ensure
self.test_config.set('block-device', '/dev/vdb')
bdevs = '/dev/vdb'
self.test_config.set('block-device', bdevs)
result = swift_utils.determine_block_devices()
self.assertEquals(['/dev/vdb'], result)
@ -119,6 +124,15 @@ class SwiftStorageUtilsTests(CharmTestCase):
ex = ['/dev/vdb', '/dev/vdc', '/tmp/swift.img']
self.assertEquals(ex, result)
@patch.object(swift_utils, 'ensure_block_device')
def test_determine_block_device_with_missing(self, _ensure):
_ensure.side_effect = self._fake_ensure
bdevs = '/dev/vdb /srv/swift.img|20G /dev/vdz'
self.test_config.set('block-device', bdevs)
result = swift_utils.determine_block_devices()
ex = ['/dev/vdb', '/srv/swift.img']
self.assertEqual(ex, result)
@patch.object(swift_utils, 'find_block_devices')
@patch.object(swift_utils, 'ensure_block_device')
def test_determine_block_device_guess_dev(self, _ensure, _find):