Instead of placing the file into .coveragerc use the no cover pragma to skip code paths that can never be reached from being counted in the coverage report. This affects the abstract constructors in the Factory classes
93 lines
3.0 KiB
Python
93 lines
3.0 KiB
Python
from mock import (
|
|
patch, Mock
|
|
)
|
|
from pytest import raises
|
|
|
|
from kiwi.builder import ImageBuilder
|
|
|
|
from kiwi.exceptions import KiwiRequestedTypeError
|
|
|
|
|
|
class TestImageBuilder:
|
|
@patch('kiwi.builder.filesystem.FileSystemBuilder')
|
|
def test_filesystem_builder(self, mock_builder):
|
|
xml_state = Mock()
|
|
xml_state.get_build_type_name = Mock(
|
|
return_value='ext4'
|
|
)
|
|
ImageBuilder.new(xml_state, 'target_dir', 'root_dir')
|
|
mock_builder.assert_called_once_with(
|
|
xml_state, 'target_dir', 'root_dir', None
|
|
)
|
|
|
|
@patch('kiwi.builder.disk.DiskBuilder')
|
|
def test_disk_builder(self, mock_builder):
|
|
xml_state = Mock()
|
|
xml_state.get_build_type_name = Mock(
|
|
return_value='oem'
|
|
)
|
|
ImageBuilder.new(xml_state, 'target_dir', 'root_dir')
|
|
mock_builder.assert_called_once_with(
|
|
xml_state, 'target_dir', 'root_dir', None
|
|
)
|
|
|
|
@patch('kiwi.builder.live.LiveImageBuilder')
|
|
def test_live_builder(self, mock_builder):
|
|
xml_state = Mock()
|
|
xml_state.get_build_type_name = Mock(
|
|
return_value='iso'
|
|
)
|
|
ImageBuilder.new(xml_state, 'target_dir', 'root_dir')
|
|
mock_builder.assert_called_once_with(
|
|
xml_state, 'target_dir', 'root_dir', None
|
|
)
|
|
|
|
@patch('kiwi.builder.kis.KisBuilder')
|
|
def test_kis_builder(self, mock_builder):
|
|
xml_state = Mock()
|
|
xml_state.get_build_type_name = Mock(
|
|
return_value='kis'
|
|
)
|
|
ImageBuilder.new(xml_state, 'target_dir', 'root_dir')
|
|
mock_builder.assert_called_once_with(
|
|
xml_state, 'target_dir', 'root_dir', None
|
|
)
|
|
mock_builder.reset_mock()
|
|
xml_state.get_build_type_name = Mock(
|
|
return_value='pxe'
|
|
)
|
|
ImageBuilder.new(xml_state, 'target_dir', 'root_dir')
|
|
mock_builder.assert_called_once_with(
|
|
xml_state, 'target_dir', 'root_dir', None
|
|
)
|
|
|
|
@patch('kiwi.builder.archive.ArchiveBuilder')
|
|
def test_archive_builder(self, mock_builder):
|
|
xml_state = Mock()
|
|
xml_state.get_build_type_name = Mock(
|
|
return_value='tbz'
|
|
)
|
|
ImageBuilder.new(xml_state, 'target_dir', 'root_dir')
|
|
mock_builder.assert_called_once_with(
|
|
xml_state, 'target_dir', 'root_dir', None
|
|
)
|
|
|
|
@patch('kiwi.builder.container.ContainerBuilder')
|
|
def test_container_builder(self, mock_builder):
|
|
xml_state = Mock()
|
|
xml_state.get_build_type_name = Mock(
|
|
return_value='docker'
|
|
)
|
|
ImageBuilder.new(xml_state, 'target_dir', 'root_dir')
|
|
mock_builder.assert_called_once_with(
|
|
xml_state, 'target_dir', 'root_dir', None
|
|
)
|
|
|
|
def test_unsupported_build_type(self):
|
|
xml_state = Mock()
|
|
xml_state.get_build_type_name = Mock(
|
|
return_value='bogus'
|
|
)
|
|
with raises(KiwiRequestedTypeError):
|
|
ImageBuilder.new(xml_state, 'target_dir', 'root_dir')
|