kiwi-el8/test/unit/builder/init_test.py
Marcus Schäfer 8d2d9c214c
Make oem be a superset of vmx
A vmx image is the same disk as an oem just without the dracut
repart/resize feature. This difference is better handled with
an oemconfig parameter <oem-resize> which allows to switch resize
on or off. The extra image type vmx will be dropped and an XSLT
stylesheet automatically transforms a vmx description to be a
oem image with the resize feature switched off.
This Fixes #1425
2020-09-16 12:56:14 +02:00

92 lines
2.9 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.FileSystemBuilder')
def test_filesystem_builder(self, mock_builder):
xml_state = Mock()
xml_state.get_build_type_name = Mock(
return_value='ext4'
)
ImageBuilder(xml_state, 'target_dir', 'root_dir')
mock_builder.assert_called_once_with(
xml_state, 'target_dir', 'root_dir'
)
@patch('kiwi.builder.DiskBuilder')
def test_disk_builder(self, mock_builder):
xml_state = Mock()
xml_state.get_build_type_name = Mock(
return_value='oem'
)
ImageBuilder(xml_state, 'target_dir', 'root_dir')
mock_builder.assert_called_once_with(
xml_state, 'target_dir', 'root_dir', None
)
@patch('kiwi.builder.LiveImageBuilder')
def test_live_builder(self, mock_builder):
xml_state = Mock()
xml_state.get_build_type_name = Mock(
return_value='iso'
)
ImageBuilder(xml_state, 'target_dir', 'root_dir')
mock_builder.assert_called_once_with(
xml_state, 'target_dir', 'root_dir', None
)
@patch('kiwi.builder.KisBuilder')
def test_kis_builder(self, mock_builder):
xml_state = Mock()
xml_state.get_build_type_name = Mock(
return_value='kis'
)
ImageBuilder(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(xml_state, 'target_dir', 'root_dir')
mock_builder.assert_called_once_with(
xml_state, 'target_dir', 'root_dir', None
)
@patch('kiwi.builder.ArchiveBuilder')
def test_archive_builder(self, mock_builder):
xml_state = Mock()
xml_state.get_build_type_name = Mock(
return_value='tbz'
)
ImageBuilder(xml_state, 'target_dir', 'root_dir')
mock_builder.assert_called_once_with(
xml_state, 'target_dir', 'root_dir', None
)
@patch('kiwi.builder.ContainerBuilder')
def test_container_builder(self, mock_builder):
xml_state = Mock()
xml_state.get_build_type_name = Mock(
return_value='docker'
)
ImageBuilder(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(xml_state, 'target_dir', 'root_dir')