kiwi-el8/test/unit/storage_subformat_base_test.py
Marcus Schäfer e6cc5bfa09 Move from nose to pytest
nose is no longer maintained, thus we have to move to another
testing system. This commit updates the tox setup and all tests
to use pytest instead of nose.
2016-03-14 12:23:14 +01:00

62 lines
1.9 KiB
Python

from mock import patch
import mock
from .test_helper import *
from kiwi.exceptions import *
from kiwi.storage.subformat.base import DiskFormatBase
class TestDiskFormatBase(object):
@patch('platform.machine')
def setup(self, mock_machine):
mock_machine.return_value = 'x86_64'
xml_data = mock.Mock()
xml_data.get_name = mock.Mock(
return_value='some-disk-image'
)
self.xml_state = mock.Mock()
self.xml_state.xml_data = xml_data
self.xml_state.get_image_version = mock.Mock(
return_value='1.2.3'
)
self.disk_format = DiskFormatBase(
self.xml_state, 'root_dir', 'target_dir'
)
@raises(NotImplementedError)
def test_create_image_format(self):
self.disk_format.create_image_format()
@raises(KiwiFormatSetupError)
def test_get_target_name_for_format_invalid_format(self):
self.disk_format.get_target_name_for_format('foo')
def test_post_init(self):
self.disk_format.post_init({'option': 'unhandled'})
assert self.disk_format.custom_args == {}
def test_get_qemu_option_list(self):
custom_args = {
'subformat=format': None,
'adapter_type=type': None
}
assert self.disk_format.get_qemu_option_list(custom_args) == [
'-o', 'adapter_type=type', '-o', 'subformat=format'
]
def test_get_target_name_for_format(self):
assert self.disk_format.get_target_name_for_format('vhd') == \
'target_dir/some-disk-image.x86_64-1.2.3.vhd'
@patch('kiwi.storage.subformat.base.Path.wipe')
@patch('os.path.exists')
def test_destructor(self, mock_exists, mock_wipe):
mock_exists.return_value = True
self.disk_format.temp_image_dir = 'tmpdir'
self.disk_format.__del__()
self.disk_format.temp_image_dir = None
mock_wipe.assert_called_once_with('tmpdir')