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
37 lines
1.2 KiB
Python
37 lines
1.2 KiB
Python
from mock import (
|
|
Mock, patch
|
|
)
|
|
from pytest import raises
|
|
|
|
from kiwi.exceptions import KiwiBootImageSetupError
|
|
from kiwi.boot.image import BootImage
|
|
|
|
|
|
class TestBootImage:
|
|
def setup(self):
|
|
self.xml_state = Mock()
|
|
self.xml_state.get_initrd_system = Mock(
|
|
return_value='kiwi'
|
|
)
|
|
|
|
def test_boot_image_not_implemented(self):
|
|
self.xml_state.get_initrd_system.return_value = 'foo'
|
|
with raises(KiwiBootImageSetupError):
|
|
BootImage.new(self.xml_state, 'target_dir')
|
|
|
|
@patch('kiwi.boot.image.builtin_kiwi.BootImageKiwi')
|
|
def test_boot_image_task_kiwi(self, mock_kiwi):
|
|
self.xml_state.get_initrd_system.return_value = 'kiwi'
|
|
BootImage.new(self.xml_state, 'target_dir')
|
|
mock_kiwi.assert_called_once_with(
|
|
self.xml_state, 'target_dir', None, None
|
|
)
|
|
|
|
@patch('kiwi.boot.image.dracut.BootImageDracut')
|
|
def test_boot_image_task_dracut(self, mock_dracut):
|
|
self.xml_state.get_initrd_system.return_value = 'dracut'
|
|
BootImage.new(self.xml_state, 'target_dir', 'root_dir')
|
|
mock_dracut.assert_called_once_with(
|
|
self.xml_state, 'target_dir', 'root_dir', None
|
|
)
|