115 lines
4.0 KiB
Python
115 lines
4.0 KiB
Python
import sys
|
|
import mock
|
|
from nose.tools import *
|
|
from mock import patch
|
|
|
|
import kiwi
|
|
|
|
import nose_helper
|
|
|
|
from kiwi.system_create_task import SystemCreateTask
|
|
from kiwi.exceptions import *
|
|
|
|
|
|
class TestSystemCreateTask(object):
|
|
def setup(self):
|
|
sys.argv = [
|
|
sys.argv[0], '--profile', 'vmxFlavour', 'system', 'create',
|
|
'--root', '../data/root-dir', '--target-dir', 'some-target'
|
|
]
|
|
kiwi.system_create_task.Privileges = mock.Mock()
|
|
kiwi.system_create_task.Help = mock.Mock(
|
|
return_value=mock.Mock()
|
|
)
|
|
self.disk = mock.MagicMock()
|
|
kiwi.system_create_task.DiskBuilder = mock.Mock(
|
|
return_value=self.disk
|
|
)
|
|
self.filesystem = mock.MagicMock()
|
|
kiwi.system_create_task.FileSystemBuilder = mock.Mock(
|
|
return_value=self.filesystem
|
|
)
|
|
self.pxe = mock.MagicMock()
|
|
kiwi.system_create_task.PxeBuilder = mock.Mock(
|
|
return_value=self.pxe
|
|
)
|
|
self.result = mock.MagicMock()
|
|
kiwi.system_create_task.Result = mock.Mock(
|
|
return_value=self.result
|
|
)
|
|
self.task = SystemCreateTask()
|
|
|
|
def __init_command_args(self):
|
|
self.task.command_args = {}
|
|
self.task.command_args['help'] = False
|
|
self.task.command_args['create'] = False
|
|
self.task.command_args['--root'] = '../data/root-dir'
|
|
self.task.command_args['--target-dir'] = 'some-target'
|
|
|
|
@patch('kiwi.xml_state.XMLState.get_build_type_name')
|
|
def test_process_system_create_filesystem(self, mock_type):
|
|
mock_type.return_value = 'ext4'
|
|
self.__init_command_args()
|
|
self.task.command_args['create'] = True
|
|
self.task.process()
|
|
self.filesystem.create.assert_called_once_with()
|
|
self.result.print_results.assert_called_once_with()
|
|
|
|
@patch('kiwi.xml_state.XMLState.get_build_type_name')
|
|
def test_process_system_create_disk(self, mock_type):
|
|
mock_type.return_value = 'oem'
|
|
self.__init_command_args()
|
|
self.task.command_args['create'] = True
|
|
self.task.process()
|
|
self.disk.create.assert_called_once_with()
|
|
self.result.print_results.assert_called_once_with()
|
|
|
|
@patch('kiwi.xml_state.XMLState.get_build_type_name')
|
|
@raises(KiwiNotImplementedError)
|
|
def test_process_system_create_live(self, mock_type):
|
|
mock_type.return_value = 'iso'
|
|
self.__init_command_args()
|
|
self.task.command_args['create'] = True
|
|
self.task.process()
|
|
|
|
@patch('kiwi.xml_state.XMLState.get_build_type_name')
|
|
def test_process_system_create_pxe(self, mock_type):
|
|
mock_type.return_value = 'pxe'
|
|
self.__init_command_args()
|
|
self.task.command_args['create'] = True
|
|
self.task.process()
|
|
self.pxe.create.assert_called_once_with()
|
|
|
|
@patch('kiwi.xml_state.XMLState.get_build_type_name')
|
|
@raises(KiwiNotImplementedError)
|
|
def test_process_system_create_archive(self, mock_type):
|
|
mock_type.return_value = 'tbz'
|
|
self.__init_command_args()
|
|
self.task.command_args['create'] = True
|
|
self.task.process()
|
|
|
|
@patch('kiwi.xml_state.XMLState.get_build_type_name')
|
|
@raises(KiwiNotImplementedError)
|
|
def test_process_system_create_container(self, mock_type):
|
|
mock_type.return_value = 'docker'
|
|
self.__init_command_args()
|
|
self.task.command_args['create'] = True
|
|
self.task.process()
|
|
|
|
@raises(KiwiRequestedTypeError)
|
|
@patch('kiwi.xml_state.XMLState.get_build_type_name')
|
|
def test_process_system_create_raise(self, mock_type):
|
|
mock_type.return_value = 'foo'
|
|
self.__init_command_args()
|
|
self.task.command_args['create'] = True
|
|
self.task.process()
|
|
|
|
def test_process_system_create_help(self):
|
|
self.__init_command_args()
|
|
self.task.command_args['help'] = True
|
|
self.task.command_args['create'] = True
|
|
self.task.process()
|
|
self.task.manual.show.assert_called_once_with(
|
|
'kiwi::system::create'
|
|
)
|