kiwi-el8/test/unit/filesystem/isofs_test.py
Marcus Schäfer bdb7123fa1
Refactor use of logging facility
Use getLogger method instead of a global log object
Also use caplog fixture to capture log messages in
unit tests. This Fixes #1244
2019-10-23 17:54:27 +02:00

84 lines
2.8 KiB
Python

import logging
from pytest import fixture
from mock import (
patch, call
)
import mock
from kiwi.filesystem.isofs import FileSystemIsoFs
class TestFileSystemIsoFs:
@fixture(autouse=True)
def inject_fixtures(self, caplog):
self._caplog = caplog
@patch('os.path.exists')
def setup(self, mock_exists):
mock_exists.return_value = True
self.isofs = FileSystemIsoFs(mock.Mock(), 'root_dir')
def test_post_init(self):
self.isofs.post_init({'some_args': 'data'})
assert self.isofs.custom_args['meta_data'] == {}
assert self.isofs.custom_args['mount_options'] == []
assert self.isofs.custom_args['some_args'] == 'data'
@patch('kiwi.filesystem.isofs.IsoTools')
@patch('kiwi.filesystem.isofs.Iso')
def test_create_on_file(self, mock_iso, mock_cdrtools):
iso_tool = mock.Mock()
iso_tool.has_iso_hybrid_capability = mock.Mock(
return_value=False
)
iso_tool.get_tool_name = mock.Mock(
return_value='/usr/bin/mkisofs'
)
iso = mock.Mock()
iso.header_end_name = 'header_end'
mock_cdrtools.return_value = iso_tool
mock_iso.return_value = iso
self.isofs.create_on_file('myimage', None)
iso.setup_isolinux_boot_path.assert_called_once_with()
iso.create_header_end_marker.assert_called_once_with()
iso_tool.init_iso_creation_parameters.assert_called_once_with({})
iso_tool.add_efi_loader_parameters.assert_called_once_with()
iso.create_header_end_block.assert_called_once_with('myimage')
assert iso_tool.create_iso.call_args_list == [
call('myimage'), call('myimage', hidden_files=['header_end'])
]
iso.relocate_boot_catalog.assert_called_once_with(
'myimage'
)
iso.fix_boot_catalog.assert_called_once_with(
'myimage'
)
iso.create_hybrid.assert_called_once_with(
iso.create_header_end_block.return_value,
'0xffffffff', 'myimage'
)
@patch('kiwi.filesystem.isofs.IsoTools')
@patch('kiwi.filesystem.isofs.Iso')
def test_create_on_file_EFI_enabled(self, mock_iso, mock_cdrtools):
iso_tool = mock.Mock()
iso_tool.has_iso_hybrid_capability = mock.Mock(
return_value=False
)
iso_tool.get_tool_name = mock.Mock(
return_value='/usr/bin/mkisofs'
)
iso = mock.Mock()
iso.header_end_name = 'header_end'
mock_cdrtools.return_value = iso_tool
mock_iso.return_value = iso
self.isofs.custom_args['meta_data']['efi_mode'] = 'uefi'
with self._caplog.at_level(logging.WARNING):
self.isofs.create_on_file('myimage')
iso_tool.create_iso.assert_called_once_with('myimage')