1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103
|
from unittest.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.enclave.EnclaveBuilder')
def test_enclave_builder(self, mock_builder):
xml_state = Mock()
xml_state.get_build_type_name = Mock(
return_value='enclave'
)
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')
|